Video using the Base Overlay¶
The PYNQ-Z1 board contains a HDMI input port, and a HDMI output port connected to the FPGA fabric of the Zynq chip. This means to use the HDMI ports, HDMI controllers must be included in a hardware library or overlay.
The base overlay contains a HDMI input controller, and a HDMI Output controller, both connected to their corresponding HDMI ports. A frame can be captured from the HDMI input, and streamed into DDR memory. The frames in DDR memory, can be accessed from Python.
A framebuffer can be shared between HDMI in and HDMI out to enable streaming.
Video IO¶
The overlay contains two video controllers, HDMI in and out. Both interfaces can be controlled independently, or used in combination to capture an image from the HDMI, process it, and display it on the HDMI out.
There is also a USB controller connected to the Zynq PS. A webcam can also be used to capture images, or video input, that can be processed and displayed on the HDMI out.
The HDMI video capture controller¶
To use the HDMI in controller, connect the on-board HDMI In port to a valid video source. E.g. your laptop can be used if it has HDMI out. Any HDMI video source can be used up to 1080p.
To use the HDMI in, ensure you have connected a valid HDMI source and execute the next cell. If a valid HDMI source is not detected, the HDMI in controller will timeout with an error.
In [1]:
from pynq import Overlay
from pynq.drivers.video import HDMI
# Download bitstream
Overlay("base.bit").download()
# Initialize HDMI as an input device
hdmi_in = HDMI('in')
The HDMI() argument ‘in’ indicates that the object is in capture mode.
When a valid video input source is connected, the controller should recognize it and start automatically. If a HDMI source is not connected, the code will time-out with an error.
Starting and stopping the controller¶
You can manually start/stop the controller
In [2]:
hdmi_in.start()
In [3]:
hdmi_in.stop()
Readback from the controller¶
To check the state of the controller:
In [4]:
state = hdmi_in.state()
print(state)
2
The state is returned as an integer value, with one of three possible values:
- 0 if disconnected
- 1 if streaming
- 2 if paused
You can also check the width and height of the input source (assuming a source is connected):
In [5]:
hdmi_in.start()
width = hdmi_in.frame_width()
height = hdmi_in.frame_height()
print('HDMI is capturing a video source of resolution {}x{}'\
.format(width,height))
HDMI is capturing a video source of resolution 1920x1080
HDMI Frame list¶
The HDMI object holds a frame list, that can contain up to 3 frames, and is where the controller stores the captured frames. At the object instantiation, the current frame is the one at index 0. You can check at any time which frame index is active:
In [6]:
hdmi_in.frame_index()
Out[6]:
0
The frame_index()
method can also be used to set a new index, if you
specify an argument with the method call. For instance:
In [7]:
index = hdmi_in.frame_index()
hdmi_in.frame_index(index + 1)
This will set the current frame index to the next in the sequence. Note
that, if index
is 2 (the last frame in the list), (index+1)
will
cause an exception.
If you want to set the next frame in the sequence, use:
In [8]:
hdmi_in.frame_index_next()
Out[8]:
2
This will loop through the frame list and it will also return the new index as an integer.
Access the current frame¶
There are two ways to access pixel data: hdmi.frame()
and
hdmi.frame_raw()
.
In [9]:
from IPython.display import Image
frame = hdmi_in.frame()
orig_img_path = '/home/xilinx/jupyter_notebooks/Getting_Started/images/hdmi_in_frame0.jpg'
frame.save_as_jpeg(orig_img_path)
Image(filename=orig_img_path)
Out[9]:
This will dump the frame as a list _frame[height, width][rgb]
. Where
rgb
is a tuple (r,g,b)
. If you want to modify the green
component of a pixel, you can do it as shown below. In the example, the
top left quarter of the image will have the green component increased.
In [10]:
for x in range(int(width/2)):
for y in range(int(height/2)):
(red,green,blue) = frame[x,y]
green = green*2
if(green>255):
green = 255
frame[x,y] = (red, green, blue)
new_img_path = '/home/xilinx/jupyter_notebooks/Getting_Started/images/hdmi_in_frame1.jpg'
frame.save_as_jpeg(new_img_path)
Image(filename=new_img_path)
Out[10]:
This frame() method is a simple way to capture pixel data, but
processing it in Python will be slow. If you want to dump a frame at a
specific index, just pass the index as an argument of the frame()
method:
In [11]:
# dumping frame at index 2
frame = hdmi_in.frame(2)
If higher performance is required, the frame_raw()
method can be
used:
In [12]:
# dumping frame at current index
frame_raw = hdmi_in.frame_raw()
# dumping frame at index 2
frame_raw = hdmi_in.frame_raw(2)
This method will return a fast memory dump of the internal frame list,
as a mono-dimensional list of dimension frame[1920*1080*3]
(This
array is of fixed size regardless of the input source resolution).
1920x1080 is the maximum supported frame dimension and 3 separate values
for each pixel (Blue, Green, Red).
When the resolution is less than 1920x1080, the user must manually extract the correct pixel data.
For example, if the resolution of the video input source is 800x600,
meaningful values will only be in the range frame_raw[1920*i*3]
to
frame_raw[(1920*i + 799)*3]
for each i
(rows) from 0 to 599. Any
other position outside of this range will contain invalid data.
In [13]:
# printing the green component of pixel (0,0)
print(frame_raw[1])
# printing the blue component of pixel (1,399)
print(frame_raw[1920 + 399 + 0])
# printing the red component of the last pixel (599,799)
print(frame_raw[1920*599 + 799 + 2])
175
227
249
Frame Lists¶
To draw or display smooth animations/video, note the following:
Draw a new frame to a frame location not currently in use (an index
different to the current hdmi.frame_index()
) . Once finished writing
the new frame, change the current frame index to the new frame index.
The HDMI out controller¶
Using the HDMI output is similar to using the HDMI input. Connect the HDMI OUT port to a monitor, or other display device.
To instantiate the HDMI controller:
In [14]:
from pynq.drivers import HDMI
hdmi_out = HDMI('out')
For the HDMI controller, you have to start/stop the device explicitly:
In [15]:
hdmi_out.start()
In [16]:
hdmi_out.stop()
To check the state of the controller:
In [17]:
state = hdmi_out.state()
print(state)
0
The state is returned as an integer value, with 2 possible values:
- 0 if stopped
- 1 if running
After initialization, the display resolution is set at the lowest level: 640x480 at 60Hz.
To check the current resolution:
In [18]:
print(hdmi_out.mode())
640x480@60Hz
This will print the current mode as a string. To change the mode, insert a valid index as an argument when calling mode():
In [19]:
hdmi_out.mode(4)
Out[19]:
'1920x1080@60Hz'
Valid resolutions are:
- 0 : 640x480, 60Hz
- 1 : 800x600, 60Hz
- 2 : 1280x720, 60Hz
- 3 : 1280x1024, 60Hz
- 4 : 1920x1080, 60Hz
Input/Output Frame Lists¶
To draw or display smooth animations/video, note the following:
Draw a new frame to a frame location not currently in use (an index
different to the current hdmi.frame_index()
) . Once finished writing
the new frame, change the current frame index to the new frame index.
Streaming from HDMI Input to Output¶
To use the HDMI input and output to capture and display an image, make both the HDMI input and output share the same frame list. The frame list in both cases can be accessed. You can make the two object share the same frame list by a frame list as an argument to the second object’s constructor.
In [20]:
from pynq.drivers.video import HDMI
hdmi_in = HDMI('in')
hdmi_out = HDMI('out', frame_list=hdmi_in.frame_list)
hdmi_out.mode(4)
Out[20]:
'1920x1080@60Hz'
To start the controllers:
In [21]:
hdmi_out.start()
hdmi_in.start()
The last step is always to stop the controllers and delete HDMI objects.
In [22]:
hdmi_out.stop()
hdmi_in.stop()
del hdmi_out
del hdmi_in


{% extends 'projectroles/error/500.html' %} {% load projectroles_common_tags %} {% block content %}
Something went wrong on the server side. We track these errors automatically, but if the problem persists feel free to contact the administration.


Congratulations your finished. Remember to check out the configuration for the correct address assignment! For the overall picture on what to do after you collected your data take a look at pyadlml.


Double click a block of text that you would like to begin reading. A Readsy Widget will appear before it and continue to the end of the content.
You can speed read text from non-web sources by pasting it into this popup on the input tab.
Requiring Alt Key in the options menu will cause Readsy only to appear when you double click with the alt key held.


multi line text can put here
it is not only for us. lorem ipsum dollor amore. or other text here
i am here
another paragraph can set here
it is multiline text
no problem.
Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs. The passage is attributed to an unknown typesetter in the 15th century who is thought to have scrambled parts of Cicero's De Finibus Bonorum et Malorum for use in a type specimen book.
multi line text can put here
it is not only for us. lorem ipsum dollor amore. or other text here
i am here
another paragraph can set here
it is multiline text
no problem.


internet described in Wired magazine, and metaphorical themes are:
Arthur Miller 1996 about metaphors in the creative aspect of science
Truths are a moveable host of metaphors, metonymies, and anthropomorphism; in sort, a sum of human relations , which have been poietically and rhetorically intensified, transferred, and embellished (Nietzsche, in Breazeale 1979)
basically, yes, the internet has metaphors, and they might not really be adequate, but they say something of how we’d like to see things


| Sl.No | APPLIED DATE | APPLIED TYPE | REASON |
|---|---|---|---|
| {{i+1}} | {{pro.appliedDate | date:'dd/MM/yyyy'}} |
Late In
Early Go
|
{{pro.reason}} |


Convert from Caffe to MXNet
How to | Convert from Caffe to MXNet
Key topics covered include the following:
Converting Caffe trained models to MXNet
The converting tool is available at
tools/caffe_converter. On
the remaining of this section, we assume we are on the tools/caffe_converter
directory.
How to build
If Caffe's python package is installed, namely we can run import caffe
in
python, then we are ready to go.
For example, we can used AWS Deep Learning AMI with both Caffe and MXNet installed.
Otherwise we can install the Google protobuf compiler and its python binding. It is easier to install, but may be slower during running.
Install the compiler:
- Linux: install
protobuf-compiler
e.g.sudo apt-get install protobuf-compiler
for Ubuntu andsudo yum install protobuf-compiler
for Redhat/Fedora. - Windows: Download the win32 build of
protobuf. Make sure to
download the version that corresponds to the version of the python binding
on the next step. Extract to any location then add that location to your
PATH
- Mac OS X:
brew install protobuf
- Linux: install
Install the python binding by either
conda install -c conda-forge protobuf
orpip install protobuf
.Compile Caffe proto definition. Run
make
in Linux or Mac OS X, ormake_win32.bat
in Windows
How to use
There are three tools:
convert_symbol.py
: convert Caffe model definition in protobuf into MXNet's Symbol in JSON format.convert_model.py
: convert Caffe model parameters into MXNet's NDArray formatconvert_mean.py
: convert Caffe input mean file into MXNet's NDArray format
In addition, there are two tools:
- convert_caffe_modelzoo.py
: download and convert models from Caffe model
zoo.
- test_converter.py
: test the converted models by checking the prediction
accuracy.
Calling Caffe operators in MXNet
Besides converting Caffe models, MXNet supports calling most Caffe operators, including network layer, data layer, and loss function, directly. It is particularly useful if there are customized operators implemented in Caffe, then we do not need to re-implement them in MXNet.
How to install
This feature requires Caffe. In particular, we need to re-compile Caffe before PR #4527 is merged into Caffe. There are the steps of how to rebuild Caffe:
- Download Caffe. E.g.
git clone https://github.com/BVLC/caffe
- Download the
patch for the MXNet interface
and apply to Caffe. E.g.
bash cd caffe && wget https://github.com/BVLC/caffe/pull/4527.patch && git apply 4527.patch
- Build and install Caffe by following the official guide.
Next we need to compile MXNet with Caffe supports
- Copy
make/config.mk
(for Linux) ormake/osx.mk
(for Mac) into the MXNet root folder asconfig.mk
if you have not done it yet - Open the copied
config.mk
and uncomment these two linesbash CAFFE_PATH = $(HOME)/caffe MXNET_PLUGINS += plugin/caffe/caffe.mk
ModifyCAFFE_PATH
to your Caffe installation, if necessary. - Then build with 8 threads
make clean && make -j8
.
How to use
This Caffe plugin adds three components into MXNet:
sym.CaffeOp
: Caffe neural network layersym.CaffeLoss
: Caffe loss functionsio.CaffeDataIter
: Caffe data layer
Use sym.CaffeOp
The following example shows the definition of a 10 classes multi-layer perceptron:
data = mx.sym.Variable('data')
fc1 = mx.sym.CaffeOp(data_0=data, num_weight=2, name='fc1', prototxt="layer{type:\"InnerProduct\" inner_product_param{num_output: 128} }")
act1 = mx.sym.CaffeOp(data_0=fc1, prototxt="layer{type:\"TanH\"}")
fc2 = mx.sym.CaffeOp(data_0=act1, num_weight=2, name='fc2', prototxt="layer{type:\"InnerProduct\" inner_product_param{num_output: 64} }")
act2 = mx.sym.CaffeOp(data_0=fc2, prototxt="layer{type:\"TanH\"}")
fc3 = mx.sym.CaffeOp(data_0=act2, num_weight=2, name='fc3', prototxt="layer{type:\"InnerProduct\" inner_product_param{num_output: 10}}")
mlp = mx.sym.SoftmaxOutput(data=fc3, name='softmax')
Let's break it down. First, data = mx.sym.Variable('data')
defines a variable
as a placeholder for input. Then, it's fed through Caffe operators with fc1 =
mx.sym.CaffeOp(...)
. CaffeOp
accepts several arguments:
- The inputs to Caffe operators are named as
data_i
for i=0, ..., num_data-1 num_data
is the number of inputs. In default it is 1, and therefore skipped in the above example.num_out
is the number of outputs. In default it is 1 and also skipped.num_weight
is the number of weights (blobs_
). Its default value is 0. We need to explicitly specify it for a non-zero value.prototxt
is the protobuf configuration string.
Use sym.CaffeLoss
Using Caffe loss is similar. We can replace the MXNet loss with Caffe loss. We can replace
Replacing the last line of the above example with the following two lines we can call Caffe loss instead of MXNet loss.
label = mx.sym.Variable('softmax_label')
mlp = mx.sym.CaffeLoss(data=fc3, label=label, grad_scale=1, name='softmax', prototxt="layer{type:\"SoftmaxWithLoss\"}")
Similar to CaffeOp
, CaffeLoss
has arguments num_data
(2 in default) and
num_out
(1 in default). But there are two differences
- Inputs are
data
andlabel
. And we need to explicitly create a variable placeholder for label, which is implicitly done in MXNet loss. grad_scale
is the weight of this loss.
Use io.CaffeDataIter
We can also wrap a Caffe data layer into MXNet's data iterator.


Never worry about what to eat for the entire week again!
How it Works:
Login or sign up | Choose from our list of favorite meals | Input your favorite meals | Look at your list and delete the ones you no longer want | Simply click the Generate button and Feed will generate a 7 day meal plan for you | Enjoy!


Jonathan Bean
Assistant Professor at University.
Department of Computer Science and Engineering.
Education
- PhD (Department of Computer Science)
University3 (2003-2009) - M.S. (Computer Science)
University2 (2001-2003) - B.S. (Computer Science and Engineering)
University1 (1997-2001)


This problem is now better understood. See this post for more details. The work around is implemented in 1.327.
Kohsuke observed a problem to connect to a Windows Hudson slave on several Hudson instances. They have the following symptoms:
- Slave in question is a Windows machine (observed on XP, w2k and w2k3)
- The slave has an SSH daemon of some sort (so far it's only observed with MKS, although we don't know if it's related.)
- The master tries to connect to this Windows via SSH.
- The connection proceeds at least through halfway. You see some activities in the slave log, then it hangs.
- "jstack <PID>" hangs
- Process explorer fails to show the native thread dump in the "threads" tab of the process property dialog.
If your situation fits this description, please add a comment to describe your environment, and try the following work around.
- Specify the JVM options by clicking the "advanced" button in the configuration page of the slave. Set "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=25589" as the JVM option. The port number 25589 can be anything.
- Restart Husdon, just to really make sure that Hudson master is attempting a connection in a clean state.


1. An HTML table:
2. A table is configured with?
3. The element <table>:
4. The element <tr>:
5. The element <td>:
6. Which of the following is an HTML table attribute?
7. Which of the following table elements are not obsolete?
8. When configuring a table:
9. What is the colspan attribute used for?
10. What is the rowspan attribute used for?
11. What would you use a table header element for?
12. With complex tables, it is best to:
13. What is the purpose of using a table on a web page?
14. A zebra stripe table:
15.<tbody> configures:
16. <thead> configures:
17. <tfoot> configures:
18. The table footer can:
19. The HTML attribute align:
20. The HTML attribute bgcolor:
21. The HTML attribute cellpadding:
22. The HTML attribute valign:
23. The HTML attribute cellspacing:
24. Which of the following HTML attributes are obsolete?
25. How many table rows are permitted on a single web page?
Question 1: The correct answer is the Is similar to a spreadsheet composed of rows and columns.
Question 2: The correct answer is All of the above.
Question 3: The correct answer is Contains the table.
Question 4: The correct answer is None of the above.
Question 5: The correct answer is Contains the table cell.
Question 6: The correct answer is Cellpadding.
Question 7: The correct answer is Border.
Question 8: The correct answer is Use CSS to configure most table cell characteristics.
Question 9: The correct answer is To create a solid row that spans the columns.
Question 10: The correct answer is To create a solid column that spans the rows.
Question 11: The correct answer is the All of the above.
Question 12: The correct answer is Associate table cell values with their corresponding headers.
Question 13: The correct answer is Both a and b.
Question 14: The correct answer is None of the above.
Question 15: The correct answer is Table body rows.
Question 16: The correct answer is None of the above.
Question 17: The correct answer is Table footer rows.
Question 18: The correct answer is Tally totals for table cells.
Question 19: The correct answer is Configures the position of the table.
Question 20: The correct answer is Assigns the table a bcakground color.
Question 21: The correct answer is Configures the padding for the cells.
Question 22: The correct answer is None of the above.
Question 23: The correct answer is Configures border spacing.
Question 24: The correct answer is All of the above.
Question 25: The correct answer is There's no limit.
You answered them all right!


Contact Information
Greetings,This is our next level presentation that reviews additional information not found on our public website. Please enter the following information to view this presentation now.
Thank you, ~! agent.name !~
Thank you, ~! owner.name !~


---
layout: main
---
A Mole is a Unit
Crowley, Devin
Feng, Edward
January 21, 2020
If we had a mole of t-shirts, that certainly would be a lot of shirts. But, what would the scale of \(6.02 \times 10^{23}\) shirts really be?
We took a stack of 32 medium sized t-shirts and stacked them up. As seen in Figure 1, this stack measured 4 cm tall. We can thus say that \[\frac{4 \text{ cm}}{32 \text{ t-shirts}} = \frac{1}{8} \text{ cm per t-shirt.}\]
What would happen if we gave every person on Earth 10 shirts? According to the U.S. Census, that would be roughly 7.625 billion people[a]. Doing the math, we see that we’d quickly find ourselves running out, not of shirts, but of people.
We would run out of people on Earth after 76.25 billion shirts, but even then, we’d only be \(\frac{76.25 \text{ billion}}{6.02 \times 10^{23}}\) or \(.000000000013\%\) done with our mission. If we actually wanted to distribute our entire mole of shirts, we would need to get more people. \[ 1 \text{ mol shirts} \times \frac{6.02 \times 10^{23} \text{ shirts}}{1 \text{ mol shirts}} \times \frac{1 \text{ person}}{10 \text{ shirts}} \times \frac{1 \text{ Earth}}{7.625 \times 10^9 \text{ people}}\] \[ \approx 7.90 \times 10^{12} \text{ Earths}\]
This is not just one or two extra Earths of people, but rather almost 8 trillion more planets. For reference, only about 1.3 million Earths can fit into the Sun[b].
If each person on each of the trillions of Earths wanted to stack their 10 shirts in a pile, how tall would the surrounding wardobe need to be? \[ 1 \text{ mol shirts} \times \frac{6.02 \times 10^{23} \text{ shirts}}{1 \text{ mol shirts}} \times \frac{1 \text{ cm}}{8 \text{ shirts}} \times \frac{1 \text{ km}}{1 \times 10^5 \text{ cm}}\] \[ \approx 7.53 \times 10^{17} \text{ kilometers}\]
Pluto, one of the most distant bodies in our solar system, orbits the Sun at \({5.91 \times 10^9}\) km[c]. This is a distance 39.5 times greater than that between the Earth and the Sun. Pluto is so far out that it takes roughly 5.47 light hours for light from the Sun to reach it. \[\frac{7.53 \times 10^{17} \text{ km shirts}}{5.91 \times 10^9 \text{ km to Pluto}} \approx 127 \times 10^8 \text{ (one way) trips}\]
We would need more than 100 million trips from the Sun to Pluto to stack this mole of shirts. Unfortunately, IKEA does not currently offer a wardrobe this big.
The shirts we measured were made of \(100\%\) cotton. Cotton is a mix of several molecules, but it is primarily composed of cellulose[d].
The chemical formula for cellulose is \(\text{C}_{6}\text{H}_{10}\text{O}_{5}\). Listed below are the molar masses of the components of cellulose. \[\begin{aligned} \text{Carbon: } & 12.01 \text{ g/mol} \times 6 = 72.06 \text{ g/mol} \\ \text{Hydrogen: } & 1.01 \text{ g/mol} \times 10 = 10.10 \text{ g/mol} \\ \text{Oxygen: } & 16.00 \text{ g/mol} \times 5 = 80.00 \text{ g/mol}\end{aligned}\]
Thus, cellulose has a molar mass of \(72.06 + 10.10 + 80.00 = 162.16 \text{ g/mol}\).
We took three shirts and weighed them. Based on the data shown in Figure 2, the average mass of one shirt is \[\frac{170.36 \text{g} + 169.68 \text{g} + 156.96 \text{g}}{3} \approx 165.67 \text{g.}\]
We now know enough to say how many shirts one mole of cellulose would make. \[1 \text{ mol cellulose} \times \frac{162.16 \text{ g cellulose}}{1 \text{ mol cellulose}} = 162.16 \text{ g cellulose}\]
One mole of cellulose is 162.16 grams, which is less than the average weight of our shirts, 165.67 grams. This means we would only be able to make \(\frac{162.16}{165.67}\) of a shirt, or \(97.881\%\) of a shirt with a mole of cellulose molecules.
One person counted popcorn kernels in 30 second intervals, for 3 rounds. These results can be seen in Table 1. We counted 32 kernels in the first round. Thus, continuing at the same rate would let us count a mole of popcorn kernels in \({1.79 \times 10^{16}}\) years, as seen below: \[ 1 \text{ mol kernels} \times \frac{6.02 \times 10^{23} \text{ kernels}}{1 \text{ mol kernels}} \times \frac{30 \text{ seconds}}{32 \text{ kernels}} \times \frac{1 \text{ day}}{86400 \text{ seconds}} \times \frac{1 \text{ year}}{365 \text{ days}}\] \[ \approx 1.79 \times 10^{16} \text{ years}\]
We can perform the same calculation on the result of the two other trials, which gives us the following data:
| Trial | # Counted | Time (Years) |
|---|---|---|
| Trial 1 | \(32\) | \(1.79 \times 10^{16}\) |
| Trial 2 | \(33\) | \(1.74 \times 10^{16}\) |
| Trial 3 | \(29\) | \(1.97 \times 10^{16}\) |
| Average | \(31 \frac{1}{3}\) | \(1.83 \times 10^{16}\) |
We measured three batches of one dozen popcorn kernels. These results can be seen in Table 2. The first dozen weighed 2.02 grams. Based on this, we can calculate the mass of a mole of kernels. \[\frac{2.02 \text{ g}}{12 \text{ kernels}} \times \frac{6.02 \times 10^{23} \text{ kernels}}{1 \text{ mol kernels}} \approx 1.01 \times 10^{23} \text{ grams per mol}\]
We can repeat this calculation for the other trials, just like we did for counting a mole of kernels:
| Trial | Weight (g) | Molar Mass (g/mol) |
|---|---|---|
| Trial 1 | \(2.02\) | \(1.01 \times 10^{23}\) |
| Trial 2 | \(2.13\) | \(1.06 \times 10^{23}\) |
| Trial 3 | \(1.84\) | \(9.23 \times 10^{22}\) |
| Average | \(2.00\) | \(1.00 \times 10^{23}\) |
https://www.census.gov/popclock/, retrieved January 18, 2020 ↩
http://coolcosmos.ipac.caltech.edu/ask/5-How-large-is-the-Sun-compared-to-Earth- ↩
https://nssdc.gsfc.nasa.gov/planetary/factsheet/plutofact.html ↩
https://www.cottoninc.com/quality-products/nonwovens/cotton-fiber-tech-guide/cotton-morphology-and-chemistry/ ↩


Model TrainingTrain machine learning models |
|
|---|---|
Machine Learn |
|
Identify the best performing model by tuning hyperparameters via cross-validation |
|
Train models without tuning for performance |
|
Plot performance of models |
|
Make predictions |
|
Make predictions using the best-performing model from tuning |
|
Plot model predictions vs observed outcomes |
|
Data Preparation |
|
Prepare data for machine learning |
|
Pivot from a long data frame to a wide data frame |
|
Data Profiling |
|
Percent of entries in each column that are missing |
|
Connect to Databases |
|
Build a connection string for use with MSSQL and dbConnect |
|
Everything ElseIs still to be added. Possibly automatically |


현재 사용된 템플릿 예제는 PureCSS 를 기반으로 만들어져 있습니다.
CSS with a minimal footprint.
Pure is ridiculously tiny. The entire set of modules clocks in at 4.0KB* minified and gzipped. Crafted with mobile devices in mind, it was important to us to keep our file sizes small, and every line of CSS was carefully considered. If you decide to only use a subset of these modules, you'll save even more bytes.
* We can add correctly :) the numbers above are individual module sizes; when grouped together they compress (gzip) even more.
Your CSS foundation.
Pure builds on Normalize.css and provides layout and styling for native HTML elements, plus the most common UI components. It's what you need, without the cruft.
Made with mobile in mind.
Pure is responsive out of the box, so elements look great on all screen sizes.
Stays out of your way.
Pure has minimal styles and encourages you to write your application styles on top of it. It's designed to get out of your way and makes it easy to override styles.


2 Samuel 3:37
For all the people and all Israel understood that day that it was not of the king to slay Abner the son of Ner.


Where is GameStop?
Gamestop is
Altitude: $
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Mission Control
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
This page was made by:
Yinglai Yang, {Your name could be here. --> GitHub}
If you would like to support the operating cost of this page, you can buy me a coffee:
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Ideas and feedback welcome in GitHub, Twitter or by Email: yinglai_at_yangminded.com.
Feature Backlog
- A section for the sentiment on GME as indicated by options if anyone knows how to or teaches me, lol.
- Replace the current price update (every 2min) to real-time data. Needs 🍗 though. Real-time data with unlimited API calls costs $199 a month at Polygon.io. Other ideas?


VADER sentiment scores for top 10 cities
Athens, Greece
For the sentiment prediction we utilized a pretrainedmodel from NLTK library called Vader. Each review is as-signed a score in the range [-1, 1], where positive reviews areassigned a positive number that varies according to the in-tensity of the emotion.
On the other hand, negative reviews are assigned a negative number that also varies according tothe intensity of the emotion.In order to better illustrate the sentiment scores for each location we plotted histograms for each location containing the distribution of scores and their frequencies. The scores are distributed in 4 bins so asto provide a more cohesive interpretation


reStructuredText Cheat Sheet
Version 0.9
reStructuredText (ReST) Cheat Sheet
ReST Quick Reference.
Copyright 2020 GHWorks, LLC
Community
GitHub


Cookies are read and written through ActionController#cookies.
The cookies being read are the ones received along with the request, the cookies being written will be sent out with the response. Reading a cookie does not get the cookie object itself back, just the value it holds.
Examples for writing:
# Sets a simple session cookie. cookies[:user_name] = "david" # Sets a cookie that expires in 1 hour. cookies[:login] = { :value => "XJ-122", :expires => 1.hour.from_now }
Examples for reading:
cookies[:user_name] # => "david" cookies.size # => 2
Example for deleting:
cookies.delete :user_name
Please note that if you specify a :domain when setting a cookie, you must also specify the domain when deleting the cookie:
cookies[:key] = { :value => 'a yummy cookie', :expires => 1.year.from_now, :domain => 'domain.com' } cookies.delete(:key, :domain => 'domain.com')
The option symbols for setting cookies are:
- :value - The cookie‘s value or list of values (as an array).
- :path - The path for which this cookie applies. Defaults to the root of the application.
- :domain - The domain for which this cookie applies.
- :expires - The time at which this cookie expires, as a Time object.
- :secure - Whether this cookie is a only transmitted to HTTPS servers. Default is false.
- :httponly - Whether this cookie is accessible via scripting or only HTTP. Defaults to false.
Methods
Public Class methods
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/cookies.rb, line 47 47: def self.included(base) 48: base.helper_method :cookies 49: end
Protected Instance methods
Returns the cookie container, which operates as described above.
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/cookies.rb, line 53 53: def cookies 54: CookieJar.new(self) 55: end


Andre Weiner, Flow
Modeling and Control Group
Technical University of Braunschweig, Institute of Fluid Mechanics
Goal: understand when to use supervised ML
Just enough to get you started ...
| Feature 1 $Re$ | Feature 2 $\alpha$ | ... | Label 1 $c_d$ | Label 2 regime |
|---|---|---|---|---|
| 334 | 2 | ... | 0.123 | laminar |
| 334 | 4 | ... | 0.284 | laminar |
| 12004 | 2 | ... | 0.573 | turbulent |
| 12004 | 4 | ... | 0.834 | turbulent |
| ... | ... | ... | ... | ... |
Image source: Kitware Inc., Flickr
Learning based on features and labels
Creating a transport model $\mu (T)$ based on experimental data ...
Creating a wall function to for the turbulent viscosity in RANS simulations ...
Impact behavior of a droplet on a surface ...
Predict the stability regime of a rising bubble ...
$N$ samples of $N_f$ features and $N_l$ labels
| $i$ | $x_{1}$ | ... | $x_{N_f}$ | $y_{1}$ | ... | $y_{N_l}$ |
|---|---|---|---|---|---|---|
| 1 | 0.1 | ... | 0.6 | 0.5 | ... | 0.2 |
| ... | ... | ... | ... | ... | ... | ... |
| $N$ | 1.0 | ... | 0.7 | 0.4 | ... | 0.2 |
ML models often map multiple inputs to multiple outputs!
$$ \mathrm{x} = \left[x_{1}, x_{2}, ..., x_{N_f}\right]^T $$ $\mathrm{x}$ - column vector of length $N_f$
$$ \mathrm{X} = \left[\mathrm{x}_{1}, \mathrm{x}_{2}, ..., \mathrm{x}_{N_f}\right] $$ $\mathrm{X}$ - matrix with $N_s$ rows and $N_f$ columns
$$ \mathrm{y} = \left[y_{1}, y_{2}, ..., y_{N_l}\right]^T $$ $\mathrm{y}$ - column vector of length $N_l$
$$ \mathrm{Y} = \left[\mathrm{y}_{1}, \mathrm{y}_{2}, ..., \mathrm{y}_{N_l}\right] $$ $\mathrm{Y}$ - matrix with $N_s$ rows and $N_l$ columns
In the artificial dataset from before ($Re$, $\alpha$, $c_d$, regime), what is the value of $N_f$ if we use all available features?
In the artificial dataset from before ($Re$, $\alpha$, $c_d$, regime), what is the value of $N_l$?
$$ f_\mathrm{w} : \mathbb{R}^{N_f} \rightarrow \mathbb{R}^{N_l} $$ $f_\mathrm{w}$ - ML model with weights $\mathrm{w}$ mapping from the feature space $\mathbb{R}^{N_f}$ to the label space $\mathbb{R}^{N_l}$ $$ \hat{\mathrm{y}} = f_\mathrm{w}(x_1, x_2, ..., x_{N_f}) $$ $\hat{\mathrm{y}}$ - (model) prediction
Source: M. K. Tripathi et al. 2015, figure 1.
assuming the decision boundary were created manually, e.g., using a graphical tool (Gimp, Inkscape, Photoshop, ...)
$ Ga^\prime = log(Ga) $, $ Eo^\prime = log(Eo) $
$$ z(Ga^\prime, Eo^\prime) = w_1Ga^\prime + w_2Eo^\prime + b $$
$$ H(z (Ga^\prime, Eo^\prime)) = \left\{\begin{array}{lr} 0, & \text{if } z \leq 0\\ 1, & \text{if } z \gt 0 \end{array}\right. $$
Play with the sliders in the Jupyter notebook!
Linearly weighted inputs $$ z_i=z(\mathrm{x}_i)=\sum\limits_{j=1}^{N_f}w_jx_{ij} $$
with $$ \mathrm{x}_i = \left[ Ga^\prime_i, Eo^\prime_i, 1 \right],\quad \mathrm{w} = \left[ w_1, w_2, b \right]^T $$
True label: $$ y_i = \left\{\begin{array}{lr} 0, & \text{for region I }\\ 1, & \text{for region II} \end{array}\right. $$
Predicted label: $$ \hat{y}_i = H(z_i) = \left\{\begin{array}{lr} 0, & \text{if } z_i \leq 0\\ 1, & \text{if } z_i \gt 0 \end{array}\right. $$
Loss function $$ L(\mathrm{w}) = \frac{1}{2}\sum\limits_{i=1}^N \left(y_i - \hat{y}_i(\mathrm{x}_i,\mathrm{w}) \right)^2 $$
The term in parenthesis can take the values
$1$, $0$, or $-1$.
Simple update rule for the weights $$ \mathrm{w}^{n+1} = \mathrm{w}^n - \eta \frac{\partial L(\mathrm{w})}{\partial \mathrm{w}} = \begin{pmatrix}w_1^n\\ w_2^n\\ b^n \end{pmatrix} + \eta \sum\limits_{i=1}^N \left(y_i - \hat{y}_i(\mathrm{x}_i,\mathrm{w}^n) \right) \begin{pmatrix}Ga^\prime_i\\ Eo^\prime_i\\ 1 \end{pmatrix} $$
$n$ - current iteration, $\eta$ - learning rate
performing gradient decent for some iterations ...
the result ...
Guaranteed convergence (zero loss)?
speak: probability $p$ of the event $y=1$ given $\mathrm{x}$
$$ \hat{y} = f_\mathrm{w}(\mathrm{x}) = p(y=1 | \mathrm{x})$$model predicts class probability instead of class!
What is the expected value of $p(y=1 | \mathrm{x})$ for points far in region II?
What is the expected value of $p(y=1 | \mathrm{x})$ for points far in region I?
What is the expected value of $p(y=1 | \mathrm{x})$ for points close to the decision boundary?
What is the expected value of $p(y=0 | \mathrm{x})$ for points far in region I?
How to convert $z(\mathrm{x})$ to a probability?
sigmoid function $\sigma (z) = \frac{1}{1+e^{-z}}$
based on the perceptron classifier's weights ...
principle of maximum likelihood
$$ \mathrm{w}^* = \underset{\mathrm{w}}{\mathrm{argmax}}\ l(\mathrm{w}). $$Which of the following is equivalent to $l(\mathrm{w}) = \prod\limits_i^{N} p_i(y_i | \mathrm{x}_i, \mathrm{w})$?
$$ \mathrm{log}(l(\mathrm{w})) = \sum\limits_{i=1}^N y_i \mathrm{ln}(\hat{y}_i) + (1-y_i) \mathrm{ln}(1-\hat{y}_i) $$
$$ L(\mathrm{w}) = -\frac{1}{N}\sum\limits_{i=1}^N y_i \mathrm{ln}(\hat{y}_i) + (1-y_i) \mathrm{ln}(1-\hat{y}_i) $$
performing gradient decent for some iterations ...
the result ...
Next step: separating region I from region II and III
First: two linear models
Recipe to combine the two linear models:
combined linear models
What is the length of the label vector if we have 10 classes (regimes)?
What does the label vector look like if we have 4 classes and the true label is class 3 / regime 3?
Softmax function and categorical cross entropy for $K$ classes:
$$ p(y_{j}=1 | \mathrm{x}) = \frac{e^{z_{j}}}{\sum_{j=0}^{K-1} e^{z_{j}}} $$
$$ L(\mathrm{w}) = -\frac{1}{N} \sum\limits_{j=0}^{K-1}\sum\limits_{i=1}^{N} y_{ij} \mathrm{ln}\left( \hat{y}_{ij} \right) $$
class PyTorchClassifier(nn.Module):
'''Multi-layer perceptron with 3 hidden layers.
'''
def __init__(self, n_features=2, n_classes=5, n_neurons=60, activation=torch.sigmoid):
super().__init__()
self.activation = activation
self.layer_1 = nn.Linear(n_features, n_neurons)
self.layer_2 = nn.Linear(n_neurons, n_neurons)
self.layer_3 = nn.Linear(n_neurons, n_classes)
def forward(self, x):
x = self.activation(self.layer_1(x))
x = self.activation(self.layer_2(x))
return F.log_softmax(self.layer_3(x), dim=1)
Hurray!
Where to go from here?


Gas leak didn’t spark fatal explosion in Chattogram house, says Karnaphuli inquiry
by bdnews24.comThe explosion that knocked down parts of a building in Chattogram’s Patharghata, killing seven people in the process, was not triggered by a leak in the gas line, an investigation has found.
Karnaphuli Gas Distribution Company Limited or KGDCL Managing Director Khaiz Ahmed Mozumder disclosed the findings to bdnews24.com on Monday.
“We found that the gas line, riser and stove in the house were intact. There was no problem in the kitchen either. So, we’re sure the accident was not caused by a gas leak.”
At least 10 people were also injured in the explosion which occurred on the ground floor of a four-storey building in Patharghata’s Brick Field Road early on Sunday.
Sandhya Nath, a resident on the ground floor of the building, said the explosion happened when a matchstick was lit in a prayer room. His niece Arpita Nath was injured in the blast.
The KGDCL later formed a four-strong committee headed by General Manager (Engineering and Services) Sarwar Hossain to investigate the explosion. The committee submitted the probe report later on Sunday.
“If the explosion was triggered by a gas leak, there would have been a huge fire, but that was not the case. We learned that tea was made in the kitchen stove in the morning,” Sarwar told bdnews24.com.
The district administration and the Chattogram Metropolitan Police have also formed two separate committees to probe the fatal explosion.
"We are also working together with the other probe panels to widen the scope of the investigation,” said Mozumder.
A case over the incident has been filed at a local police station, claiming damages for negligent death.
Shahina Akter, the wife of a rickshaw-puller who died in the blast, started the case on Monday, said Kotwali Police OC Mohammad Mohsin.
However, the OC did not reveal the names of the accused citing an ongoing investigation into the incident.
But some police officers indicated the case implicates the two brothers who own the building.


N Knight
问题描述 :
Chess is played on a square board of eight rows and eight columns and denoted with letters a to h of squares. The colors of the sixty-four squares alternate and are referred to as "light squares" and "dark squares". The chessboard is placed with a light square at the right hand end of the rank nearest to each player, and the pieces are set out as shown in the diagram, with each queen on its own color.
The pieces are divided, by convention, into white and black sets. The players are referred to as "White" and "Black", and each begins the game with sixteen pieces of the specified color. These consist of one king, one queen, two rooks, two bishops, two knights and eight pawns.
Now we have another way to play with the chessboard. Give you a N*N chessboard, and ask you to place N knights on it. But the knights can’t attack each other (one knight can attack other chessman in the same row or in the column). And what’s more, no more than M knights are permissible to put on the reverse diagonal (the black grids as following picture). Now ask you how many different ways you can place this N Knight.
输入:
输出:
样例输入:
1 1
样例输出:
1
没毛病 人和板的相对速度0 板和地的相对速度是他俩的事 跟人没关系
没毛病 人和板的相对速度0 板和地的相对速度是他俩的事 跟人没关系
正解，应该是200！
这道题目重复了，删掉一个吧
遍历了所有的情况(2^n)，tmp数组就是由当前遍历的状态s推算出的
理解错了。。。。。谢谢楼主~~
从数学角度确实是C(n,r)，能给个递推关系式吗，从分治的角度不好理解
不错，赞一个！
第二个解法好像不对
大哥，你复制也看看是不是这题的答案才复制吧。
必须试过啊
很给力啊，学习了
约瑟夫也用说这么长……很成熟的一个问题了，分治的方法解起来o(n)就可以了，有兴趣可以看看具体数学的第一章，关于约瑟夫问题推导出了一系列的结论，很漂亮
very good solutions.
都是一些基础题啊


For each of the supported compression formats there is a correspondig resource that wraps around another resource providing compression or decompression on the fly. A single element resource collection must be specified as a nested element.
Resources for the formats that support files holding multiple compressed streams (bzip2, gzip, lz4 and xz) support a boolean attribute decompressConcatenated. If set to true all streams will be concatenated and treated as a single resource. With the default value false only the first stream is uncompressed.
This is a compressed resource using the Brotli compression.
Since Compress Antlib 1.5
<cmp:tarentry xmlns:cmp="antlib:org.apache.ant.compress" name="some-file.txt"> <cmp:brotliresource> <file file="some-archive.tar.br"/> </cmp:brotliresource> </cmp:tarentry>
Represents the entry named some-file.txt in archive
some-archive.tar.br where the brotliresource
provides
the decompression of the archive.
This is a compressed resource using the BZIP2 compression.
This resource supports the decompressConcatenated attribute.
<cmp:tarentry xmlns:cmp="antlib:org.apache.ant.compress" name="some-file.txt"> <cmp:bzip2resource> <file file="some-archive.tar.bz2"/> </cmp:bzip2resource> </cmp:tarentry>
Represents the entry named some-file.txt in archive
some-archive.tar.bz2 where the bzip2resource
provides
the decompression of the archive.
Since Apache Compress Antlib 1.5.
This is a compressed resource using the DEFLATE compression.
This resource supports the following additional attributes:
| Attribute | Description | Required |
| zlibheader | Whether to write or expect ZLIB headers. Unfortunately it is currently not possible to detect whether zlib headers have been used when reading. | No, defaults to true |
Since Apache Compress Antlib 1.6.
This is a compressed resource using the DEFLATE64 compression.
This is a compressed resource using the GZIP compression.
This resource supports the decompressConcatenated attribute.
<cmp:tarentry xmlns:cmp="antlib:org.apache.ant.compress" name="some-file.txt"> <cmp:gzipresource> <file file="some-archive.tar.gz"/> </cmp:gzipresource> </cmp:tarentry>
Represents the entry named some-file.txt in archive
some-archive.tar.gz where the gzipresource
provides
the decompression of the archive.
Since Apache Compress Antlib 1.5.
This is a compressed resource using the LZ4 compression.
This resource supports the decompressConcatenated attribute if the frame format is used.
In addition to the attributes supported by all uncompressing resources this resource also supports.
| Attribute | Description | Required |
| framed | Whether the input is expected to use the frame format. | No, defaults to true. |
<cmp:tarentry xmlns:cmp="antlib:org.apache.ant.compress" name="some-file.txt"> <cmp:lz4resource> <file file="some-archive.tar.lz4"/> </cmp:lz4resource> </cmp:tarentry>
Represents the entry named some-file.txt in archive
some-archive.tar.lz4 where the lz4resource
provides
the decompression of the archive.
Since Apache Compress Antlib 1.3.
This is a compressed resource using the LZMA compression.
<cmp:tarentry xmlns:cmp="antlib:org.apache.ant.compress" name="some-file.txt"> <cmp:lzmaresource> <file file="some-archive.tar.lzma"/> </cmp:lzmaresource> </cmp:tarentry>
Represents the entry named some-file.txt in archive
some-archive.tar.lzma where the lzmaresource
provides
the decompression of the archive.
This is a compressed resource using the Pack200 compression.
<cmp:zipentry xmlns:cmp="antlib:org.apache.ant.compress" name="SomeFile.class"> <cmp:pack200resource> <file file="some-archive.pack"/> </cmp:pack200resource> </cmp:zipentry>
Represents the entry named Somefile.class in the Pack200 compressed
JAR some-archive.pack where the pack200resource
provides the decompression of the archive.
Since Apache Compress Antlib 1.4.
This is a compressed resource using the Snappy compression.
In addition to the attributes supported by all uncompressing resources this resource also supports.
| Attribute | Description | Required |
| framed | Whether the input is expected to use the framing format. | No, defaults to true. |
<cmp:tarentry xmlns:cmp="antlib:org.apache.ant.compress" name="some-file.txt"> <cmp:snappyresource> <file file="some-archive.tar.sz"/> </cmp:snappyresource> </cmp:tarentry>
Represents the entry named some-file.txt in archive
some-archive.tar.sz where the snappyresource
provides
the decompression of the archive.
This is a compressed resource using the XZ compression.
This resource supports the decompressConcatenated attribute.
<cmp:tarentry xmlns:cmp="antlib:org.apache.ant.compress" name="some-file.txt"> <cmp:xzresource> <file file="some-archive.tar.xz"/> </cmp:xzresource> </cmp:tarentry>
Represents the entry named some-file.txt in archive
some-archive.tar.xz where the xzresource
provides
the decompression of the archive.
Since Apache Compress Antlib 1.4.
This is a compressed resource using the traditional Unix compress (.Z) compression.
<cmp:tarentry xmlns:cmp="antlib:org.apache.ant.compress" name="some-file.txt"> <cmp:zresource> <file file="some-archive.tar.Z"/> </cmp:zresource> </cmp:tarentry>
Represents the entry named some-file.txt in archive
some-archive.tar.Z where the zresource
provides
the decompression of the archive.
Since Apache Compress Antlib 1.6.
This is a compressed resource using Zstandard compression.
<cmp:tarentry xmlns:cmp="antlib:org.apache.ant.compress" name="some-file.txt"> <cmp:zstdresource> <file file="some-archive.tar.zstd"/> </cmp:zstdresource> </cmp:tarentry>
Represents the entry named some-file.txt in archive
some-archive.tar.zstd where the zstdresource
provides
the decompression of the archive.


--- title: "Useful Resources - Website Management" lastmod: 2019-03-06T00:00:00.000Z draft: false type: docs maths: true linktitle: "Useful Resources - Website Management" menu: docs: parent: Website Management weight: 200 ---
Useful resoruces for website management:
Stackoverflow should also be an early stop for a problem.
The Blogdown site has great documentation (this site is geared towards RMarkdown and RStudio)


Pitchfork Emporium
Premium source of anti-OP wares
Your cart (0)
add to cart
clear
checkout
JS Disabled
JavaScript disabled
JavaScript disabled
JavaScript disabled
JavaScript disabled
Price
JS disabled
Model
JS disabled
Length
JS disabled
Weight
JS disabled
Warranty
JS disabled
Country
JS disabled
Items
JS disabled
Total
JS disabled
-
Add to cart


--- layout: post title: gfxCardStatus v1.7.5! Bugfixes, mode remembering upon startup. published: true comments: true ---
You may have noticed v1.7.5 has been released! Included are some bugfixes (namely the one where the GPU would sometimes switch back to the 330M after all dependent apps had quit while on Intel Only mode), and the ability to have it recall the last mode you used before quitting on startup. A full list of changes is available here.
If you haven't already downloaded it, you can go get it here!
As usual, please leave a comment on this post or drop me a line with any comments, concerns or questions. My email address is cody [at] codykrieger [dot] com.
Thanks!
ck


Upload your sound and text file with the file dialog or by dragging and dropping images onto the dashed region


Some stats
{{totalTime}}
minutes total
{{hoursAttended}}
minutes attended
{{attendancePercentage}} % attendance (minutes)
% attendance (lessons)
% attendance (lessons extrapolated)
more classes to skip
Lessons Listing
Total of {{lessons.length}} lessons
Filter past
Sort by
date
Subject
Date
Time
Lecture
Tutorial
Lab
{{lesson.subject}}
{{lesson.date | date : 'd/M/yy' }}
{{lesson.startTime}} - {{lesson.endTime}}
Mark


--- title: "{{ replace .Name "-" " " | title }}" date: {{ .Date }} draft: true --- {{ replace .Name "-" " " | title }} Content


HONEY, I BLEW UP THE KID A film review by Mark R. Leeper Copyright 1992 Mark R. Leeper
Capsule review: Silly but undeniably enjoyable satire on 1950s science fiction films has the Szalinski family accidentally enlarging their baby to Brobdingnagian proportions. Somewhat better than it really deserves to ne Rating: +1 (-4 to +4). (Relevant diatribe follows the review!)
At the current rate I would expect by the turn of the century the film industry will have churned out more take-offs, pastiches, and satires of 1950s science fiction films than there were science fiction films made in the 1950s. None have ever seemed very good to me, but HONEY, I BLEW UP THE KID is at least more light-hearted than most. (Of course, the title may sound less good-natured than intended, but all the ads make sure everybody knows in just what sense "blew up" is intended.) This is, of course, the sequel to HONEY, I SHRUNK THE KIDS, and though HONEY, I BLEW UP THE KID began life as a script for an unrelated film BIG BABY, it was worked into a sequel for the previous film. Actually, it was to have been much the same plot as THE AMAZING COLOSSAL MAN with a baby. Echoes of that film still abound in the script.
In the years since the last film, a typical soulless corporation has taken over Wayne Szalinski's scale-bending projects and is trying to magnify and reduce objects without much luck. Rick Moranis as Wayne continues not to get much respect in spite of being the genius behind it all. Still, it is only Wayne that can make things work and even he cannot do exactly what he wants. What he accidentally creates is a two-and-a-half-year-old Adam Szalinski who grows when he passes through electromagnetic flux. (Conservation of matter? What's that all about?) We end up with a ten- story baby clomping his way through Las Vegas--even the same streets that Glenn Manning, the COLOSSAL MAN, walked. This giant, however, is not shot off of Boulder/Hoover Dam. There is only a poster of the dam to remind us of the original. Incidentally, as well all know, any satire of 1950s science fiction has to have a small role for either Kenneth Tobey or Dick Miller. This time it's Tobey's turn, with him playing a security guard.
Standards for special effects have come a long way since THE AMAZING COLOSSAL MAN (special effects in Bert. I. Gordon films were always particularly bad!). While in HONEY, I BLEW UP THE KID it rarely is difficult to tell how an effect was created, there are only a few effects that genuinely look wrong. The only really bad effect that I noted was a full-size model of a baby chest and arm in the background. The arm just does not move as wildly as it does in the surrounding scenes. Kudos should go to the "Baby Wranglers" listed in the credits, since Adam (played by Daniel and Joshua Shalikas) seems always to do exactly the right thing at the right time. And it is true that the fictional Adam and the real life Shalikas all seem to be extraordinarily well-behaved.
My rating for this light-hearted piece of summer fluff is +1 on the -4 to +4 scale.
... Diatribe follows.
I noted with some disappointment that the credits of HONEY, I BLEW UP THE KID acknowledge similarities to the story "The Attack of the Giant Baby" by Kit Reed. CINEFANTASTIQUE reports that after Reed saw a promo for the film she took the Disney organization to court over similarities to her story. Actually the Reed story concentrates on the nastier aspects of babies and shows them magnified. If, indeed, Reed thinks she invented and owns the idea of over-size babies getting loose and causing problems in her 1981 story, I might suggest that she read (or re-read) the 1904 novel THE FOOD OF THE GODS by H. G. Wells. The mechanism for creating the giant baby is in the realm of physics in the new movie. Reed's mechanism is nearly identical to Wells's. That is, she has the baby eat a food with fantastic growth properties. I seriously doubt that the Wells estate has taken Reed to court, and I can tell you for a fact that her story bears no similar acknowledgement to Wells. Science fiction has been in the past a field where people could feel free to play with others' ideas and put new twists on them. But I suppose as long as some people in the field have deep pockets and other people have greed, that can no longer be the case. Be it here noted that the concept of giant babies causing problems has somehow been transferred from the Wells estate to Reed. Presumably the concept of time travel is still the property of the Wells estate. David Brin probably owes royalties on uplift to either Wells for THE ISLAND OF DR. MOREAU or Nigel Kneale for QUATERMASS AND THE PIT. Invisibility and alien invasion again revert to the Wells estate who effectively own a controlling interest in modern science fiction. So it goes.
Mark R. Leeper att!mtgzy!leeper<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Reference view model.
More...
#import <ReferenceModel.h>
Reference view model.
Generate the various reference assets to which the User has access.
- See also
- ReferenceListViewController
- Author
- Copyright 2012 Team Axe, LLC. All rights reserved. http://www.teamaxe.org
- Date
- 08/16/2012
◆ initWithModelManager:andDefaults:andUserCollection:
| - (id) initWithModelManager: |
|
(ModelManager *) |
modelManager |
| andDefaults: |
|
(NSUserDefaults *) |
prefs |
| andUserCollection: |
|
(NSArray *) |
userCollection |
|
|
| |
Builds model with dependency injection.
- Parameters
-
| modelManager | ModelManager for either production or testing |
| prefs | NSUserDefaults for dependency injection |
| userCollection | NSArray of currently owned objects for comparison |
- Returns
- id ReferenceModel
◆ selectReference:
| - (void) selectReference: |
|
(NSString *) |
referenceKey |
|
Retrieve reference for display.
Implementation: Retrieve a requested reference and set NSUserDefaults for Reference*ViewControllers to read.
- Parameters
-
| referenceKey | NSString of requested pkey |
◆ details
◆ endYears
when the reference ceased to be/died
◆ hasLink
Determine if Reference Type has URLs.
◆ hasQuote
Determine if Reference Type has quotes.
◆ icons
◆ links
◆ longDescriptions
| - (NSArray*) longDescriptions |
|
readnonatomicstrong |
long description of Reference
◆ orientations
| - (NSArray*) orientations |
|
readnonatomicstrong |
◆ originLocations
| - (NSArray*) originLocations |
|
readnonatomicstrong |
◆ originYears
when the reference was created/born
◆ quotes
◆ referenceKey
| - (NSString*) referenceKey |
|
readwritenonatomicstrong |
◆ referenceKeys
| - (NSArray*) referenceKeys |
|
readnonatomicstrong |
◆ references
◆ referenceType
◆ relatedMorals
| - (NSArray*) relatedMorals |
|
readnonatomicstrong |
◆ title
The documentation for this class was generated from the following files:
- /Users/adamaxe/Workspace/projects/teamaxe/code/moralife/Classes/Model/ViewModel/ReferenceModel.h
- /Users/adamaxe/Workspace/projects/teamaxe/code/moralife/Classes/Model/ViewModel/ReferenceModel.m


Dear
Someone has request user password reset on your account. click here .
Alternatively, you can copy-paste the following link in your browser
{{ url_for('auth.reset_password', token=token, _external=True) }}
If you have not requested a password reset please ignore this message.
Sincerely,
Application team


QSurface Class
The QSurface class is an abstraction of renderable surfaces in Qt. More...
| Header: | #include <QSurface> |
| qmake: | QT += gui |
| Since: | Qt 5.0 |
| Inherited By: |
Public Types
| enum | SurfaceClass { Window, Offscreen } |
| enum | SurfaceType { RasterSurface, OpenGLSurface, RasterGLSurface, OpenVGSurface } |
Public Functions
| virtual | ~QSurface() |
| virtual QSurfaceFormat | format() const = 0 |
| virtual QSize | size() const = 0 |
| bool | supportsOpenGL() const |
| SurfaceClass | surfaceClass() const |
| virtual QPlatformSurface * | surfaceHandle() const = 0 |
| virtual SurfaceType | surfaceType() const = 0 |
Protected Functions
| QSurface(SurfaceClass type) |
Detailed Description
The QSurface class is an abstraction of renderable surfaces in Qt.
The size of the surface is accessible with the size() function. The rendering specific attributes of the surface are accessible through the format() function.
Member Type Documentation
enum QSurface::SurfaceClass
The SurfaceClass enum describes the actual subclass of the surface.
| Constant | Value | Description |
|---|---|---|
QSurface::Window | 0 | The surface is an instance of QWindow. |
QSurface::Offscreen | 1 | The surface is an instance of QOffscreenSurface. |
enum QSurface::SurfaceType
The SurfaceType enum describes what type of surface this is.
| Constant | Value | Description |
|---|---|---|
QSurface::RasterSurface | 0 | The surface is is composed of pixels and can be rendered to using a software rasterizer like Qt's raster paint engine. |
QSurface::OpenGLSurface | 1 | The surface is an OpenGL compatible surface and can be used in conjunction with QOpenGLContext. |
QSurface::RasterGLSurface | 2 | The surface can be rendered to using a software rasterizer, and also supports OpenGL. This surface type is intended for internal Qt use, and requires the use of private API. |
QSurface::OpenVGSurface | 3 | The surface is an OpenVG compatible surface and can be used in conjunction with OpenVG contexts. |
Member Function Documentation
[protected]
QSurface::QSurface(SurfaceClass type)
Creates a surface with the given type.
[virtual]
QSurface::~QSurface()
Destroys the surface.
[pure virtual]
QSurfaceFormat QSurface::format() const
Returns the format of the surface.
[pure virtual]
QSize QSurface::size() const
Returns the size of the surface in pixels.
bool QSurface::supportsOpenGL() const
Returns true if the surface is OpenGL compatible and can be used in conjunction with QOpenGLContext; otherwise returns false.
This function was introduced in Qt 5.3.
SurfaceClass QSurface::surfaceClass() const
Returns the surface class of this surface.
[pure virtual]
QPlatformSurface *QSurface::surfaceHandle() const
Returns a handle to the platform-specific implementation of the surface.
[pure virtual]
SurfaceType QSurface::surfaceType() const
Returns the type of the surface.


Webstorm Tutorial
F-Layout: The F-Pattern is a simple layout designed to guide a user's eye to information that you want them to see based on engrained human behavior.
Z-Layout: Z-Pattern design traces the route the human eye travels when they read — left to right, top to bottom: First, people scan from the top left to the top right, forming an imaginary horizontal line. Next, down and to the left side of the visible page, creating an imaginary diagonal line
Golden Ratio: The golden ratio is a mathematical proportion between the elements of different sizes which is thought to be the most aesthetically pleasing for human eyes. The golden ratio equals 1:1.618 and it is often illustrated with seashell-shaped spirals which you could have probably seen on the Internet.
HTML Elements: An HTML element is a type of HTML (Hypertext Markup Language) document component, one of several types of HTML nodes (there are also text nodes, comment nodes and others
HTML Attributes: HTML attributes are special words used inside the opening tag to control the element's behaviour. HTML attributes are a modifier of an HTML element type
HTML Tags: HTML tags are the hidden keywords within a web page that define how your web browser must format and display the content. ... For example, is the opening tag and is the closing tag. Note that the closing tag has the same text as the opening tag, but has an additional forward-slash ( / ) character.
CSS Rules: A Cascading Style Sheet (CSS) rule is a statement that defines the style of one or more elements in your web page. A CSS rule consists of a selector and declaration and holds for all instances of an element. You can create a CSS class that provides an exception to a stated rule


Pentagon chief fires Navy secretary over SEAL controversy
by Associated PressWASHINGTON (AP) — Defense Secretary Mark Esper has fired the secretary of the Navy in connection with the controversy over a SEAL whose case has been championed by President Donald Trump.
A Pentagon spokesman says in a statement Sunday that Esper has lost trust and confidence in Navy Secretary Richard Spencer “regarding his lack of candor” over conversations with the White House involving the handling of the SEAL case.
Spokesman Jonathan Hoffman says Spencer submitted his resignation at Esper’s request. Esper has also recommended to Trump a replacement.


View Highscores
Time:
100
Coding Quiz Challenge
Try to answer the following code-related questions within the time limit. Keep in mind that incorrect answers will penalize your score/time by ten seconds!
Enter initials:
Submit Score
Start Quiz


This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.
by Hau Nguyen - 3 mins ago
Do it with your style
Are Duck and Chicken same kind of bird?
Huge bird is ok, is'nt it?


To use lilymandarin.com, please enable JavaScript in your browser settings, then refresh this page.
{{error}}
Back to the homepage


Located in /OAuth.php (line 485)
check that the nonce is not repeated
check that the nonce is not repeated
all-in-one function to check the signature on a request
all-in-one function to check the signature on a request should guess the signature method appropriately
check that the timestamp is new enough
check that the timestamp is new enough
process an access_token request
process an access_token request returns the access token on success
process a request_token request
process a request_token request returns the request token on success
try to find the consumer for the provided request's consumer key
try to find the consumer for the provided request's consumer key
figure out the signature with some defaults
figure out the signature with some defaults
try to find the token for the provided request's token key
try to find the token for the provided request's token key
verify an api call, checks all the parameters
verify an api call, checks all the parameters
Documentation generated on Thu, 22 Oct 2009 12:54:45 -0700 by phpDocumentor 1.4.3


If you have any questions about the project, you can send an email to Alfredo Hernandez or to Clotaire Delanchy.


Welcome to Blazing Notebooks!¶
Getting started
10-minutes to Blazing Notebooks.
The step-by-step guide to Blazing Notebooks, Blazing SQL and RAPIDS.
Private clusters
Manage private clusters.
Learn to create and change clusters, and organize environments.
Billing
Understand credits and billing.
Learn to purchase credits and track your spend.
Use cases
Explore solutions to common problems.
Learn to solve industry and data science problems with RAPIDS stack.

Try Blazing Notebooks for yourself in the free app.
Resources
Find information about RAPIDS stack.
Explore docs and release documentation to learn about new features.


Platform to support students community.
Reach out and get the help you need!
Do you have an issue or concern that you're having trouble solving on your own? Reach out to DevDesk.Sign up for DevDesk,Login and post your questions to the queue. Let us help you get back your productive time!.
Our DevDesk helpers/Student helpers will get to the tickets and provide the resolution. Submit your ticket ! categorize it and you can post it to your help channel for peer students to benefit from.
We deliver better Students support by enabling interaction with subject matter expert! We involve helper community from your peer learners who are ready to solve technical issues you might have.
DevDesk platform allows Lambda School students to have better experience in getting their support seamlessly and efficiently. We allow students to categorize tickets thereby reducing problem solving time.Students gets their help at a faster pace!.


---
layout: post
title: Crappy phone
tags:
- Work Practices
status: publish
type: post
published: true
meta: {}
---
Download Center SAMSUNG
download center for SAMSUNG C520
My smartphone is at the menders (I walked on it and broke the screen!) so I bought a cheap phone until it comes back. However at AU$80 I feel ripped off. The phone has lots of neat features (email, camera, browser,...) which are all so badly done as to be unusable. Plus the connection software only works on bloody Windows!
Bah!


Tagging process¶
Tagging data is generally entered by DCC or study phenotype expert users. After tagged variables are created, a 3-step review process is completed:
- DCC team member reviews the tagged variable and confirms or flags for further review
- For flagged tagged variables, a study phenotype expert reviews and either agrees to remove it or provides an explanation for why it should not be removed
- For those the study experts provided explanations for, a DCC user reviews it again and makes a final decision of whether to remove it or keep it
Tagged variables removed during the review process are archived, and not completely deleted.


pgblog
A musician tackles code
The CSS learning process is one of inevitable trial and error. This is both fun & empowering, yet it can also lead to frustration, as your own instincts run aground on the slippery ice of a language designed to take into account things you never anticipated.
The greatest bugaboo of CSS is the positioning of elements, which is complicated by several things:
It's an art form. And you don't become an artist overnight. First, you have to be a hack, and make no apologies for it.
Every element has -- in order from outside to inside -- a margin, a border, and a padding. All of these can be set to 0, and all can be adjusted independently on the top, left, right, and bottom. Of these, the 'border' is the easiest to understand. You can see your border -- if it exists -- and it can be mighty fancy! The margin separates the element (including its border) from the outside world, i.e., its container (e.g., the surrounding element or window), while the padding separates the element's content from its border. When your text is touching the border, in other words, then your padding is 0. If your element has a different background color than its containing element, then that color will reach to the border, and the margin will bear the background color of the surrounding element.
That's simple enough on the face of it, but things get tricky when one forgets to add the margin and border to the window's declared size. It's these mathematical errors that become a vexation when your sleek modern design becomes overpopulated with dynamic, self-aware elements.
CSS characteristics can be attached to html types (divs, p's, spans, etc.), but also to custom tags, known as classes and ids. Classes are invoked when you want to describe particular attributes of an element which will reappear in many places on the page. ID's, on the other hand, can only appear once on any page, and they are used to identify particular elements for the sake of mnemonic ease or so they can be described in some idiosyncratic way in CSS. Chris Coyer makes the lovely analogy that classes are like bar codes, while ID's are like serial numbers. You use an ID to talk about the particular instance of a product, and you use 'class' to discuss the price or the supply chain of the product. Once you keep this distinction in mind, the power of ID's and classes will eventually occupy your entire frontal lobe as a designer.
Relative, absolute, and fixed positioning will give you the most trouble, especially the first two:
Note that absolute spacing is absolute in relation to the document, while fixed position is fixed in relation to the window that is opening onto the document.
The easiest way to keep track of inline-block vs block is to recognize that an inline block behaves exactly like a block, except than that it tolerates objects to stay in line after it. Then, an inline (non-block) object is different from an inline-block in that it ignores top/bottom margins & padding, as well as height and width settings.


Looks like some Trumps got through.
Click to fire them.
Click to fire them.
Pause blocking on this site.
Resume blocking on this site.
Pause blocking on all sites.
Resume blocking on all sites.


{include_if_exists file="include/header.php"} {doevent name="ImportOnLoad"}
Import
Browse to the comma-separated (.csv) or to the Excel (.xls) file that you wish to import.
The first line in the file should contain the field names.
Select file with data
{$error_message}
{include_if_exists file="include/footer.php"}


Dealer Name
Joyshree Powerol
Dealer Address
House No. 62, By Lane No. 2, Tarunnagar, ABC Stoppage, Bhangagarh , 781005
City
Mehsana
State
Gujarat
Mobile No
91 94350 11999
Go to Map


Page Not AJAX Loaded
The first image below using a 'replaceDimensions' srcModification, by replacing the dimensions already in the URL with the hi-res dimension.
The second image manually instructs which image file should be used for high-resolution displays, using the data-src-high-resolution attribute.
Go Back


I am an Management Information Systems major at Brigham Young University in the Marriott School of Management. I have a passion for technology and its capabilities in the workplace.
I am currently working on my master's degree in this department. I empasize in business intelligence and plan to find a career in IT consulting.
I plan to grow my technical skills for my entire life and help others see the power that can come from utilizing the many technologies available to us today.
Please look at my social media pages to get to know me a little more or send me an email to contact me.


Welcome to LMU Esports! Resurrected in 2016 by Tyler Edmiston and Teddy Chu, LMU Esports has strived to provide a place for students to express themselves and their love for video games and provide a place to be competitive in a non-traditional sport setting. The club hosts biweekly meetings social events that often have new video game releases, tabletop games, and food for all students. Our esports teams span across nearly every mainstream game; with the 2019 Spring season having League of Legends, Overwatch, and Starcraft II. The club also hosts Super Smash Bros. Ultimate tournaments for both the LMU community as well as the Southern California community, attracting upwards of 50 entrants at regional tournaments.
Links go here


NF Govt. College
Back to main website
Notice board
Contact
Please click where you want to go
XII Test-2019


Dashboard
Other Properties
| ID | Property_ID | Payment_id | Payment_amount | Payment_status | |
|---|---|---|---|---|---|
| {{ booking.id }} | {{ booking.property_id }} | {{ booking.payment_id }} | {{ booking.payment_amount }} | {{ booking.payment_status }} |
| ID | Property_ID | Payment_id | Payment_amount | Payment_status | |
|---|---|---|---|---|---|
| {{ booking.id }} | {{ booking.property_id }} | {{ booking.payment_id }} | {{ booking.payment_amount }} | {{ booking.payment_status }} |


Tiny Harris’ Daughter Heiress Sings Backup For Her Mom And She’s A Natural – Check Out The Adorable Video!
by Ashley MitchellShe’s only three years old but her mom can already count on her to save the day! Little Heiress Harris was quick to replace one of Tiny’s backup singers when they couldn’t make it!
The whole situation made for an adorable video that showed the child being an absolute natural on stage, just like her mom!
Heiress looks like she has a great future in the music industry judging by her latest performance as Tiny’s backup singer as she took command of the mic, even stealing some of the spotlight from her mother!
Either way, it was a great thing that she took on the job, helping Tiny out after one of her original backup singers could not be at a rehearsal for her R&B Rewind Concert Series show set to take place in a couple of days.
The tot did not deal with any stage fright and confidently sang into the mic alongside her mommy’s professional backup singers while she was rehearsing her brand new single titled I F**kin <3 you.
Tiny took to social media to share one of the videos they shot of the run-down and at some point, the mom and daughter even became more of a duo since she knelt down beside Heiress, singing together side by side.
In the caption, the proud mother wrote: ‘So this happen today!! First day of rehearsal for my next show Nov. 24 and one of my background singers didn’t make it so Lil Miss Heiress decided she was gone fill in. She was so serious!! What y’all think? Should I add me another singer🤪 👑💜.’
Is that even a question? Heiress should definitely join in for the actual show as well!
After all, she already knows all the words to the song as proven by the clip Tiny shared with her many followers.


Export One Class to CSV
Log in as dbadmin
Course to export; may use MySQL regex;
example: Education/EDUC-FACT%:
Remove any previous exports of same class
Include personally identifiable information
Crypto passwd:
Please retype:


Your browser does not support HTML5
Middle-click to rotate. Scroll to zoom. Right-click to move monkey. Space to stop monkeys from spinning.


{{loadingMsg}}
Select a role and click start to begin.
ePricer is a real time, self-service pricing tool available to sales reps and business partners.
It provides a method to price quote at list price or below and supports price request approval. The goal is to provide timely responses to customer price requests.


ZFORCE
Section: User Commands (1)Index Return to Main Contents
NAME
zforce - force a '.gz' extension on all gzip filesSYNOPSIS
zforce [ name ... ]DESCRIPTION
zforce forces a .gz extension on all gzip files so that gzip will not compress them twice. This can be useful for files with names truncated after a file transfer. On systems with a 14 char limitation on file names, the original name is truncated to make room for the .gz suffix. For example,<PHONE_NUMBER>1234 is renamed to<PHONE_NUMBER>1.gz. A file name such as foo.tgz is left intact.SEE ALSO
gzip(1), znew(1), zmore(1), zgrep(1), zdiff(1), gzexe(1)
Index
This document was created by man2html, using the manual pages.
Time: 05:29:12 GMT, December 24, 2015


# This code is part of Ansible, but is an independent component.
# This particular file snippet, and this file snippet only, is BSD licensed.
# Modules you write using this snippet, which is embedded dynamically by Ansible
# still belong to the author of the module, and may assign their own license
# to the complete work.
#
# Copyright (c), Franck Cuny<EMAIL_ADDRESS>2014
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.

# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
import json
import os
import traceback
from distutils.version import LooseVersion
try:
from libcloud.compute.types import Provider
import libcloud
from libcloud.compute.providers import get_driver
HAS_LIBCLOUD_BASE = True
except ImportError:
HAS_LIBCLOUD_BASE = False
USER_AGENT_PRODUCT="Ansible-gce"
USER_AGENT_VERSION="v1"
[docs]def gce_connect(module, provider=None):
"""Return a Google Cloud Engine connection."""
if not HAS_LIBCLOUD_BASE:
module.fail_json(msg='libcloud must be installed to use this module')
service_account_email = module.params.get('service_account_email', None)
credentials_file = module.params.get('credentials_file', None)
pem_file = module.params.get('pem_file', None)
project_id = module.params.get('project_id', None)
# If any of the values are not given as parameters, check the appropriate
# environment variables.
if not service_account_email:
service_account_email = os.environ.get('GCE_EMAIL', None)
if not project_id:
project_id = os.environ.get('GCE_PROJECT', None)
if not pem_file:
pem_file = os.environ.get('GCE_PEM_FILE_PATH', None)
if not credentials_file:
credentials_file = os.environ.get('GCE_CREDENTIALS_FILE_PATH', pem_file)
# If we still don't have one or more of our credentials, attempt to
# get the remaining values from the libcloud secrets file.
if service_account_email is None or pem_file is None:
try:
import secrets
except ImportError:
secrets = None
if hasattr(secrets, 'GCE_PARAMS'):
if not service_account_email:
service_account_email = secrets.GCE_PARAMS[0]
if not credentials_file:
credentials_file = secrets.GCE_PARAMS[1]
keyword_params = getattr(secrets, 'GCE_KEYWORD_PARAMS', {})
if not project_id:
project_id = keyword_params.get('project', None)
# If we *still* don't have the credentials we need, then it's time to
# just fail out.
if service_account_email is None or credentials_file is None or project_id is None:
module.fail_json(msg='Missing GCE connection parameters in libcloud '
'secrets file.')
return None
else:
# We have credentials but lets make sure that if they are JSON we have the minimum
# libcloud requirement met
try:
# Try to read credentials as JSON
with open(credentials_file) as credentials:
json.loads(credentials.read())
# If the credentials are proper JSON and we do not have the minimum
# required libcloud version, bail out and return a descriptive error
if LooseVersion(libcloud.__version__) < '0.17.0':
module.fail_json(msg='Using JSON credentials but libcloud minimum version not met. '
'Upgrade to libcloud>=0.17.0.')
return None
except ValueError as e:
# Not JSON
pass
# Allow for passing in libcloud Google DNS (e.g, Provider.GOOGLE)
if provider is None:
provider = Provider.GCE
try:
gce = get_driver(provider)(service_account_email, credentials_file,
datacenter=module.params.get('zone', None),
project=project_id)
gce.connection.user_agent_append("%s/%s" % (
USER_AGENT_PRODUCT, USER_AGENT_VERSION))
except (RuntimeError, ValueError) as e:
module.fail_json(msg=str(e), changed=False)
except Exception as e:
module.fail_json(msg=unexpected_error_msg(e), changed=False)
return gce
[docs]def unexpected_error_msg(error):
"""Create an error string based on passed in error."""
return 'Unexpected response: (%s). Detail: %s' % (str(error), traceback.format_exc(error))


03 Nov 2014
Steps
Step 1: Create routes
#routes.rb
add sessions#new, sessions#create, sessions#destory routes
Step 2: Create sessions template
#sessions/new.html.erb
Add html
Step 3: Sessions_Controller.rb
class SessionsController < ApplicationController
def create
user = User.where(username: params[:username]).first
or
user = User.find_by(username: params[:username])
Alternative Flash syntax
flash.now[:error] = "There is something wrong with your username or password."
render :new
end
end
Step 4: Helpers
#application_helper.rb
1. create current_user and logged_in? methods
* Memoization: allows you to only hit the database once when being called multiple times on a template
2. add helper_method syntax to make accessible in views
Step 5. _navigation.html.erb
Two ways to protect the fuctionality of your application for non-logged in users:
1. Links on User Interface (using 'if loggedin? method')
2. Urls/Controller actions (using beforeaction)
We want to keep those who aren't logged in from creating a post.
<% if logged_in? %>

<%= link_to "New Post", new_post_path, class: 'btn btn-success btn-small' %>

<% end %>
Step 6. Add before action to prevent navigation to certain links
posts_controller.rb
add before_action :require_user, except: [:index, :show]
Step 7. require_user method
Create require_user method in application_controller.rb
Step 8. Add current_user
Remove User.first and add current_user for post.creator and comment.creator
30 Oct 2014
HTTP has two parts:
1. Request:
- Verb/Method: GET, POST
- URL
- Parameters
2. Response:
- Status Code
- 200 Ok
- 302 Redirect (issues another request)
- 404 File Not Found
- 500 Application Error
- Payload/Message/Body - which will depend on the request
Modern browsers will block against redirect loops and/or limit redirects.
A request is not connected to another request - meaning its stateless.
An example:
GET/new_game
- display the form to enter your name
- render a view: 200 and HTML (complete the response)
POST/new_game
- save the name somewhere (persistence layer)
- display the next thing
- redirect to another URL: 302 and the next URL completes the response.
Persistency Layer
1. Database (most common)
2. Session cookies (persistency within your browser)
28 Oct 2014
1. Create vote controller action
class PostsController < ApplicationController
def vote
binding.pry
end
end
Entering params in rails console, will show us that we passing an id parameter but not the
boolean to indicate true/false, whether the post is up or down.
2. Add boolean parameter to views to create link
Add boolean parameter to views to create link /posts/2/vote?vote=true¶m2=2
#posts/index.html.erb

<%= link_to vote_post_path(post, vote: true), method: 'post' do %>
3. Now that we have our thing we are voting on and our vote, we can create our vote action
class PostsController < ApplicationController
before_action :set_post, only: [:show, edit, :update, :vote]
def vote
#post = Post.find(params[:id]) or use @post(created in the before_action)
@vote = Vote.create(voteable: @post, creator: current_user, vote: params[:vote])
if @vote.valid?
flash[:notice] = "Your vote was recorded"
else
flash[:error] = "Your vote was not recorded"
end
redirect_to :back (to go back to the original page viewed)
end
end
4. Wire up the same for the down vote in the views/posts/index

<%= link_to vote_post_path(post, vote: false), method: 'post' do %>
5. What if I want to display the number of votes
6. What if I want the number of votes to decrease when pressing the down button.
Although this may seem like a presentational concern that would require a helper
method - however storing the number of votes is a data concern and not a presentational one.
Method regarding business logic belong in the model itself.
class Post < ActiveRecord::Base
def total_votes
up_votes - down_votes
end
def up_votes
self.votes.where(vote: true).size
end
def down_votes
self.votes.where(vote: false).size
end
end
So now in the presentation layer, we can call total_votes:
7. What if we wanted to sort
class PostsController < ApplicationController
def index
@posts = Post.all(|x| x.total_votes).reverse
end
end
8. How can we make sure that each user only votes once for post:
There are many ways to accomplish this but the best way would be to add the
uniqueness validation to the model:
class Vote < ActiveRecord::Base
validates_uniqueness_of :creator, scope: :voteable
end
9. Using html_safe
Rails by default escapes everything so user input html, js or script tags are escaped to
prevent malicious intent.
In order to write html in any place besides the html.erb files, you must append html_safe
at the end of your statement
def vote
#post = Post.find(params[:id]) or use @post(created in the before_action)
@vote = Vote.create(voteable: @post, creator: current_user, vote: params[:vote])
** We do not need to use strong_params because we are not using the key value
pairs for mass assignment, instead we are hard coding in the keys.
if @vote.valid?
flash[:notice] = "Your vote was recorded"
else
flash[:error] = "Your vote was not recorded".html_safe
end
redirect_to :back #(to go back to the original page viewed)
end
This will cause the rails to not escape those tags and apply the html. You generally do not
want to add html_safe on user input elements.
26 Oct 2014
Items Covered
- polymorphic associations
- databases (syntax)
- models (syntax)
- Voting
Polymorphic Associations:
At the database level:
When you have one subject but many objects for example, 1 comment or like can be placed on
many objects or foreign keys - postid, photoid, video_id, etc.
- This creates alot of spaces and ineffiencies in the database.
This is solved by restricting the database from:
"id, body, user_id, post_id, photo_id, video_id" to
"id, body, user_id, commentable type, commentable_id"
commentable_type: must be the model name, capitialize first initial, string
commentable_id: is the primary_key on the 1 side.
commentable_type to commentable_id: is a composite foreign_key
In our application, we will implement voting using polymorphic associations and we can
practically vote on anything, but in this case, we will vote on just posts and comments.
Step 1: Generate Migration
Create votes table
=>rails g migration create_votes
Step 2: Generate Table
create_table :votes do |t|
t.boolean :vote
t.integer :user_id
t.string :voteable_type
t.integer :voteable_id
t.timestamps
end
end
or use
t.references :voteable, polymorphic: true
Step 3: Create Vote Model
class Vote < ActiveRecord::Base
belongs_to :creator, class_name: 'User', foreign_key: 'user_id'
belongs_to :voteable, polymorphic: true
end
class User < ActiveRecord::Base
has_many :votes
end
class Post < ActiveRecord::Base
has_many :votes, as: voteable
end
Do the same for comments.
The above action gives you voteable getters/setters and now you can assign a variable to your user and call .votes
So in the console:
v = Votes.first
v.voteable => nil
post = Post.first
post.votes << v
or another way to assign is
v.votable = Comments.first
v.save
In the above - the user and vote are the subjects while the comments and posts
are the objects being voted on.
Remember
- Subjects - has_many, can use same gatters and setters as ususal
- Objects - belongsto, will expect subject foreignkeys, voteable is now your getter/setter
where you pass voteable an object or set the voteable
Voting
Step 1. Now let's show votes on posts index page
#posts/index.html.erb
<div class='row'

<%= link_to '' do %>

<% end %>

<%= link_to '' do %>

<% end %>

Step 2. How do we reflect the increase/decrease of votes every time the link is clicked:
#routes.rb
Two ways....
a) POST/votes => 'VotesController#create'
- needs to pass in two pieces of information (1 - whether its the post/comment
being voted on, 2. The post/comment id
- also this would create another top level resource)
- best for if you're voting on alot of objects
How to implement this in your routes:
resources :votes, only: [:create]
b) POST/posts/3/vote => 'PostsController#vote'
POST/posts/3/comments/4/vote => 'CommentsController#vote'
How to implement this in your routes, you must use something called a member, where
each action will be exposed to the member of that url
resources :posts, except: [:destroy] do
member do
post :vote
end
(where post is the member and vote is the action)
**rake routes | grep vote
vote_post POST /posts/:id/vote(.:format) post#vote
Step 3. Also what about if we want to see archives of our posts
# GET /posts/archives
collection do
get :archives
end
**rake routes | grep archives
archives_posts GET /posts/archives(.:format) posts#archives
So to compare using post vs get, post will require pass in an object.
So basically you can create any route that you want using member, collections, and nested resources
Steps from UX
- Lofi/hifi
- ERD
- Tables
- URL design
Step 4. Let's include these new routes in our posts/index.html.erb
#posts/index.html.erb
<div class='row'

<%= link_to vote_post_path(post) method: 'post' do %>

<% end %>

<%= link_to '' do %>

<% end %>

You must specify method: 'post' because with out it the default will be the GET method and the link, post/id/vote will not work on a GET.
* method: 'post' create data method: There is javascript that comes with rails
that looks for anchor tags and the data-method="post", that will turn the link
into an actual form and submit content.


All escaped characters in the *.properties files in the format \uXXXX, are displayed in the resource bundle editor as un-escaped unicode literals.
Vice versa, if a non-ASCII character is entered in the resource bundle editor, it is reflected in the underlying *.properties file as a corresponding escaped character in the format \uXXXX.
For example, if the *.properties file contains a property value
then the resource bundle editor will show


§46-25.5 Expenses. Subject to section 78-32 and procedures prescribed by the director of finance of the county and approved by the mayor, all officers and employees of each county shall be entitled to travel or other necessary expenses in the performance of their official duties as provided by ordinance. [L 1975, c 34, §1; am L 2016, c 158, §2]


Home
Our Menu
Contact Us
Welcome to
Yummy Yummy
Chinese, Birtley
Specialist in Cantonese & Peking Cuisine
Delivery Service Available
Opening Hours
Monday
Closed
Tuesday
5:30pm - 10:00pm
Wednesday
5:30pm - 10:00pm
Thursday
5:30pm - 10:00pm
Friday
5:30pm - 10:00pm
Saturday
5:30pm - 10:00pm
Sunday
5:30pm - 10:00pm
We are Open on Bank Hoildays!


| 81 | (A) | Sandis by me aren sente to the Senyȝoures of Rome |
| 78 | (C) | To nero sent am I now þe seygnyour of rome |
| 79 | (D) | To Neroo sent am y now seignour of Rome |
| 78 | (E) | to nero ysent am y now . þe seyngnour of rome |
| (Ex) | ---- no text ---- | |
| 80 | (L) | To nero sondisman sent þe senatour of rome |
| 75 | (P) | To Nero sandisman sent . to þe senur?? of Rome |
| 78 | (U) | To nero sent am I nowe / the seignur of Rome |
| (V) | ---- no text ---- |


|
SC2API
An API for AI for StarCraft II
|
An action (command or ability) applied to a unit or set of units. More...
#include <sc2_action.h>
Public Types | |
| enum | TargetType { TargetNone, TargetUnitTag, TargetPosition } |
| Type of target. Target types are mutually exclusive. More... | |
Public Member Functions | |
| ActionRaw () | |
| Constructor. | |
| bool | operator== (const ActionRaw &a) const |
| Comparison overload. | |
Public Attributes | |
| AbilityID | ability_id |
| The ID of the ability to invoke. | |
| std::vector< Tag > | unit_tags |
| Units this action applies to. In normal use, this would be the currently selected units. | |
| TargetType | target_type |
| Which target fields are valid. | |
| Tag | target_tag |
| The target of this action. Valid only when target_type == TargetUnitTag. | |
| Point2D | target_point |
| The target point for this action. Valid only when target_type == TargetPosition. | |
An action (command or ability) applied to a unit or set of units.


Schofield, Samuel
| Birth Name | Schofield, Samuel |
| Gender | male |
| Age at Death | 83 years, 9 months, 26 days |
Narrative
SMH - SCHOFIELD - 10 July, 1980, at a private hospital, Wahroonga, of Pitt Town, Windsor, dearly loved husband of Elsie Schofield, loving father of Henry, Gwen (Mrs.Bassingthweighte), Arthur, Dulcie (Mrs.Hunt), & Jack, aged 83 years. At Rest.
FUNERAL - SCHOFIELD, - The Relatives & Friends of the late SAMUEL SCHOFIELD, of Pitt Town, Windsor, are invited to attend his Funeral to leave the Seventh Day Adventist Church, Windsor, this day Tuesday, 12 July, 1960, after a service at 1.45pm for the Lawn Section, Nth Suburbs Cemetery.
Events
| Event | Date | Place | Description | Sources |
|---|---|---|---|---|
| Birth | 1876-09-14 | St.George NSW #6104 | ||
|
|
||||
| Death | 1960-07-10 | Pitt Town, Windsor NSW | ||
|
|
||||
| Burial | 1960-07-12 | Nth Suburbs Cemetery | ||
|
|
Parents
| Relation to main person | Name | Birth date | Death date | Relation within this family (if not by birth) |
|---|---|---|---|---|
| Father | Schofield, Samuel & Catherine | |||
| Schofield, Samuel | 1876-09-14 | 1960-07-10 |
Families
Family of Schofield, Samuel and Irish, Elsie Victoria |
||||||||||||||||||||
| Married | Wife | Irish, Elsie Victoria ( * 1881-05-24 + 1969-06-25 ) | ||||||||||||||||||
|
||||||||||||||||||||
| Children |
| Name | Birth Date | Death Date |
|---|---|---|
| Schofield, Charles Henry “Charlie” | 1910 | 1995-02-08 |
| Schofield, Alice “Gwen” | 1912 | |
| Schofield, [Living] | ||
| Schofield, [Living] | ||
| Schofield, Jack | 1920 | 2005-01-28 |
| Type | Value | Notes | Sources |
|---|---|---|---|
| _UID | 512CE774A489DA1195229310154BD04EC855 |
Attributes
| Type | Value | Notes | Sources |
|---|---|---|---|
| _UID | 502CE774A489DA1195229310154BD04EC745 |


If bare (see {@link Form.bare}) is set to true then hint will be inserted within small tags.
If bare (see IForm.bare) is set to true then labelText will be inserted within label tags.
The name of the form element (this should match the state property that you want be updated by this form element)
These are the {@link IValidators} that you can pass in the validate the form element.
Generated using TypeDoc
Add additional css


--- layout: post status: publish published: true title: "有奖竞猜：半悬墙壁的门" author: Leask author_login: leask author_email<EMAIL_ADDRESS>author_url: https://leaskh.com wordpress_id: 279 wordpress_url: http://leaskh.wordpress.com/2008/03/20/%e6%9c%89%e5%a5%96%e7%ab%9e%e7%8c%9c%ef%bc%9a%e5%8d%8a%e6%82%ac%e5%a2%99%e5%a3%81%e7%9a%84%e9%97%a8 date: '2008-03-20 12:55:44 +0800' date_gmt: '2008-03-20 12:55:44 +0800' categories: tags: [] comments: [] ---