DfE enquiries
Central newsdesk 020 7783 8300
General enquiries 0370 000 2288
News story
Groups that want to open mainstream, special and alternative provision free schools in September 2013 can submit their detailed plans to the Department from today.
They will follow in the footsteps of the first 24 Free Schools, which opened in 2011 in record time.
A further 72 Free Schools are in the pipeline to open in September 2012 and beyond.
They include:
Seventeen University Technical Colleges and 12 Studio Schools are also aiming to open from 2012 onwards.
Free Schools are part of the Government’s drive to raise standards in education, to improve choice for parents, and to make sure the system responds to demands from local communities.
Like Academies, they have greater freedom for teachers than local authority schools, including more choice over the curriculum, how money is spent and the length of the school day.
The majority of the first Free Schools are in disadvantaged areas or where there is a shortage of school places. Even before they opened, 15 of the first 24 schools were oversubscribed for their first year, with some seeing more than three applications for one school place. For 2012, The West London Free School has received more than 1000 applications for 120 places.
Schools Minister Lord Hill said:
When we opened the first round of applications for Free Schools, there was plenty of scepticism. Would anyone really want to open a new school? Would busy parents and teachers find the time to do it? The answer to these questions was a resounding yes.
I am therefore delighted to invite more talented groups to submit their plans to open Free Schools and Studio Schools in September 2013. They will play an important role in raising education standards in our communities, creating choice for parents, and responding to local need.
The first 24 Free Schools are already using their freedoms to innovate to try out new approaches and meet the needs of local parents:
Groups wishing to open Studio Schools from 2013 can also submit their applications.
Twelve have already been approved to open in 2012 - with the backing of employers like Glaxo, Sony, the BBC and Fulham FC. They join six Studio Schools that are already open.
Studio Schools offer academic and vocational qualifications, but teach them in a practical and project-based way. Study is combined with paid work placements with local and national employers who are involved in the school.
Learning in this way encourages students to develop skills like punctuality, good communication, reliability and team working, whilst gaining a strong grounding in English, maths and science.
All groups wishing to set up new, state-funded schools are required to submit a high level of detail about their plans from the very outset, and to meet rigorous criteria. This includes providing:
After a competitive selection process, shortlisted groups are then invited to an interview.
More information about Free Schools and Studio Schools, including how to apply, can be found on the Free School pages of the Department for Education website.
Central newsdesk 020 7783 8300
General enquiries 0370 000 2288
Published: 13 February 2012
From: Department for Education
Part of: Academies and free schools


http://jingyan.baidu.com/article/e75aca85ae172f142edac62d.html
After install Windows on Ubuntu, there is an error missing operation system
using live-usb or live-cd log in Ubuntu
$ sudo su # get super access
$ sudo fdisk -l # find where is ubuntu installed, in my case /dev/sda1
$ mount /dev/sda1 /mnt
$ grub-install --root-directory=/mnt /dev/sda
restart
the add Windows option
$ sudo apt-get install grub2
$ sudo update-grub2
# for github key finger issue
# uninstall github and reinstall it
# probably because of using same git in Windows and Ubuntu
# Hyper-V conflict with VirtualBox
http://blog.shengbin.me/posts/fix-virtualbox-error-caused-by-hyper-v-enabled/
$ bcdedit /set hypervisorlaunchtype off # turn it off
$ bcdedit /set hypervisorlaunchtype auto # turn it on


- daa.practice1 - package daa.practice1
-
- daa.practice1.randomaccessmachine - package daa.practice1.randomaccessmachine
-
- daa.practice1.randomaccessmachine.alu - package daa.practice1.randomaccessmachine.alu
-
- daa.practice1.randomaccessmachine.io - package daa.practice1.randomaccessmachine.io
-
- daa.practice1.randomaccessmachine.memory - package daa.practice1.randomaccessmachine.memory
-
- daa.practice1.randomaccessmachine.memory.instruction - package daa.practice1.randomaccessmachine.memory.instruction
-
- daa.practice1.randomaccessmachine.memory.register - package daa.practice1.randomaccessmachine.memory.register
-
- data - Variable in class daa.practice1.randomaccessmachine.memory.register.Register
-
Generic data that the Register contains.
- DataMemory - Class in daa.practice1.randomaccessmachine.memory
-
Class that contains an array of the Data Register that the Random Access
Machine will use.
- DataMemory() - Constructor for class daa.practice1.randomaccessmachine.memory.DataMemory
-
Constructor that only calls it's superclass constructor to initialize the
memory.
- dataMemory - Variable in class daa.practice1.randomaccessmachine.RandomAccessMachine
-
DataMemory object that represents a set of Data Register.
- DataRegister - Class in daa.practice1.randomaccessmachine.memory.register
-
Data Register is a subclass of Register with the Integer data type.
- DataRegister() - Constructor for class daa.practice1.randomaccessmachine.memory.register.DataRegister
-
Default constructor that initializes the register data with 0.
- DataRegister(Integer) - Constructor for class daa.practice1.randomaccessmachine.memory.register.DataRegister
-
Constructor that initializes the register data with the value passed by
argument.
- debug - Variable in class daa.practice1.randomaccessmachine.RandomAccessMachine
-
Private variable to indicate if the program has to show the process.
- div(Operating) - Method in class daa.practice1.randomaccessmachine.RandomAccessMachine
-
This instruction divides the value of the ACC or Register with index 0 with
the result value of the addressing type.
- divide(DataRegister, DataRegister) - Static method in class daa.practice1.randomaccessmachine.alu.ArithmeticLogicUnit
-
Method used to divide the values of two registers and save the result in the
first register passed by argument.
- divide(DataRegister, int) - Static method in class daa.practice1.randomaccessmachine.alu.ArithmeticLogicUnit
-
Method used to divide the values of a register and a constant, saving the
result in the first register passed by argument.


Zoom in with mouse wheel or touchpad, and click on a road to mark it as dangerous or click on a marked road to unmark.


TSA reopens strategic checkpoint at Twin Cities airport
by The Associated PressMINNEAPOLIS — Transportation Security Administration officials have decided to reopen a Minneapolis-St. Paul International Airport checkpoint it closed earlier this week claiming it was underused.
The move to close the checkpoint linked to the Intercontinental Hotel riled airport officials who feared longer passenger wait times as holiday travel approached. The closure came just a year after airport operators spent $24 million to build a connecting walkway from the hotel to the entry point.
The Metropolitan Airports Commission met with TSA Administrator David Pekoske on Thursday and agreed to reimburse the agency for related costs. The agreement will be reviewed within 12 to 18 months to determine whether traffic has increased enough for the TSA to again pick up the screening costs.
The checkpoint will open from 4:45 a.m. to 10 a.m. daily.
The Associated Press


The heart of the component is the Appointment Request.
This screen allows you to view and edit the details of a request or Appointment booking.
Cancel: Abort changes and return to the previous screen.
Save: Save changes and return to the previous screen.
Help: Opens this help screen.
The edit are is divided into two sections, the top is the request as it came from the user. The lower section is an Admin area where the administrator decides what to do the request.
Name to End Time: The top fields are self explanatory.
Comment: This is the comment from the user and is not editable.
User Defined Fields (UDFs): This area shows the values entered by the user for any UDFs you have defined. On the right shows the type of UDF and the label.
Below the UDFs is the Admin area.
Administrator Comment: Administrator can enter an internal comment. Example: 'Phoned to confirmed new end time'
Payment Status: Change as required to indicate payment has been received.
Request Status: Used and a indicator for the administrator and also by the system if duplicate bookings are not allowed. Bookings with status of Accepted OR Pending will trigger a conflict message if Prevent Duplicate Bookings is set to Yes.
Current Calendar: Read-only indicator of which 3rd party calendar you current have ABPro set to use.
Post to Calendar:
To have an entry added to a 3rd party calendar the following are required:
- A calendar chosen in the config screen
- The Request Status set to 'Accepted'
- The Post to Calendar set to 'Yes'
Calendar Category: The 3rd party calendars require a category be specified.
Calendar Comment: This comment will appear in the calendar booking details. Examples: who the resource is booked to, what for, etc
Timestamp: read only, showing time request was entered.
Note: If you have set Calendar to 'None', the calendar related fields will not appear in this screen.


I am a highly competent engineer with a varied track record in designing websites, building apps, networking and managing teams. I have strong technical skills as well as excellent interpersonal skills, enabling me to interact with a wide range of clients. I am eager to be challenged in order to improve my skills, specially when it comes to building DApps as I have been a crypto lover since I first found about Bitcoin in 2015. Feel free to check out my latest side projects.
Something that I think is quite notable about my profile is that I love building platforms or just documenting useful information for other people trying to understand certain areas. For instance, I uploaded my entire work, tips and tricks to succesfully complete technical interviews at companies such as Google, Apple, Facebook or Amazon (which is where I currently work).
I am part of the Books team, in charge of both physical and digital books (Kindle). Our team manages user facing pages on Amazon.com. The main activities involve integrating and maintaining different sources of information related to books. Antoher big part of our daily tasks is to continiously work along the design team based in Seattle to plan and implement several aspects to enhance our client's user experience.
After more than 5 months studying to get an internship at one of the big tech companies, and after several rejections from companies like Apple, Facebook or Google I finally got an internship as an SDE at Amazon. I'm currently implementing an internal tool to give a historical view of changes made to Amazon.com detail pages (similar to what Github does) in order to improve the developer's workflow experience.
Spaniards to Silicon Valley was a program I got involved in a few months before coming back from California. After being selected for the program, I got assigned a mentor that works for Samsung at Silicon Valley(Pedro Martínez). He then helped me during 4 months to prepare coding interviews at the big tech companies that I am currently involved in.
After a good performance in my first job with SEMrush, I got promoted to a position in which I was responsible of sales in Spain. My resposibilities here were focused on offering each client a personalized way to take advantage of SEMrush, explain how to do it and finally sell the features in which the client was finally interested in.
This was my first job just after I turned 17. My responsibility was to explain customers how SEMrush (a tool for Search Engine Optimization) worked.
During summer of 2021, I decided to build my own collection of NFTs and publish it on Open Sea. The NFTs were built from scratch using Adobe After effects and later minted to be uploaded on OpenSea. Feel free to read the project Whitepaper if you are curious about the project's NFTnomics
One day while trying to find an affordable crypto seed backup to store my Bitcoin mnemonic words, I was so frustrated I could not find one of great quality at a reasonable price. So I decided to make my own, and post it on Reddit. The post blew up in a few hours, so I decided to professionally offer them to other HODLers always having in mind how frustrated I felt myself at the very beginning. This is how this idea also became my Business Management thesis that if you are curious can access here.
Today the product is available on BSafe Card official web where payments in several crypto currencies are accepted. To enable this I used Coinbase API to integrate in my shop. As Coinbase does only provide the payment bridge but does not collect and store customer shipping information I built a paralell system to accomplish this.
The product is also available on Etsy.
While preparing for coding interviews, I decided to build something from the effort of studying each of the topics that were needed. I mainly used the famous book Cracking the Coding Interview by Gayle Laakman McDowell to have a path to follow. I tried to put all the concepts a bit more clear and compact than they appear in the book while also adding extra information I thought would become very handy. This guide also links with a explained snippets library that I have built to gain more practice and to recall the algorithms, tips & tricks faster.
This project was my first immersion in Augmented Reality. What this project inteds to do is to give people the possibility to have interactive places of inspiration each one of them represented by an augmented reality figure.
Augmented reality model for iOS devices made for skaginn3x.com, an icelandic company that has decades of experience in producing food processing equipment, providing a wide range of solutions for food processors. The Augmented Model shows this machine.
The idea is simple, freshen the playlists you have been listening to the most by creating new playlits based on the artist/s(When there are many, one is picked at random) from each song of the old playlist, the result is a brand new playlist or as I like to phrase it: "A playlist with your favorite music you haven't heard yet"
Game built for WatchOS, the idea is simple: you have 3s, how many taps can you get to in that time?.
I built this website to inform new investors how my crypto investment consulting services worked.
 In the winter, I usually travel to warmer places. During the warmer months here in Madrid, I enjoy running, swimming and playing soccer or squash with my friends.
When forced indoors, I follow a number of sci-fi and fantasy genre movies and television shows. I also like to follow the crypto world.


Qt Sensors - SensorGesture QML Type example
Overview
To write a QML application that will use the gesture plugin, following steps are needed:
Import the QtSensors 5.x module:
import QtSensors 5.0
Add the SensorGesture QML type into your qml file.
SensorGesture { id: sensorGesture enabled: false onDetected: { if (gesture !== oldGesture) count = 0; valueText.text = gesture + " " + count; oldGesture = gesture; count++; } onEnabledChanged: { valueText.text = "" } }
Each SensorGesture QML type contains a property called gestures. This example uses an alias gestureId
for this property.
property alias gestureId: sensorGesture.gestures
Then, the gesture or gestures to use can be specified using the alias:
onSelectedGestureChanged: { gesture.enabled = false; gesture.gestureId = gestureList.selectedGesture; ... }
A list of all available gestures is accessible through the availableGestures
property:
ListView { id: gestureList model: gesture.availableGestures ... }
Files:
- qmlsensorgestures/Button.qml
- qmlsensorgestures/GestureList.qml
- qmlsensorgestures/GestureView.qml
- qmlsensorgestures/GesturesView.qml
- qmlsensorgestures/qmlsensorgestures.qml
- qmlsensorgestures/plugin/qcountergestureplugin.cpp
- qmlsensorgestures/plugin/qcountergestureplugin.h
- qmlsensorgestures/plugin/qcounterrecognizer.cpp
- qmlsensorgestures/plugin/qcounterrecognizer.h
- qmlsensorgestures/main.cpp
- qmlsensorgestures/qml.pro
- qmlsensorgestures/qml.qrc
- qmlsensorgestures/qmlsensorgestures.pro
- qmlsensorgestures/plugin/plugin.pro
See also Qt Sensors - ShakeIt QML Example and Qt Sensor Gestures.


PRICE OF JUST A SINGLE EMPLOYEE
All great marketing starts with a plan. Our consultants will design a road-map for you to achieve your marketing goals
The one to ensure your projects get launched on time plus seamless team coordination and communication
No longer do you need to worry with codes, hosting or technical stuff. Our tech wizard will solve it all
A master of words & psychology. Weaves your content and ad copy to maximize conversions
A picture paints a thousand words. Our designer helps to create the designs and images that helps your brand shines
Setting up, launching and testing your ad campaigns on Facebook & Google. The key towards long-term results


Pineapple on Pizza
How it works
Click or touch on the screen to spawn a pineapple! For every pineapple that spawns you show your support for pineapple on pizza! 🍍🍕🍍🍕🍍🍕
Sharing is caring
Tell all your friends
FAQ
Q: I love pineapple!
A: So do I!
Q: I love pineapple on pizza!
A: So do I! We should totally be friends!
Q: Why is it so delicious??
A: I don't know, but everybody should try it!!
Q: Why?? It's disgusting!!
A: You say that, but have you ever actually tasted it?
Q: I don't even like pineapple, but it shouldn't be on pizza!
Many people don't like tomatoes, but really enjoy ketckup! Don't knock it til you've tried it!
Q: I actually tried it and didn't like it, what now?
A: Find a better pizza with pineapple on it.


--- layout: page title: Projects ---
|
|
Technologies used: HTML, CSS, Javascript, JQuery A recreation of the classic game Snake for the browser. Play with it! : Here. |
|
|
Technologies used: Ruby A basic chess game written in Ruby. Try it out on the command line by downloading the repo and running "ruby chess.rb" Check out the source code : Here. |


Section 3.7 Applications for the Classroom
Popular applications that can be installed on the BrailleNote Touch include Simple Dictionary for word look-up, Go Read for downloading books from Bookshare, Powerpoint from Microsoft for viewing Powerpoint documents, Easy PDF for converting PDF documents to Word format, HP Print Service Plugin for printing to HP printers using the USB port, and Easy Unrar for unzipping archives. In the following sections, I will show how to download an application from the Play Store, and then use these applications.
these applications.
Subsection 3.7.1 Simple Dictionary
Subsubsection <IP_ADDRESS> Installing the Simple Dictionary
If this app has not been pre-installed, you can install it once the student's school account has been set up. Do this as follows:
At the Main Menu, press the letter P until you get to Play Store; then press Enter.
Press S to get to the Search button; then press Enter.
In the Search box, type "simple dictionary," without the quotation marks; then press Enter.
Arrow down to the Simple Dictionary app.
Arrow down one more time to get to the Options button; then press Enter.
Choose Install and press Enter.
When prompted for App Permissions, press space+dots4,5,6 to get to the Accept button at the bottom of the screen and press Enter.
When installation is complete, you will receive the "Successfully installed Simple Dictionary message.
Subsubsection <IP_ADDRESS> Using the Word processor and File Management with Simple Dictionary
At the Main menu, press W followed by Enter to open the Word Processor menu.
Press C followed by Enter to create a new document.
Press Space+S to open the Save As dialog.
Type "Dictionary Word List," for the file name; then press Enter. By default, the document will be saved in the Documents folder unless the location for saving files has been changed.
For the title, write "Word Lookup Assignment," and press Enter two times to create a new paragraph.
Press Space+S to save the changes.
Press Space+E to close the word processor.
Subsubsection <IP_ADDRESS> Using File Manager to Create a Folder for Class Documents
At the Main menu, press F then Enter to open the File Manager.
Press Enter to open Storage; then press D until you get to Documents; then press Enter.
Press W to get to the Word Definitions document: then press Backspace+X to cut it to the Clipboard.
Press the triangle-shaped Back button until you get to Drive Selection; then arrow down to the SD Card and press Enter.
Press Space+N for New Folder; then type "English," without the quotation marks and press Enter to create the folder.
At this point, press Enter to open the folder; then press Backspace+V to paste the word definitions document into the English folder.
Now, press Enter on the "word definition.docs," file to open it.
Subsubsection <IP_ADDRESS> Using the Dictionary
Open the dictionary program as follows:
Press Home to go to the Main Menu.
Press A then Enter to open All applications.
Press D then Enter to open the dictionary.
In the search box, type "ubiquitous" and press Enter.
You can now read through the definition.
While reading the definition, press a cursor router button. Buttons will appear that allow you to copy either the word or its definition. Press the Next thumb key a couple of times to get to the Copy Definition button; then press Enter. The definition will be copied to the clipboard.
At this point, hold down the square context key to show all applications.
Choose KeyWord and press Enter.
Press Backspace+V to paste the definition into your document.
Subsection 3.7.2 Using Go Read to Search for Bookshare Books
At the Main Menu, press A followed by Enter to open All Applications.
Press G until you get to Go Read; then press Enter.
Press O followed by Enter to access the Open Drawer menu.
Press S to locate the Search Bookshare option; then press Enter.
Arrow down through the search options which include:
Title Search;
Author Search;
ISBN Search;
Latest Books;
Popular Books, and
Newspapers and Magazines.
For this example, choose Title Search and press Enter.
In the edit box, type "Call of the Wild," and press Enter.
The second result is Call of the Wild by Jack London. Choose this one and press Enter. Book Details will open.
Use the Next thumb key to navigate through the book details.
These include Title, Author, Download (text only)
Download book with images
ISBN: and
Language:
If you decide that you want another book, press the Back key, (the triangular button on the front of the Touch, to move to the Previous page.
For now, choose Call of the Wild. To do this, use the Next or previous thumb keys to choose the Download (text only) button and press Enter. You will hear a message when the book has been downloaded.
Now, press the Home button to return to the Main Menu.
Subsubsection <IP_ADDRESS> Using Victor Reader
At the Main Menu, press V followed by Enter to open Victor Reader.
Press space+B to open the Bookshelf.
Press space+dot4 two times to arrow down to Talking books; then press Enter.
Arrow to the book that was downloaded, Call of the Wild, then press Enter to open it.
Tap the square context menu button located on the front of the Touch.
The following menu appears:
Bookshelf menu: space+B.
Go to options menu: Enter+G.
Bookmark menu: Enter+M.
Navigation level menu: space+T.
Move to previous element: space+dots1,3.
Move to Previous element while playing: Previous Thumb Key.
Move to next element: space+dots4,6.
Move to next element while playing: Next thumb key.
Subsubsection <IP_ADDRESS> Reading the book
When the book opens, press space+T to open the navigation level menu. You will land on level 1. Press Enter to accept navigation by heading 1.
At this point, press space+dots4,6 to move forward one section at a time.
The following headings will be displayed in Braille:
Contents.
Title Page.
Introduction.
Chapter 1.
Chapter 2.
And so forth.
Note that, as you move forward by pressing space+dots4,6, the headings are shown in Braille, but are not spoken.
When you get to the point where you wish to start reading using speech, press the Action button located on the right edge of the tablet. This button has a small dot, and is located just below the headphone jack. Pressing this button one time starts reading with speech; pressing it again stops reading. Alternatively, you can use space+G to start reading. When you wish to stop reading, press Backspace+Enter to stop.
For practice, choose Chapter 1 and press the Action button. When you wish to stop reading, press the Action button to stop.
Suppose that you are reading with speech, and wish to skim through the book.
Press the Action button to start reading.
Now, while the book is being read, press Space with dots4,6 to move to the next section. The book will continue reading at the new section.
Subsubsection <IP_ADDRESS> Bookmarks
Normally, when you return to a book that you have been reading, reading will be resumed where you left off. However, it is a good idea to use bookmarks to keep you from losing your place.
You can create a bookmark as follows:
Open the bookmark menu from the menu, or press Enter with M.
Press the letter I followed by Enter to insert a bookmark.
Type a 1 followed by Enter to insert Bookmark 1. You must use computer Braille, so this would be a dot2.
Press space with dots1,2,3 to return to the beginning of the book.
Press Space with M; then G followed by Enter to open the Go to Bookmark option.
Type 1 followed by Enter to go to bookmark 1. The message, "bookmark 1,"
will appear for a couple of seconds. Then, you will be at the point where you stopped reading.
Note that you can use the panning keys to pan forward or backward through the book using Braille.
When done reading, press Space with E to exit from Victor Reader and return to the Main Menu.
Subsection 3.7.3 Converting PDF Documents to Word Using Easy PDF
Suppose that you have a PDF file in Google Drive that you need to convert.
Press A then Enter to open All Applications.
Press D until you get to Drive; then press Enter.
In this example, I am looking for a file called "The Outsiders Comprehension Questions." So, press the letter T to get to it.
Once the file is located, arrow down one time to get to the More Actions button; then press Enter.
Use space+dot4 to arrow down to the Download option; then press Enter. You will be notified that one file will be downloaded.
Subsubsection <IP_ADDRESS> Converting the File
At the Main Menu, press A then Enter for All Applications.
Press E to get to EasyPDF; then press Enter.
Press P for PDF-to-word and press Enter.
An Open From message appears at the top of the screen, so arrow down to get to Downloads and press Enter.
choose the Outsiders Questions file and press Enter. You will be advised that the file is converting. When it is done, it will open in Word.
Save the file in your Documents folder as follows:
Press Backspace+S to open the Save As dialog.
Press the Previous thumb key two times to get to the Location button; then press Enter.
Press the triangular Back button several times to get to the list of folders in storage.
Press the letter D until you get to Documents; then press Enter.
Press S to get to the Select This Folder button; then press Enter.
Press the Next thumb key two times to get to the Save button; then press Enter. The word document will be saved in your documents folder.
You can now answer the questions, use Save As to add your name to the file name, and then share it back to google Docs as follows.
Open the Documents folder using File Manager.
Locate the file that you wish to share.
Tap the context button; press S for Share; then Enter.
Check the Save to Drive option.
Press J followed by Enter for Just once.
Press the Next thumb key until you get to the Save button; then press Enter to upload the file.
From time to time, it is a good idea to clear the folder where converted PDF files are normally saved.
Locate the EasyPDF app, but do not press Enter.
Tap the square context button and press Enter on Open App Info.
Press C to locate the Clear Data button; then press Enter. Now, press Enter on OK to clear the data.
Subsection 3.7.4 Using the Powerpoint App from Microsoft
First, go into the Play Store and search for "Powerpoint Microsoft."
Install the app.
For this example, I downloaded a Powerpoint called "Sea Floor Spreading," that I had stored on Google Drive. So, I will open it from the Download folder.
Locate the file using File Manager; then press Enter.
You will be prompted to open the app using:
Make sure that Powerpoint is checked.
Press J for Just once; then press Enter.
When the file loads, press P to get to the Present button; then press Enter.
To navigate using gestures, do the following:
Press the Previous+Next thumb keys to turn off Touch Braille; then lift the keyboard cover to display the screen of the tablet.
When you touch near the top of the screen, the slide title will be spoken and displayed in Braille.
When you touch the slide content, you can pan through the text using your panning keys.
Swipe left with two fingers to move to the next slide.
Swipe right with two fingers to move to the previous slide.
When done, close the keyboard cover and press the Previous+Next thumb keys to turn Touch Braille on.
Press Home to return to the Main Menu.


I am beginning my journey as a web developer after having a successful career as a highschool science teacher. I have always loved learning and creating, and in everything I do I pay great attention to detail.
Currently attending Lambda School, a world-class web developer programming bootcamp
Attended a one month programming intensive, where I learned C and shell
Attended the teaching credential program for secondary science
Recieved a Bachelors of Science in Biology with a medical microbiology emphasis... And I also became an amature mycologist
Taught algebra, geometry, biology, stem, and computer programming at a highschool level.
Student taught Biology and honors biology, developed curriculum, and collaborated with master teachers
Taught full-time middle school science, as the teacher of record


02 Nov 2017
Common terms
- mean (np.mean()): average
- spread: A measure of how spread out the values in a distribution are
- variance (np.var()) : A summary statistic often used to quantify spread
- standard deviation (np.std()) : The square root of variance, also used as a measure of spread
- mode : the value that appears most often in a set of data. scipy-func
# mode calculation using scipy
a = np.array([1,1,1])
from scipy import stats
stats.mode(a)
- normal distribution : An idealization of a bell-shaped distribution; also known as a Gaussian distribution
- uniform distribution: A distribution in which all values have the same
frequency
- tail: The part of a distribution at the high and low extremes
- outlier: A value far from the central tendency
- normalization : wiki
- PMF : Probability mass function (PMF) a representation of a distribution as a function that maps from values to probabilities. good for small dataset
- CMF : cumulative distribution function wiki , quantile , pandas-quantile , numpy-percentile
Pearson’s R
wiki
ranges from -1 to 1 and represents correlation
# x, y are numpy array or pandas series
def pearson_r(x , y):
#standardize x and y
xstd = (x - x.mean())/x.std()
ystd = (y - y.mean())/y.std()
pr = (xstd*ystd).mean()
return pr
Effect size
wiki cohen’s d
describes the size of an effect
def CohenEffectSize(group1, group2):
"""Computes Cohen's effect size for two groups.
group1: Series or DataFrame
group2: Series or DataFrame
returns: float if the arguments are Series;
Series if the arguments are DataFrames
"""
diff = group1.mean() - group2.mean()
var1 = group1.var()
var2 = group2.var()
n1, n2 = len(group1), len(group2)
pooled_var = (n1 * var1 + n2 * var2) / (n1 + n2)
d = diff / np.sqrt(pooled_var)
return d
Anlaytical Distributions
used to fit an empirical distribution (the distribution of actual data)
- exponential distribution
- normal distribution (Gaussian) : charaterstic parameters : mean and std (standard mean = 0, std = 1)
- Normal probability Plot : A plot of the values in a sample versus random values from a standard normal distribution. used to identify outliers, skewness, kurtosis, a need for transformations, and mixtures
- log-normal distribution
- pareto distribution
PDF : probability density function
derivative of CDF (description?)
integral of continuous PDF gives expected value
video
- KDE : is an algorithm that takes a sample and finds an appropriately smooth PDF that fits the data. use cases : visualization, Interpolation, Simulation
A framework that relates representations of distribution func-
tions.
from
- pearson’s median skewness wiki
positive, negative or zero.
def PearsonMedianSkewness(xs):
median = Median(xs)
mean = RawMoment(xs, 1)
var = CentralMoment(xs, 2)
std = np.sqrt(var)
gp = 3 * (mean - median) / std
return gp
Multivariate
- scatter plot : with and without jitter
- covariance :measure of the tendency of two variables to vary together
def Cov(xs, ys, meanx=None, meany=None):
xs = np.asarray(xs)
ys = np.asarray(ys)
if meanx is None:
meanx = np.mean(xs)
if meany is None:
meany = np.mean(ys)
cov = np.dot(xs-meanx, ys-meany) / len(xs)
return cov
-
correlation : statistic intended to quantify the strength of the relationship between two variables.
```python
def Corr(xs, ys):
xs = np.asarray(xs)
ys = np.asarray(ys)
meanx, varx = thinkstats2.MeanVar(xs)
meany, vary = thinkstats2.MeanVar(ys)
corr = Cov(xs, ys, meanx, meany) / np.sqrt(varx * vary)
return corr
np.corrcoef(xs, ys)
* Pearson's correlation : defined above (Corr) : is not robust in the presence of outliers, and it tends to underestimate the strength of non-linear relationships.
* Spearman's correlation is more robust, and it can handle non-linear relationships as long as they are monotonic. Here's a function that computes Spearman's correlation
```python
import pandas as pd
def SpearmanCorr(xs, ys):
xranks = pd.Series(xs).rank()
yranks = pd.Series(ys).rank()
return Corr(xranks, yranks)
estimation :later !!!
hypothesis testing ??
central limit theoram
09 May 2017
# source : https://www.kaggle.com/uciml/breast-cancer-wisconsin-data
# all imports
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
np.seterr(all='raise')
from sklearn.linear_model import LogisticRegression
import math
#helper functions
def getColumn(ndarray, col, true_val):
m = len(ndarray)
ret_col = np.zeros((m,1))
for i in range(0,m):
if ndarray[i,col] == true_val:
ret_col[i,0] = 1
return ret_col
# sigmoid function
def sigmoid(num):
#hack
if (num > 30):
return 0.99999999999999778
if (num < -500):
return 9.0066236945038063e-88
return 1/(1+np.exp(-num))
sigmoid_v = np.vectorize(sigmoid)
def pow_num(num, p):
ans = 1
for i in range(1,p+1):
ans = ans*num
return ans
pow_num_v = np.vectorize(pow_num)
# add one extra column per existing column for each new power
def poly_all(x_features, maxpow):
features = x_features.shape[1]
for i in range(0, features):
for p in range(2, maxpow+1):
x_features = np.c_[x_features, pow_num_v(x_features[:,i], p)]
return x_features
# naive cost and gradient calculation function
def costFunctionBasic(theta, x_features, y_result):
m = len(y_result)
grad = np.zeros((len(theta), 1))
H = sigmoid_v(np.dot(x_features,theta))
J = (-1/m) * np.sum(((y_result)*np.log(H)) + ((1-y_result)*np.log(1- H)))
for i in range(0,len(grad)):
grad[i] = (1/m) * np.sum((H - y_result)*x_features[:,i].reshape(m,1))
return J, grad
def trainPlotBasic(iterations, theta, x_features, y_result):
jhist = []
iterx = []
alpha = 0.001
for i in range(1, iterations):
cost_out, grad_out = costFunctionBasic(theta, x_features, y_result)
jhist.append(cost_out)
iterx.append(i)
for i in range(0, len(theta)):
theta[i] = theta[i] - grad_out[i]
plt.plot(iterx, jhist, 'rx', linewidth=2)
plt.show()
hc, hgrad = costFunctionBasic(theta, x_features, y_result)
print(hc)
def lrCostFunctionCost(theta, x_features, y_result, lambda_val):
m = len(y_result)
H = sigmoid_v(np.dot(x_features,theta))
J = (-1/m) * np.sum(((y_result)*np.log(H) + (((1-y_result))*np.log(1 - H))))
theta_ex = theta[1:]
J = J + ((lambda_val/(2*m))*np.dot(theta_ex.T,theta_ex).reshape(1,)[0])
return J
def lrCostFunctionGrad(theta, x_features, y_result, lambda_val, alpha):
m = len(y_result)
grad = np.zeros((len(theta), 1))
H = sigmoid_v(np.dot(x_features,theta))
cons = alpha*(lambda_val/m)
grad[0] = alpha*(1/m) * np.sum(((H - y_result)*(x_features[:,0].reshape(m,1))))
for i in range(1,len(grad)):
grad[i] = alpha*(1/m) * np.sum((H - y_result)*(x_features[:,i].reshape(m,1)))
g_ex = cons * theta[i]
grad[i] = grad[i] + g_ex
return grad.reshape((len(theta),))
def lrTrain(iterations, theta, x_features, y_result, lambda_val, alpha, plot=True):
jhist = []
iterx = []
for i in range(1, iterations):
cost_out = lrCostFunctionCost(theta, x_features, y_result, lambda_val)
grad_out = lrCostFunctionGrad(theta, x_features, y_result, lambda_val, alpha)
jhist.append(cost_out)
iterx.append(i)
for i in range(0, len(theta)):
theta[i] = theta[i] - grad_out[i]
if (plot):
plt.plot(iterx, jhist, 'rx', linewidth=2)
plt.show()
hc = lrCostFunctionCost(theta, x_features, y_result, lambda_val)
print(hc)
return theta
def featureNormalize(x_features):
m = len(x_features)
features = x_features.shape[1]
mu = np.apply_along_axis(np.mean, 0, x_features).reshape((features,1))
norm_features = np.zeros((m, features))
for i in range(0,features):
norm_features[:,i] = (x_features[:,i].reshape((m,1)) - (np.ones((m,1))*mu[i])).reshape((m,))
sigma = np.apply_along_axis(np.std, 0, x_features).reshape((features,1))
for i in range (0, features):
norm_features[:,i] = (norm_features[:,i].reshape((m,1)) - (np.ones((m,1))*sigma[i])).reshape((m,))
return norm_features[:,0:features+1], mu, sigma
def featureNormalizePredefined(x_features, mu, sigma):
m = len(x_features)
features = x_features.shape[1]
norm_features = np.zeros((m, features))
for i in range(0,features):
norm_features[:,i] = (x_features[:,i].reshape((m,1)) - (np.ones((m,1))*mu[i])).reshape((m,))
for i in range (0, features):
norm_features[:,i] = (norm_features[:,i].reshape((m,1)) - (np.ones((m,1))*sigma[i])).reshape((m,))
return norm_features[:,0:features+1]
def learningCurve(Xtrain, Ytrain, Xcv, Ycv, lambda_val, iterations, theta, alpha):
error_train = []
error_val = []
max_train = len(Xtrain)
for i in range(1, max_train+1):
theta_pred = lrTrain(iterations, theta, Xtrain[0:i,], Ytrain[0:i,], lambda_val, alpha, plot=False)
cost_train = lrCostFunctionCost(theta_pred, Xtrain[0:i,], Ytrain[0:i,], lambda_val)
cost_val = lrCostFunctionCost(theta_pred, Xcv, Ycv, lambda_val)
error_train.append(cost_train)
error_val.append(cost_val)
x_axis = np.arange(1, len(error_train)+1)
plt.plot(x_axis, error_train, 'r-', linewidth=2)
plt.ylabel('Learning curve for linear regression');
plt.xlabel('Number of training examples');
plt.plot(x_axis, error_val, 'y-', linewidth=2)
plt.show()
return
def getcost_srm(y_pred, y_actual):
m = len(y_pred)
cost = 0
for i in range(0, m):
cost = cost + math.pow((y_pred[i] - y_actual[i]),2)
return (math.sqrt(cost) / m)
# data input
data_df = pd.read_csv('data.csv', delimiter=',')
data_mat = data_df.values
print(data_mat.shape)
# preview
data_df[5:15] #slective display
|
id |
diagnosis |
radius_mean |
texture_mean |
perimeter_mean |
area_mean |
smoothness_mean |
compactness_mean |
concavity_mean |
concave points_mean |
... |
texture_worst |
perimeter_worst |
area_worst |
smoothness_worst |
compactness_worst |
concavity_worst |
concave points_worst |
symmetry_worst |
fractal_dimension_worst |
Unnamed: 32 |
| 5 |
843786 |
M |
12.45 |
15.70 |
82.57 |
477.1 |
0.12780 |
0.17000 |
0.15780 |
0.08089 |
... |
23.75 |
103.40 |
741.6 |
0.1791 |
0.5249 |
0.5355 |
0.17410 |
0.3985 |
0.12440 |
NaN |
| 6 |
844359 |
M |
18.25 |
19.98 |
119.60 |
1040.0 |
0.09463 |
0.10900 |
0.11270 |
0.07400 |
... |
27.66 |
153.20 |
1606.0 |
0.1442 |
0.2576 |
0.3784 |
0.19320 |
0.3063 |
0.08368 |
NaN |
| 7 |
84458202 |
M |
13.71 |
20.83 |
90.20 |
577.9 |
0.11890 |
0.16450 |
0.09366 |
0.05985 |
... |
28.14 |
110.60 |
897.0 |
0.1654 |
0.3682 |
0.2678 |
0.15560 |
0.3196 |
0.11510 |
NaN |
| 8 |
844981 |
M |
13.00 |
21.82 |
87.50 |
519.8 |
0.12730 |
0.19320 |
0.18590 |
0.09353 |
... |
30.73 |
106.20 |
739.3 |
0.1703 |
0.5401 |
0.5390 |
0.20600 |
0.4378 |
0.10720 |
NaN |
| 9 |
84501001 |
M |
12.46 |
24.04 |
83.97 |
475.9 |
0.11860 |
0.23960 |
0.22730 |
0.08543 |
... |
40.68 |
97.65 |
711.4 |
0.1853 |
1.0580 |
1.1050 |
0.22100 |
0.4366 |
0.20750 |
NaN |
| 10 |
845636 |
M |
16.02 |
23.24 |
102.70 |
797.8 |
0.08206 |
0.06669 |
0.03299 |
0.03323 |
... |
33.88 |
123.80 |
1150.0 |
0.1181 |
0.1551 |
0.1459 |
0.09975 |
0.2948 |
0.08452 |
NaN |
| 11 |
84610002 |
M |
15.78 |
17.89 |
103.60 |
781.0 |
0.09710 |
0.12920 |
0.09954 |
0.06606 |
... |
27.28 |
136.50 |
1299.0 |
0.1396 |
0.5609 |
0.3965 |
0.18100 |
0.3792 |
0.10480 |
NaN |
| 12 |
846226 |
M |
19.17 |
24.80 |
132.40 |
1123.0 |
0.09740 |
0.24580 |
0.20650 |
0.11180 |
... |
29.94 |
151.70 |
1332.0 |
0.1037 |
0.3903 |
0.3639 |
0.17670 |
0.3176 |
0.10230 |
NaN |
| 13 |
846381 |
M |
15.85 |
23.95 |
103.70 |
782.7 |
0.08401 |
0.10020 |
0.09938 |
0.05364 |
... |
27.66 |
112.00 |
876.5 |
0.1131 |
0.1924 |
0.2322 |
0.11190 |
0.2809 |
0.06287 |
NaN |
| 14 |
84667401 |
M |
13.73 |
22.61 |
93.60 |
578.3 |
0.11310 |
0.22930 |
0.21280 |
0.08025 |
... |
32.01 |
108.80 |
697.7 |
0.1651 |
0.7725 |
0.6943 |
0.22080 |
0.3596 |
0.14310 |
NaN |
10 rows × 33 columns
# data distribution : 60% train 20% cross validation and 20% test
Y = getColumn(data_mat, 1, 'M').astype(np.float64)
feature_set = data_mat[:,2:-1]
feature_set = feature_set.astype(np.float64)
X = feature_set
Xtrain = X[0:340]
Ytrain = Y[0:340]
Xval = X[340:454]
Yval = Y[340:454]
Xtest = X[454:569]
Ytest = Y[454:569]
# simple gradient descent without any normalization/regularization on a linear function
Xtrain_naive = np.c_[np.ones((len(Xtrain), 1)), Xtrain]
theta = np.zeros((Xtrain_naive.shape[1], 1))
# print(costFunctionBasic(theta, Xtrain, Ytrain))
# initial cost with simple line : 0.69314718055994529
iterations = 100
trainPlotBasic(iterations, theta, Xtrain_naive, Ytrain)
# final cost : 17.5652032012
# lamda : regularization
Xtrain_lambda = np.c_[np.ones((len(Xtrain), 1)), Xtrain]
theta = np.zeros((Xtrain_lambda.shape[1], 1))
#lrCostFunctionCost(theta, Xtrain, Ytrain, 0)
#lrCostFunctionGrad(theta, Xtrain, Ytrain, 0)
iterations = 1000
lambda_val = 10
alpha = 0.03
lrTrain(iterations, theta, Xtrain_lambda, Ytrain, lambda_val, alpha)
# Cost : 2.37355571949
160.526793317
array([[ -1.76169066e+00],
[ -8.05504712e+00],
[ -1.11720283e+01],
[ -4.75875033e+01],
[ -3.23590072e+01],
[ -7.79018985e-02],
[ 1.65497695e-02],
[ 9.95711315e-02],
[ 4.74403613e-02],
[ -1.52357530e-01],
[ -6.02914767e-02],
[ -1.55241595e-02],
[ -9.20818163e-01],
[ 3.57864352e-01],
[ 2.20402112e+01],
[ -5.00831414e-03],
[ 2.51569424e-03],
[ 2.71240880e-03],
[ -8.52539632e-04],
[ -1.58521991e-02],
[ -2.10039034e-03],
[ -8.21661811e+00],
[ -1.46369537e+01],
[ -4.67239100e+01],
[ 3.12756286e+01],
[ -1.00338233e-01],
[ 9.44196386e-02],
[ 1.95382645e-01],
[ 5.05882047e-02],
[ -2.05374348e-01],
[ -5.90371759e-02]])
# feature normalization
Xtrain_normalized, mu, sigma = featureNormalize(Xtrain)
Xtrain_normalized = np.c_[np.ones((len(Xtrain_normalized),1)), Xtrain_normalized]
theta = np.zeros((Xtrain_normalized.shape[1], 1))
iterations = 100
lambda_val = 10
alpha = 0.01
lrTrain(iterations, theta, Xtrain_normalized, Ytrain, lambda_val, alpha)
38.6160109598
array([[ 1.56672428e-01],
[ 7.59894360e-02],
[ 6.65573826e-02],
[ 6.83615375e-01],
[ -5.05709804e-01],
[ -6.70019838e-05],
[ 2.28785246e-03],
[ 3.35545140e-03],
[ 2.75149720e-03],
[ -1.01283694e-03],
[ -8.78256956e-04],
[ -9.11205330e-03],
[ -7.99281914e-02],
[ -5.78977078e-02],
[ -2.09783979e+00],
[ -5.45545324e-04],
[ -1.16631471e-03],
[ -3.23362131e-03],
[ -1.75830647e-04],
[ -1.62198897e-03],
[ -3.81589428e-04],
[ 1.62533141e-01],
[ 2.23532444e-01],
[ 1.32019768e+00],
[ -3.57482442e-02],
[ 5.51544909e-04],
[ 9.06269864e-03],
[ 1.17242543e-02],
[ 6.73844320e-03],
[ 2.97136552e-04],
[ -1.51707426e-04]])
# higher order functions : non linear
# helper functions
def selectFeatures(x_features):
x_features_small = np.c_[x_features[:,0], x_features[:,1],
x_features[:,4], x_features[:,5],
x_features[:,6], x_features[:,7],
x_features[:,8], x_features[:,9]]
return x_features_small
# feature selection
Xtrainsmall = selectFeatures(Xtrain)
Xtrain_normalized, mu, sigma = featureNormalize(Xtrainsmall)
Xtrain_normalized = poly_all(Xtrain_normalized, 1)
Xtrain_normalized = np.c_[np.ones((len(Xtrain_normalized),1)), Xtrain_normalized]
Xvalsmall = selectFeatures(Xval)
Xval_normalized = featureNormalizePredefined(Xvalsmall, mu, sigma)
Xval_normalized = poly_all(Xval_normalized, 1)
Xval_normalized = np.c_[np.ones((len(Xval_normalized),1)), Xval_normalized]
# tuning parameters
theta = np.zeros((Xtrain_normalized.shape[1], 1))
iterations = 1000
lambda_val = 1
alpha = 0.001
# training algo
#lrTrain(iterations, theta, Xtrain_normalized, Ytrain, lambda_val, alpha)
#learningCurve(Xtrain_normalized, Ytrain, Xval_normalized, Yval, lambda_val, iterations, theta, alpha)
theta_pred = lrTrain(iterations, theta, Xtrain_normalized, Ytrain, lambda_val, alpha)
Xtestsmall = selectFeatures(Xtest)
Xtest_normalized = featureNormalizePredefined(Xtestsmall, mu, sigma)
Xtest_normalized = poly_all(Xtest_normalized, 1)
Xtest_normalized = np.c_[np.ones((len(Xtest_normalized),1)), Xtest_normalized]
print(lrCostFunctionCost(theta_pred, Xtest_normalized, Ytest, lambda_val))
0.497460480159
0.325746064892
# square root mean using basic gradient descent
y_pred_lr = np.dot(Xtest_normalized, theta_pred).shape
cost = getcost_srm(y_pred_lr, Ytest)
print(cost)
# cross check with scikit-learn SVM
x_svm = Xtrain_normalized
y_svm = Ytrain.reshape((len(Ytrain),))
lr = LogisticRegression(penalty='l2',
dual=False,
tol=0.000001,
C=10.0,
fit_intercept=True,
intercept_scaling=1,
class_weight=None,
random_state=1,
solver='newton-cg',
max_iter=100,
multi_class='multinomial',
verbose=0,
warm_start=False,
n_jobs=1)
lr.fit(x_svm, y_svm)
y_pred = lr.predict(Xtest_normalized)
# calculating srm
cost = getcost_srm(y_pred, Ytest)
print(cost)
20 Feb 2017
Chat analysis (google hangout and whatsapp)
little experiment I did last year, using R NLP librarires and hangout and whatsapp data.
Getting/Cleaning hangout data
Hangout data can be downloaded using google takeaway. The data that I used and tested is from 2014-2015 timeframe.
JSON file provided by google is very huge and requires knowledge of data format to
extract the conversation so I used https://bitbucket.org/dotcs/hangouts-log-reader/ tool to extract the convertion
after processing the output of ‘hangout_reader.py’ I had the file in this format:
2014-02-18 16:44:22: <1author-1> message
2014-02-18 16:44:33: <2author-2> message
Getting/Cleaning whatsapp data
Getting whatsapp data was straight forward. Just emailed the conversation to my inbox. only problem was that the format
slightyly changed in between 2014 and 2015. so I had to use two different parsing code.
2014 format
09:53, 21 Jan - 1author-1: message
09:57, 24 Jan - 2author-2: message
2015 format
20/05/2015, 1:18 PM - 1author-1: message
20/05/2015, 1:18 PM - 2author-2: message
Final data was exported to individual CSV files (cleanChat.c) with following columns
- year
- month
- day
- hour
- minute
- author
- message
- source
datain.R : to input data
WordCloud
wordcloud.R : Generates a basic wordcloud
libraries
GGplot2
ggplot2.R : Generates a basic graph
library
Other details
R version : 3.2.5
further work
will add more experiments soon.


Note 1: The latest version of this model is currently set to {{currentVersion}}
Note 2: Once you finalise this record, you can not edit it anymore!
However, you can create a new version of it.
To find out more about Semantic Versioning, please visit the
https://semver.org/ website.


--- layout: post title: I would NOT want to see this in the morning. Thanks for the nightmares, Skymall. date: 2010-04-20 14:40:45.000000000 -07:00 type: post published: true status: publish categories: [] tags: [] meta: {} author: ---
Sent via iPidgeon


Press release
Inspections of academies in Kemnal Academies Trust
Ofsted publishes the outcome letter for the recent focused inspection of academy schools in Kemnal Academies Trust (TKAT).
Her Majesty’s Inspectors carried out a series of inspections of academies within the Trust because of wider concerns about schools’ performance within the chain. Of the 39 schools in the Trust, less than half are good. There are no longer any outstanding academies in the chain.
Ofsted inspected 6 primary academies in TKAT, over a 2-week period, where inspectors judged the effectiveness of each school and also gathered information on the quality and impact of support provided by the Trust to headteachers and governors. In addition inspectors conducted telephone interviews with the headteachers at 12 further schools.
The outcomes from the inspections of the 6 academies were:
-
one was judged inadequate and placed in ‘special measures’
-
three were judged to require improvement
-
two were judged to be good.
This means that an overwhelming proportion of pupils attending one of the academies inspected are not receiving a good education.
The inspections highlighted key weaknesses across many of the 6 academies inspected, including:
-
teaching that was not good enough to enable all groups of pupils to make enough progress
-
insufficient challenge for more-able pupils and expectations that are not high enough
-
weaknesses in pupils’ writing and mathematical skills
-
ineffective marking and feedback to pupils which does not help them to understand how to improve their work
-
a lack of urgency in taking effective action to close the gap between disadvantaged pupils and others
-
governance that has not secured effective leadership, displays a lack of urgency to bring about improvements and does not provide sufficient challenge in holding school leaders to account
Although inspectors found that support for academies was becoming more effective, in too many schools, the improvements in support have come about too late to make a significant difference.
However, recent improvements as a result of restructuring the leadership have meant the Trust is in a stronger position to support academies.
Notes to editors
-
The
TKAT outcome letter
is available online. This includes an annex naming all of the academies inspected and the individual judgements where these have been published.
-
All the academies selected for inspection fortnight were due to be inspected during the current academic year. As with all standard s5 inspections, an individual inspection report will be published for each school.
-
TKAT currently manages 14 secondary academies and 25 primary academies.
-
The Office for Standards in Education, Children’s Services and Skills (Ofsted) regulates and inspects to achieve excellence in the care of children and young people, and in education and skills for learners of all ages. It regulates and inspects childcare and children’s social care, and inspects the Children and Family Court Advisory Support Service (Cafcass), schools, colleges, initial teacher training, work-based learning and skills training, adult and community learning, and education and training in prisons and other secure establishments. It assesses council children’s services, and inspects services for looked after children, safeguarding and child protection.


Looking for the Cattle Grid Wordpress theme? Head on over!
Finally got around to building my own Simple CSS Framework after becoming too annoyed at the reliance on the likes of a Foundation & Bootstrap. Foundation served me well for years, but it’s too bloated and too contaminated with elements that could be refactored and simplified.
Which leads me to this! I now have my simple (under 20kb) responsive flex box grid I’ve named the Cattle Grid 🐮 - If you want just the css grid, grab _grid.scss from assets/scss/base and import it into your stylesheets!
The repo for the entire codebase can be found over on GitLab
Positioning
Cattle Grid | A simple, configurable CSS Flexbox Framework
H1 Headline at 40px desktop & 30px mobile
Cattle Grid | A simple, configurable CSS Flexbox Framework
H2 Headline at 30px desktop & 18px mobile
Cattle Grid | A simple, configurable CSS Flexbox Framework
H3 Headline at 25px desktop & 16px mobile
Cattle Grid | A simple, configurable CSS Flexbox Framework
H4 Headline at 20px desktop & 16px mobile
Cattle Grid | A simple, configurable CSS Flexbox Framework
H5 Headline at 18px desktop & 14px mobile
Cattle Grid | A simple, configurable CSS Flexbox Framework
H6 Headline at 16px desktop & 14px mobile
- This is a list item in the Cattle Grid
- So is this - there could be more
- Make sure to style list items to:
- Not forgetting child list items
- Not forgetting child list items
- Not forgetting child list items
- Not forgetting child list items
- A couple more
- top level list items
- This is an ordered list in the Cattle Grid
- So is this - there could be more
- Not forgetting child list items
- Not forgetting child list items
- A couple more
- top level list items
| Table Heading | Table Heading |
|---|---|
| table data | table data |
| table data | table data |
| table data | table data |
| table data | table data |
“A blockquote! I may as well take the time to talk more about what makes the Cattle Grid CSS Framework a worth while choice when starting a new project. If you've ever decided to use a framework and realised just how bloated it is, you will notice files absolutely everywhere - and you know you can't remove them as it will just collapse, but you have no use for them at all, so you're stuck. This is where the Cattle Grid is different, - you can nuke whatever you want! So long as you have your grid, your settings and your config file - the rest is up to you!
Continuining on from above.. The files I've added into the base folder are just things I think could be useful, but they're not a necessity. If you like how this is organised and structured, just wait until you see the Wordpress theme!
#header h1 a {
display: block;
width: 300px;
height: 80px;
}
I am the a tag
I am the abbr tag
I am the acronym tag
I am the b tag
I am the big tag
I am the cite tag
I am the code tag
I am the del tag
I am the dfn tag
I am the em tag
I am the i tag
I am the ins tag
I am the kbd tag
I am the q tag
I am the samp tag
I am the small tag
I am the span tag
I am the sub tag
I am the tt tag
I am the var tag
I am the small class
I am the large class
I am the quiet class
I am the highlight class
Inputs
Radio Boxes
Switch
To show the file name next to the button after a file has been chosen, sadly you will need some very simple js!
Normal
Overlay
Greyscale
Blur
Fades
Hover to hide
hello!Badges
Instagram Facebook Twiter Pinterest Etsy Buffer Reddit


pyemu.ev
¶
Module Contents¶
Classes¶
FOSM-based error variance analysis |
-
class
pyemu.ev.
ErrVar
(jco, **kwargs)¶ Bases:
pyemu.la.LinearAnalysis
FOSM-based error variance analysis
- Parameters
jco (varies, optional) – something that can be cast or loaded into a pyemu.Jco. Can be a str for a filename or pyemu.Matrix/pyemu.Jco object.
pst (varies, optional) – something that can be cast into a pyemu.Pst. Can be an str for a filename or an existing pyemu.Pst. If None, a pst filename is sought with the same base name as the jco argument (if passed)
parcov (varies, optional) – prior parameter covariance matrix. If str, a filename is assumed and the prior parameter covariance matrix is loaded from a file using the file extension (“.jcb”/”.jco” for binary, “.cov”/”.mat” for PEST-style ASCII matrix, or “.unc” for uncertainty files). If None, the prior parameter covariance matrix is constructed from the parameter bounds in LinearAnalysis.pst. Can also be a pyemu.Cov instance
obscov (varies, optional) – observation noise covariance matrix. If str, a filename is assumed and the noise covariance matrix is loaded from a file using the file extension (“.jcb”/”.jco” for binary, “.cov”/”.mat” for PEST-style ASCII matrix, or “.unc” for uncertainty files). If None, the noise covariance matrix is constructed from the obsevation weights in LinearAnalysis.pst. Can also be a pyemu.Cov instance
forecasts (varies, optional) – forecast sensitivity vectors. If str, first an observation name is assumed (a row in LinearAnalysis.jco). If that is not found, a filename is assumed and predictions are loaded from a file using the file extension. If [str], a list of observation names is assumed. Can also be a pyemu.Matrix instance, a numpy.ndarray or a collection. Note if the PEST++ option “++forecasts()” is set in the pest control file (under the pyemu.Pst.pestpp_options dictionary), then there is no need to pass this argument (unless you want to analyze different forecasts) of pyemu.Matrix or numpy.ndarray.
ref_var (float, optional) – reference variance. Default is 1.0
verbose (bool) – controls screen output. If str, a filename is assumed and and log file is written.
sigma_range (float, optional) – defines range of upper bound - lower bound in terms of standard deviation (sigma). For example, if sigma_range = 4, the bounds represent 4 * sigma. Default is 4.0, representing approximately 95% confidence of implied normal distribution. This arg is only used if constructing parcov from parameter bounds.
scale_offset (bool, optional) – flag to apply parameter scale and offset to parameter bounds when calculating prior parameter covariance matrix from bounds. This arg is onlyused if constructing parcov from parameter bounds.Default is True.
omitted_parameters ([str]) – list of parameters to treat as “omitted”. Passing this argument activates 3-term error variance analysis.
omitted_parcov (varies) – an argument that can be cast to a parcov for the omitted parameters. If None, omitted_parcov will be formed by extracting a sub-matrix from the LinearAnalsis.parcov attribute.
omitted_predictions (varies) – an argument that can be cast to a “predictions” (e.g. “forecasts”) attribute to form prediction sensitivity vectors with respec to the omitted parameters. If None, these vectors will be extracted from the pyemu.LinearAnalysis.predictions attribute
kl (bool, optional) – flag to perform Karhunen-Loeve scaling on the jacobian before error variance calculations. If True, the pyemu.ErrVar.jco and pyemu.ErrVar.parcov are altered in place. Default is False.
Example:
ev = pyemu.ErrVar(jco="my.jco",omitted_parameters=["wel1","wel2"]) df = ev.get_errvar_dataframe()
-
__load_omitted_predictions
(self)¶ private: set the omitted_predictions attribute
-
__load_omitted_parcov
(self)¶ private: set the omitted_parcov attribute
-
__load_omitted_jco
(self)¶ private: set the omitted jco attribute
-
property
omitted_predictions
(self)¶ omitted prediction sensitivity vectors
- Returns
a matrix of prediction sensitivity vectors (column wise) to omitted parameters
- Return type
pyemu.Matrix
-
property
omitted_jco
(self)¶ the omitted-parameters jacobian matrix
- Returns
the jacobian matrix instance of non-zero-weighted observations and omitted parameters
- Return type
pyemu.Jco
-
property
omitted_parcov
(self)¶ the prior omitted-parameter covariance matrix
- Returns
the prior parameter covariance matrix of the omitted parameters
- Return type
pyemu.Cov
-
get_errvar_dataframe
(self, singular_values=None)¶ primary entry point for error variance analysis.
- Parameters
singular_values ([int], optional) – a list singular values to test. If None, defaults to range(0,min(nnz_obs,nadj_par) + 1).
- Returns
a multi-indexed pandas dataframe summarizing each of the error variance terms for each nominated forecast.
- Return type
pandas.DataFrame
Example:
ev = pyemu.ErrVar(jco="my.jco",omitted_parameters=["wel1","wel2"]) df = ev.get_errvar_dataframe()
-
get_identifiability_dataframe
(self, singular_value=None, precondition=False)¶ primary entry point for identifiability analysis
- Parameters
singular_value (int) – the singular spectrum truncation point. Defaults to minimum of non-zero-weighted observations and adjustable parameters
precondition (bool) – flag to use the preconditioned hessian with the prior parameter covariance matrix (xtqt + sigma_theta^-1). This should be used KL scaling. Default is False.
- Returns
A pandas dataframe of the right solution-space singular vectors and identifiability (identifiabiity is in the column labeled “ident”)
- Return type
pandas.DataFrame
Examples:
ev = pyemu.ErrVar(jco="my.jco") df = ev.get_identifiability_dataframe(singular_value=20) df.ident.plot(kind="bar")
-
variance_at
(self, singular_value)¶ - get the error variance of all three error variance terms at a
given singluar value
- Parameters
singular_value (int) – singular value to test
- Returns
dictionary of (err var term,prediction_name), variance pairs
- Return type
dict
-
R
(self, singular_value)¶ get resolution Matrix (V_1 * V_1^T) at a given singular value
Args: singular_value (int): singular value to calculate R at
- Returns
resolution matrix at singular_value
- Return type
pyemu.Matrix
-
I_minus_R
(self, singular_value)¶ get I - R at a given singular value
- Parameters
singular_value (int) – singular value to calculate I - R at
- Returns
identity matrix minus resolution matrix at singular_value
- Return type
pyemu.Matrix
-
G
(self, singular_value)¶ get the parameter solution Matrix at a given singular value
- Parameters
singular_value (int) – singular value to calc G at
- Returns
parameter solution matrix (V_1 * S_1^(_1) * U_1^T) at singular_value
- Return type
pyemu.Matrix
-
first_forecast
(self, singular_value)¶ - get the null space term (first term) contribution to forecast (e.g. prediction)
error variance at a given singular value.
- Parameters
singular_value (int) – singular value to calc first term at
Note
This method is used to construct the error variance dataframe
Just a wrapper around ErrVar.first_forecast
- Returns
dictionary of (“first”,prediction_names),error variance pairs at singular_value
- Return type
dict
-
first_prediction
(self, singular_value)¶ - get the null space term (first term) contribution to prediction error variance
at a given singular value.
- Parameters
singular_value (int) – singular value to calc first term at
Note
This method is used to construct the error variance dataframe
- Returns
dictionary of (“first”,prediction_names),error variance pairs at singular_value
- Return type
dict
-
first_parameter
(self, singular_value)¶ - get the null space term (first term) contribution to parameter error variance
at a given singular value
- Parameters
singular_value (int) – singular value to calc first term at
- Returns
first term contribution to parameter error variance
- Return type
pyemu.Cov
-
second_forecast
(self, singular_value)¶ get the solution space contribution to forecast (e.g. “prediction”) error variance at a given singular value
- Parameters
singular_value (int) – singular value to calc second term at
Note
This method is used to construct error variance dataframe
Just a thin wrapper around ErrVar.second_prediction
- Returns
dictionary of (“second”,prediction_names), error variance arising from the solution space contribution (y^t * G * obscov * G^T * y)
- Return type
dict
-
second_prediction
(self, singular_value)¶ get the solution space contribution to predictive error variance at a given singular value
- Parameters
singular_value (int) – singular value to calc second term at
Note
This method is used to construct error variance dataframe
- Returns: dict: dictionary of (“second”,prediction_names), error variance
arising from the solution space contribution (y^t * G * obscov * G^T * y)
-
second_parameter
(self, singular_value)¶ - get the solution space contribution to parameter error variance
at a given singular value (G * obscov * G^T)
- Parameters
singular_value (int) – singular value to calc second term at
- Returns
the second term contribution to parameter error variance (G * obscov * G^T)
- Return type
pyemu.Cov
-
third_forecast
(self, singular_value)¶ - get the omitted parameter contribution to forecast (prediction) error variance
at a given singular value.
- Parameters
singular_value (int) – singular value to calc third term at
Note
used to construct error variance dataframe just a thin wrapper around ErrVar.third_prediction()
- Returns
a dictionary of (“third”,prediction_names),error variance
- Return type
dict
-
third_prediction
(self, singular_value)¶ - get the omitted parameter contribution to prediction error variance
at a given singular value.
- Parameters
singular_value (int) – singular value to calc third term at
Note
used to construct error variance dataframe
- Returns
a dictionary of (“third”,prediction_names),error variance
- Return type
dict
-
third_parameter
(self, singular_value)¶ - get the omitted parameter contribution to parameter error variance
at a given singular value
- Parameters
singular_value (int) – singular value to calc third term at
- Returns
the third term contribution to parameter error variance calculated at singular_value (G * omitted_jco * Sigma_(omitted_pars) * omitted_jco^T * G^T). Returns 0.0 if third term calculations are not being used.
- Return type
pyemu.Cov
-
get_null_proj
(self, maxsing=None, eigthresh=1e-06)¶ get a null-space projection matrix of XTQX
- Parameters
maxsing (int, optional) – number of singular components to use (the truncation point). If None, pyemu.Matrx.get_maxsing() is used to determine the truncation point with `eigthresh. Default is None
eigthresh (float, optional) – the ratio of smallest to largest singular value to keep in the range (solution) space of XtQX. Not used if maxsing is not None. Default is 1.0e-6
Note
used for null-space monte carlo operations.
- Returns
pyemu.Matrix the null-space projection matrix (V2V2^T)


-quit -batchmode -executeMethod YourEditorScript.YourBuildMethod [-nographics]
or
-quit -batchmode -buildWindowsPlayer path/to/your/build.exe
or
-quit -batchmode -buildOSXPlayer path/to/your/build.app
If this value isn't set, the globalArgLine is used.
Note: we make little to no attempt to detect conflicting arguments or arguments not suitable to the platform neither at configuration nor at runtime.
If the specified command line contains no -projectpath
argument, the plugin automatically adds one with the proper parameter (the workspace of the project on the target machine).
This is to make sure unity builds the proper project. Otherwise unity would reuse the last opened project. You can override it, but this hasn't been thoroughly tested.
If your build agent have multiple executors (which you should probably do), it is highly recommended to make use of a -logFile
argument to avoid letting Unityed write to the standard editor.log concurrently. A recommended practise is to use something like -logFile "$WORKSPACE/unity3d_editor.log"
.
See the official Editor command line arguments documentation.


 Please use the methods below to reach out to us:
Mailing List
To get the latest update, you can subscribe to DtCraft user list: Subscribe (Unsubscribe).
Or you can send an email to<EMAIL_ADDRESS>titled "Subscribe to DtCraft users".
Report Issues
To report bugs or any problem related to the software usage, please use our git issue tracker.


Attainment characteristics team
Email<EMAIL_ADDRESS>Telephone: Jenny Easby 0207 783 8457
National Statistics
Pupil attainment at state-funded schools in the 2009 to 2010 academic year.
Ref: SFR37/2010 PDF , 101KB , 15 pages
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 3.7MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 1.55MB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
ZIP , 86.6KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
Plain text , 1.78KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
Attainment for GCSE and equivalent results by different pupil characteristics, specifically gender, ethnicity, English as a first language, eligibility for free school meals (FSM), special educational needs (SEN) and Income Deprivation Affecting Children Index (IDACI) at national and local authority level.
Girls continue to outperform boys - 58.6% of girls in the maintained sector achieved 5 or more A* to C grades at GCSE or equivalent including English and mathematics GCSEs compared to 51.1% of boys.
Email<EMAIL_ADDRESS>Telephone: Jenny Easby 0207 783 8457
Published: 16 December 2010
From: Department for Education
Part of: Statistics: GCSEs (key stage 4)


Let's Plays Pokémon
Type a, b, select, start, left, right, up, or down in the textbox, press enter, and your command will be sent to be executed during the next tick!
Democracy: If two commands are in competition, the one with the most "votes" will always be selected
Active players ()


This is a totally unaccurate carbon emission calculator. Help us to make it more accurate: Github
Using browser API's, extension gets total transfer size and "guesses" emitted CO2 according to total transfer size of the page.
We are using word "guess" because it's nearly impossible to measure carbon emission just using transfer size data. This extension accepts that 1 MB transfer emits 0.003 kilograms of CO2.
If you are not a web developer, unfortunately there isn't much to do with this extension on your end. You can just use this extesion for fun. Maybe you can go and plant a tree. I don't know, I'm just a developer :)
If you are a web developer, you can calculate how much your app emits CO2 and you can try to reduce transfer size of your app. Also you can always contribute to this project.


public class BluetoothUtility
extends java.lang.Object
implements android.bluetooth.BluetoothProfile.ServiceListener
| Modifier and Type | Class and Description |
|---|---|
static class |
BluetoothUtility.InputStreamType
Type of input streams that can be used for reading bluetooth data.
|
| Modifier and Type | Field and Description |
|---|---|
static int |
REQUEST_BLUETOOTH
Bluetooth Request constant.
|
static int |
REQUEST_BLUETOOTH_SCAN
Request code for a bluetooth scan.
|
| Constructor and Description |
|---|
BluetoothUtility(android.content.Context context,
android.app.Activity refActivity,
BluetoothHandler handler)
Constructor for
BluetoothUtility This class is a wrapper class for a BluetoothAdapter and makes a lot of its functionality easier. |
| Modifier and Type | Method and Description |
|---|---|
void |
cancelScan()
Cancels the scanning process.
|
boolean |
checkIfEnabled()
Checks to see if bluetooth is enabled.
|
void |
closeConnections()
Closes all the connections.
|
void |
connectA2DPProxy(android.bluetooth.BluetoothA2dp bluetoothA2dp,
android.bluetooth.BluetoothDevice a2dpDevice)
After a proxy is returned, this method connects the a2dp device using the proxy and the
class declared method.
|
void |
connectDevice(java.lang.String macAddress)
Connects a device given a mac address.
|
void |
connectToClientToBluetoothServer(java.lang.String macAddress)
Connects to a set up server socket.
|
void |
createBluetoothServerSocket()
Creates a server socket on this device that awaits for a client connection.
|
void |
enableBluetooth()
Enables Bluetooth, BluetoothBroadCastReceiver should be used if you want to see the result.
|
void |
enableDiscovery(int duration)
Enables the device to be discoverable for a certain duration.
|
android.bluetooth.BluetoothDevice |
findDeviceByMacAddress(java.lang.String macAddress)
Helper method that finds a device given its mac address.
|
android.bluetooth.BluetoothDevice |
findDeviceByName(java.lang.String name)
Helper method that finds a device given its name.
|
java.util.ArrayList<android.bluetooth.BluetoothDevice> |
getPairedDevices()
Returns all the paired devices on this device.
|
void |
onServiceConnected(int i,
android.bluetooth.BluetoothProfile bluetoothProfile) |
void |
onServiceDisconnected(int i) |
void |
scan() |
void |
sendData(int number)
Sends a integer to the bluetooth device.
|
void |
sendData(java.lang.String data)
Sends a string of data to the bluetooth device.
|
void |
setInputStreamType(BluetoothUtility.InputStreamType type)
Sets the input stream type for the bluetooth device input stream.
|
void |
setUpA2DPConnection()
Gets the profile proxy for an A2DP connection.
|
public static final int REQUEST_BLUETOOTH
public static final int REQUEST_BLUETOOTH_SCAN
public BluetoothUtility(android.content.Context context, android.app.Activity refActivity, BluetoothHandler handler)
BluetoothUtility
This class is a wrapper class for a BluetoothAdapter
and makes a lot of its functionality easier.context
- context from the calling activity or fragment.refActivity
- reference to the calling activity.handler
- a handler for handling read data and other messages. See
BluetoothHandler
for more information.public void scan()
public android.bluetooth.BluetoothDevice findDeviceByName(java.lang.String name)
name
- the name of the device.BluetoothDevice
object if it was found. Returns null otherwise.public android.bluetooth.BluetoothDevice findDeviceByMacAddress(java.lang.String macAddress)
macAddress
- the mac address of the device.BluetoothDevice
object if it was found. Returns null otherwise.public java.util.ArrayList<android.bluetooth.BluetoothDevice> getPairedDevices()
public void enableDiscovery(int duration)
duration
- the duration in milliseconds.public boolean checkIfEnabled()
public void enableBluetooth()
public void setInputStreamType(BluetoothUtility.InputStreamType type)
type,
- the input stream type.public void connectDevice(java.lang.String macAddress)
macAddress
- the mac address of the device.public void setUpA2DPConnection()
public void onServiceConnected(int i, android.bluetooth.BluetoothProfile bluetoothProfile)
onServiceConnected
in interface android.bluetooth.BluetoothProfile.ServiceListener
public void onServiceDisconnected(int i)
onServiceDisconnected
in interface android.bluetooth.BluetoothProfile.ServiceListener
public void connectA2DPProxy(android.bluetooth.BluetoothA2dp bluetoothA2dp, android.bluetooth.BluetoothDevice a2dpDevice)
bluetoothA2dp
- an A2DP proxya2dpDevice
- a BluetoothDevice
that is an A2DP device.public void closeConnections()
public void sendData(java.lang.String data)
data
- the string to send.public void cancelScan()
public void sendData(int number)
number
- the integer to send.public void connectToClientToBluetoothServer(java.lang.String macAddress)
macAddress
- the mac address of the device hosting the server socket.public void createBluetoothServerSocket()


- changePassword(String) - Method in class Client
-
Change the currently authenticated user's password to the given new password.
- Client - Class in <Unnamed>
-
Provides a quite complete interface to the Internet MiniChess Server.
- Client(String, int) - Constructor for class Client
-
Create a new client connected to IMCS and logged on.
- Client(String, String) - Constructor for class Client
-
Create a new client connected to IMCS and logged on.
- close() - Method in class Client
-
Closes the connection to the server.


Ham Radio Practice Exams
Q&A:
What is ham radio?
Ham radio (also known as amateur radio) is a licensed radio service dedicated to experimenting with equipment and helping others.
Why should I get a ham radio license?
With a ham radio license, you will be allowed to build new equipment from scratch, test the communication range of various equipment, and volunteer for the community (from local event volunteering such as marathons and parades to natural disaster preparedness).
Why are there three different exams?
The ham radio license comes in three different tiers (each build on top of each other). The technician class license allows people to communicate around town. The general class license allows people to talk around the world using shortwave radio. Finally, the extra class license offers a few extra shortwave priviliges plus a few extra perks (such as a shorter callsign and the ability to proctor ham radio exams).


So I’ve started this new blog. Something a little easier to update than my old blog. I’m using a number of great technologies, Git (of course), Hugo, and Google’s Appengine. This post is all about my experience with Hugo.
Why Hugo?
Hugo is a static site generator. It’s built on top of Go, very simple, and super fast. You write your content in markdown and after saving the Hugo server will automatically build your static files on the fly for easy testing on your local host. The site configuration can be written in JSON, YAML or TOML. The directory structure, which is used by Hugo to know which content to serve where, can get a little complicated, but as long as you stick to the documentation you’ll be fine. You can use one of the existing themes, build your own, or if you are like me go without one (although I think they recommend always using a theme).
How’d I do it?
There is a quick start guide that I used from Hugo, my instructions diverge a little bit from it.
Install from Hugo or
$ brew update && brew install hugo
Create your new site.
$ hugo new site random-scribes
You’ll have a folder structure that looks something like this:
. |-- archetypes |-- config.toml |-- content |-- data |-- layouts `-- static 5 directories, 1 file
Straight from the Hugo quick start guide
archetypes: You can create new content files in Hugo using the hugo new command. When you run that command, it adds few configuration properties to the post like date and title. Archetype allows you to define your own configuration properties that will be added to the post front matter whenever hugo new command is used.
config.toml: Every website should have a configuration file at the root. By default, the configuration file uses TOML format but you can also use YAML or JSON formats as well. TOML is minimal configuration file format that’s easy to read due to obvious semantics. The configuration settings mentioned in the config.toml are applied to the full site. These configuration settings include baseURL and title of the website.
content: This is where you will store content of the website. Inside content, you will create sub-directories for different sections. Let’s suppose your website has three actions – blog, article, and tutorial then you will have three different directories for each of them inside the content directory. The name of the section i.e. blog, article, or tutorial will be used by Hugo to apply a specific layout applicable to that section.
data: This directory is used to store configuration files that can be used by Hugo when generating your website. You can write these files in YAML, JSON, or TOML format.
layouts: The content inside this directory is used to specify how your content will be converted into the static website.
static: This directory is used to store all the static content that your website will need like images, CSS, JavaScript or other static content.
Now add some content… in my case I wanted to add a new post.
$ hugo new post/hugo-blog-tutorial.md
You’ll see this file show up as
content/post/hugo-blog-tutorial.md
Inside my brand new file, I find this lovely TOML configuration:
+++ date = "2016-12-19T21:37:31-06:00" draft = true title = "hugo blog tutorial" +++ I added this as my first blog post's content.
It’s pretty straight forward, date the file was created, draft status (true/false), and title. Everything after the TOML configuration is the content for file written in markdown. Make sure you follow the proper syntax for true and false. I had a hard time figuring out what was wrong when I accidentally use the Pythonic True.
You can download a theme and throw it into a directory called
themes
. I tried that and got confused once I started customizing, going without a theme seemed more straight forward to me. However, if you are unsure of what you want your site to look like, and you were hoping to try a couple different themes, by all means install one and start the hugo server with the specified theme.$ hugo server --theme=hugo_theme_robust --buildDrafts
If you’re still with me and decided against the theme, thanks for taking my advice!  I added aheader.html
andfooter.html
. You can guess the kind of content that would be included there.Second, in your
layouts
create anindex.html
, this can contain whatever you want, but you’ll probably want to include both your partials.{{ partial "header.html" . }}    {{ partial "footer.html" . }}
Now you’ll want to set up your
_default
folder.Let’s start with
section.html
do something simple like:{{ partial "header.html" . }}
 {{ range .Data.Pages }} {{ .Render "li"}} {{ end }}
  {{ partial "footer.html" . }}
This will generate a page with a whole bunch of li. Those li are your posts (or any other content that you’ve added to you
content
folder). In_default
you’ll want to add ali.html
file.

{{ .Title }}

 {{ .Date.Format "Mon, Jan 2, 2006" }} {{ if .GetParam "draft"}}DRAFT{{end}}

{{ .Summary }} Read full post ➔

The
.Title
and.Date
are from the post markdown files. The.Permalink
is the link to the post. Then we are checking to see if this post is a draft so we can spit that out as a visual indicator. The.Summary
is “A generated summary of the content for easily showing a snippet in a summary view. Note that the breakpoint can be set manually by inserting at the appropriate place in the content page”. I find it useful being able to control the breakpoint!Finally you have
single.html
. This is how your post is going to be setup. For simplicity let’s just have:{{ partial "header.html" . }}

{{ .Title }}

 {{ .Date.Format "Mon Jan 2, 2006" }}

 {{ if gt (div .WordCount 250.0) 1 }} {{ int (div .WordCount 250.0) }} Minutes {{else}} 1 Minute {{ end }} of reading time

 {{ .Content }}

 {{ partial "footer.html" . }}
Most of this you’ve seen before except for a couple new variables.
.WordCount
as you may have guessed, is the number of words in your post. Likewise.Content
is the content of the actually post.
Now you are ready to start the Hugo server, with the
--buildDraft
option (or else you won’t have any content).$ hugo server --buildDrafts
You’ll get some lovely output telling you what was create, the server address (http://localhost:1313/) and that Hugo is watching for any changes.
Check it out in your browser. Make some changes and see how fast Hugo rebuilds your site. When you’re ready (and update some of your posts so that they are no longer in draft) just run
$ hugo
and Hugo will throw your built website in thepublic
folder.
Done
Well the Hugo part is done. You can checkout GitHub to see how I’ve evolved the blog over time. I’ve still got to setup up my Appengine instance and deploy the code and switch my old blog to a subdomain of my new one. That’ll come in another post.


Gaming Headsets at Discounted Prices; $50 off on Acer Gaming Headset
by Review TeamListening to music through a headset gives a different and superior experience than while listening directly from a speaker. As it happens with most electronic devices, there are different headset models with diverse specifications and capabilities. There are gaming headsets too, which lift your gaming experience to a much higher level. You may even go for more than one headset keeping the end-use in mind.
Mpow 071 USB Headset
This Mpow 071 USB headset has a microphone and has a provision for background noise reduction. The USB connector can be replaced with a 3.5 mm jack to connect to a mobile or tablet. The length of the cord is sufficient to give you flexibility and comfort while using the headset. The steel slider on the headset ensures it can be adjusted to fit your head properly. This headset can be used while playing games though it is not designed for the purpose. It is compatible with almost all operating systems.
This Mpow 071 USB headset is selling at a deal price of $19.49, down $3.50 from the $22.99 priced earlier.
KLIM Impact Gaming Headset
This KLIM Impact gaming headset can be connected to your PlayStation 4 or your PC while gaming. The audio delivered is 7.1 surround sound. The game will appear quite real and the experience is lifelike. Games like CSGO, H1Z1, PUBG, Fortnite, and Overwatch feel different with this headset. The headset is customizable through a driver that can be downloaded. While you can use it with the PS4, the headset is not compatible with the Xbox One.
This KLIM Impact gaming headset is available at $35.91 at a discount from the previous $44.88.
Acer Predator Galea 300 Gaming Headset
This Acer Predator Galea 300 gaming headset is white in color. The headset has background noise reduction features. The driver unit is 40 mm in size and is made of bio-cellulose with rubber surround. The head size is adjustable. The connector is through a 3.5 mm jack. The Acer brand name could give a few people the extra comfort at buying the headset.
This Acer Predator Galea 300 gaming headset is going at a hefty discount of $50 and can be purchased at $49.99. Its earlier price was $99.99.


Before Change
def size(self, x1, x2):
non_batch_size = (x1.size(-2), x2.size(-2))
if x1.ndimension() == 3:
return torch.Size((x1.size(0),) + non_batch_size)
else:
return torch.Size(non_batch_size)
@abstractmethod
def forward(self, x1, x2, diag=False, batch_dims=None, **params):
Computes the covariance between x1 and x2.
After Change
def size(self, x1, x2):
non_batch_shape = torch.Size([x1.size(-2), x2.size(-2)])
return x1.shape[:-2] + non_batch_shape
@abstractmethod
def forward(self, x1, x2, diag=False, batch_dims=None, **params):


{# #}
PinPoint
{% if request.user.is_authenticated %}
Home
(current)
Profile
(current)
Logout
(current)
{% else %}
Login
(current)
{% endif %}
About PinPoint
(current)
User Guide
(current)
{% block content %} {% endblock %}


| Class | Description |
|---|---|
| KeyboardListener |
TODO
|
| KeyboardLocationAdapter |
This class is to implement the
KeyAdapter interface to check
if the user wants to search for a location by entering a string
into the search field of the tool bar. |
| KeyboardMoveAdapter |
This is to extent a
KeyAdapter to check if the user wants to
rotate the virtual earth by pressing one of the arrow keys. |
| KeyboardRotationAdapter |
This is to extent a
KeyAdapter to check if the user wants to
rotate the virtual earth by pressing one of the arrow keys. |
| KeyboardZoomAdapter |
This is to extent a
KeyAdapter to check if the user wants to
zoom in or out of the virtual earth by pressing the + / - keys. |
| MarkerBarButtonListener | |
| MarkerBarListener |
This is to implement the
ActionListener Interface to check if
the user wants to switch the view to a marker which he/she set before by
pressing an item in the list or delete or rename a marker in the markerbar. |
| MouseClickedListener |
This is to check if the user has pressed on a wikipedia symbol or on the
compass in the canvas or if the user wants to set a marker after selecting
the marker button in the toolbar.
|
| MouseDraggedListener2d |
TODO
|
| MouseDraggedListener3d |
This is to implement the
MouseListener Interface and the
MouseMotionListener Interface to check if the user wants to
rotate the virtual earth by clicking and dragging the mouse in the desired
direction. |
| MouseHoverListener |
Listener for processing mouse-hover events, such as the mouse being over a marker.
|
| MouseZoomListener |
This is to implement the
MouseWheelListener Interface to check
if the user wants to zoom in or out of the virtual earth by rotating the
wheel of the mouse. |
| POIBarListener |
This is to implement the
ActionListener Interface to check if
the user wants to change the categories of the PointOfInterest
objects which should be displayed in the view by setting a
ComboBox in the poibar. |


I'm Daniel Kelley. I enjoy building things for the web. I'm currently studying at Dev Bootcamp in San Francisco. Feel free to check out my projects and read my blog.
Get in touch below


Bringing financial analysis to the 'tidyverse'. The 'tidyquant' package provides a convenient wrapper to various 'xts', 'zoo', 'quantmod', 'TTR' and 'PerformanceAnalytics' package functions and returns the objects in the tidy 'tibble' format. The main advantage is being able to use quantitative functions with the 'tidyverse' functions including 'purrr', 'dplyr', 'tidyr', 'ggplot2', 'lubridate', etc. See the 'tidyquant' website for more information, documentation and examples.
| Version: | 0.5.5 |
| Depends: | R (≥ 3.0.0), lubridate, PerformanceAnalytics, quantmod (≥ 0.4-13), tidyverse |
| Imports: | dplyr, ggplot2, httr, lazyeval, magrittr, purrr, Quandl, stringr, tibble, tidyr, timetk, TTR, xml2, xts, rlang |
| Suggests: | alphavantager, broom, knitr, rmarkdown, testthat, tibbletime, scales, Rblpapi, XLConnect |
| Published: | 2018-05-09 |
| Author: | Matt Dancho [aut, cre], Davis Vaughan [aut] |
| Maintainer: | Matt Dancho <mdancho at business-science.io> |
| BugReports: | https://github.com/business-science/tidyquant/issues |
| License: | MIT + file LICENSE |
| URL: | https://github.com/business-science/tidyquant |
| NeedsCompilation: | no |
| Materials: | README NEWS |
| In views: | Finance |
| CRAN checks: | tidyquant results |
| Reference manual: | tidyquant.pdf |
| Vignettes: |
Introduction to tidyquant Core Functions in tidyquant R Quantitative Analysis Package Integrations in tidyquant Scaling Your Analysis with tidyquant Charting with tidyquant Performance Analysis with tidyquant |
| Package source: | tidyquant_0.5.5.tar.gz |
| Windows binaries: | r-devel: tidyquant_0.5.5.zip, r-release: tidyquant_0.5.5.zip, r-oldrel: tidyquant_0.5.5.zip |
| OS X binaries: | r-release: tidyquant_0.5.5.tgz, r-oldrel: tidyquant_0.5.5.tgz |
| Old sources: | tidyquant archive |
| Reverse imports: | EventStudy |
| Reverse suggests: | alphavantager, anomalize, ExPanDaR, sweep, timetk |
Please use the canonical form https://CRAN.R-project.org/package=tidyquant to link to this page.


17/10/2016 - Technical blog 2 : Responsive griddiness
What is grid based design?
You remember how the Internet is all boxes? Well, grid based design was invented to neatly arrange these boxes in exactly the way we want them. It is a CSS design philosphy, based on the the box model. Concretely, this means dividing our web page in columns (usually 12) and rows (usually occupying 100% of the width of the page). With these two variables, we can do almost any kind of layout.
You remember how the Internet is all boxes? Well, grid based design was invented to neatly arrange these boxes in exactly the way we want them. It is a CSS design philosphy, based on the the box model. Concretely, this means dividing our web page in columns (usually 12) and rows (usually occupying 100% of the width of the page). With these two variables, we can do almost any kind of layout.
Whats all the hype about responsive webpages?
In today's world, only half the page views you get are from computer (desktop or laptop), with traditionnal 16/9, 1080p displays. The other half is made up of all the tablets, phones and more obscure mobile devices used to browse the Web. Responsive design seeks to provide an experience of the same quality for any device, and that means gracefully and dynamically adapting to any screen size, and any aspect ratio.
In today's world, only half the page views you get are from computer (desktop or laptop), with traditionnal 16/9, 1080p displays. The other half is made up of all the tablets, phones and more obscure mobile devices used to browse the Web. Responsive design seeks to provide an experience of the same quality for any device, and that means gracefully and dynamically adapting to any screen size, and any aspect ratio.
What is semantic structure?
Semantic literally means "meaning". Anything that is "semantic" seeks to be understandable by humans in an explicit sense, and not through knowledge of esoteric rules. In the case of semantic structure, it refers to the naming of specific elements in the HTML structure : the "headlines" <h1>, <h2> and <h3> of decreasing importance or the "paragraph" <p>, for example. They are different in that they are not generic division of space, but have a meaning embedded into their code, and should be used accordingly.
Semantic literally means "meaning". Anything that is "semantic" seeks to be understandable by humans in an explicit sense, and not through knowledge of esoteric rules. In the case of semantic structure, it refers to the naming of specific elements in the HTML structure : the "headlines" <h1>, <h2> and <h3> of decreasing importance or the "paragraph" <p>, for example. They are different in that they are not generic division of space, but have a meaning embedded into their code, and should be used accordingly.
A thought
I feel that the concepts I am learning about are the vital foundations for any sound progress in web development. I think a solid understanding of the basic best practices are an absolute must, and I am very happy that I actually get to learn them through the curated content offered by EDA.
I feel that the concepts I am learning about are the vital foundations for any sound progress in web development. I think a solid understanding of the basic best practices are an absolute must, and I am very happy that I actually get to learn them through the curated content offered by EDA.


OSCAR A film review by Mark R. Leeper Copyright 1991 Mark R. Leeper
Capsule review: A delightful surprise. OSCAR is a throwback to manic screwball comedies of the 1930s that takes chances and has them off. Undemanding as a star vehicle for Sly Stallone, OSCAR is packed with eccentric weirdos, funny hoods, and lots of nutty dialogue. It has been a good long time since I laughed so much at a comedy. Rating: +2 (-4 to +4).
Fifteen years ago Sylvester Stallone became a major star with a single film, ROCKY. Since then he has made nothing but macho action films. But surely now he realizes that he cannot keep playing low-personality action figures on the screen. Even John Wayne discovered he had to put some acting and character into his roles. And Wayne was considered more charismatic on the screen than Stallone. So the time has come for Stallone to cross over into comedy. His choice of comedy shows unexpectedly good taste. It is not only a very funny comedy, but it is a comedy unlike comedies that have been made for many years.  It also takes some chances in that it has the claustrophobic feel of a filmed stage play: 95% of it takes place in one house and much of that is just in the course of one morning. But it is such a gem of a stage play that it may just do the trick for Stallone.
The plot defies describing in any detail, since a big part of the fun is just making the plot more and more convoluted, until the characters themselves are totally bewildered about what is going on. The film opens with a surprisingly unfunny scene between mobster "Snaps" Provolone (Stallone) and his dying father (played by Kirk Douglas). Almost undoubtedly this scene was written just for the film, since it is poorly written and it does not take place in the Provolone house, as most of the rest of the film does. Poppa makes Snaps promise to go straight. Flash to a charming credit sequence featuring what looks like a Puppetoon opera singer singing the "Largo al factotum" from Rossini's BARBER OF SEVILLE. Flash to a month later and Snaps's morning starts with an unexpected meeting with his accountant, who admits that he has been embezzling from Snaps but explains it is all okay because he will soon be one of the family since he wants to marry Snaps's daughter. Except it turns out to be a daughter that Snaps does not happen to have. Well, sort of. If that sounds a little strange, you ain't heard nothing yet. That is just how it starts. Give the film another five minutes and stranger will happen still.
The heart of this film is an incredible array of minor characters, some very funny, far too many to mention. The film is well chosen to let the bit parts do the most to pull the film along and place small demands on the leading man, who appears to be up to the small demands that are placed on him, and even if he were not, the pacing, the script, and the minor characters would still make this film worth seeing. OSCAR makes it as one of the funniest comedies in a long time. I give it a +2 on the -4 to +4 scale.
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


AgeUp
About
Videos
Customer Support
Other Pages
Login Page
Sign Up Page
Share Your Thoughts With Us
Home
Contact
Send us a Message
Full Name:
Phone Number:
Email Address:
Message:
Send Message