Hundreds take part in Navy marathon
Navy Week activities promote twin initiatives of ‘Fit India’ and ‘Go Green’
by Special CorrespondentThe third edition of the Kochi Navy Marathon saw a large number of Kochiites participating in the event.
The marathon was organised as part of the Navy Week activities to promote the twin initiatives of ‘Fit India’ and ‘Go Green’.
While the 21-km ‘Venduruthy Run’ was flagged off by Vice Admiral A.K. Chawla, Flag Officer Commanding-in-Chief, Southern Naval Command, the 10-km ‘Dronacharya Run’ and 5-km ‘Garuda Run’ were flagged off by Rear Admiral Joy Chatterjee, Command Medical Officer, and Rear Admiral RJ Nadkarni, Chief of Staff, respectively.
Route
The marathon route took runners through Willingdon Island, before taking the National Highway and continuing across two of the longest bridges in the city till they reached Kundannoor Junction and returned.
Speaking on the occasion, Vice Admiral Chawla reiterated the importance of being health conscious and emphasised the importance of ‘Fit India’ and ‘Go Green’ initiatives supported by the marathon.


Crafting Route
Save time and gil by planning the best route.
Add all the items you wish to craft, and see all the required materials in the Required Mats tab. If you make a mistake, you can always edit your crafting list in the Current Crafting List tab.
{{template "search" .}}
Icon
Item
Quantity
Where


Version: {{ answer.version }} ({{ answer.versionProtocol }})
Online players: {{ answer.players.online }}
Max players: {{ answer.players.max }}
{% if answer.players.sample|length > 0 %}
Player list sample: {% for player in answer.players.sample %}
- {{ player|dump }}
{% endfor %}
{% endif %}
Favicon: {{ answer.favicon|length }} bytes
Ping: {{ answer.ping }}ms


MMONTSHENG
Home
About
Social
Gallery
Contact Me
See Gallery
MY IMAGE GALLERY
CTU Pretoria
2018
Matric Dance
2012
Braai In Braamfotein
2014
CTU Pretoria
2018
CTU Pretoria
2018
Pillowcase Fighting:Wits
2014
UJ Campus
2017
Granny's place
2016
CTU Pretoria
2018
Braamfotein
2017
UJ Lecture Hall
2017
Pretoria Sunnyside
2018
Pretoria Art Museum
2018
UJ DO Electrical Engineering
2016
UJ DO Electrical Engineering
2016
UJ DO Electrical Engineering
2016
UJ DO Electrical Engineering
2016
CTU Pretoria
2018
UJ Ampitheate
2016
UJ
2017
UJ
2017
Olando Twin Towers
2016
UJ Ampitheate
2016
UJ
2017
MY VIDEO GALLERY
Life of programer
A video describing a day in a programmer's life
Watch
Wildlife sounds
A video about wildlife
Watch
Astronomy
A video about astronomy.
Watch


{{detail[pageValues[detail.control]]}}
{{pageValues[detail.control]}}
The tribunal have considered all the information submitted by you and DWP.
You are entitled to PIP at the rate below from {{ pageValues['awardStartDateYear'] + '-' + pageValues['awardStartDateMonth']+'-'+ pageValues['awardStartDateDay'] | date: 'dd MMMM yyyy' }} until {{ pageValues['awardEndDateYear'] + '-' + pageValues['awardEndDateMonth']+'-'+ pageValues['awardEndDateDay'] | date: 'dd MMMM yyyy' }}
You are entitled to PIP at the rate below from {{ pageValues['awardStartDateYear'] + '-' + pageValues['awardStartDateMonth']+'-'+ pageValues['awardStartDateDay'] | date: 'dd MMMM yyyy' }}
This is more than DWP initially awarded you.
This is the same as DWP initially awarded you.
This is less than DWP initially awarded you.
If both you and DWP accept this view, you’ll be awarded PIP at the above rate.
{{ pageValues.reasonsTribunalView }}
Change the reasons for the tribunal’s view
{{ group.statictext.text }}


WITNESS LIST Appropriations-S/C on Health & Human Services Committee February 19, 2003-7:30A Budget For: Hadden, Karen (Sustainable Energy and Economic Development (SEED) Coalition) Jasso, Pat (Business & Professional Women/Texas; Planned Parenthood of San Antonio & South Central Texas) Parker, PhD, Carolyn A. (Texas AIDS Network) Ramsey, Lesley (Texas Campaign for Women's Health) Realini, MD, MPH, Janet P. (Self) Romberg, Peggy (Women's Health & Family Planning Association of Texas) Sprinkle, G.K. (Texas Ambulance Association) Against: Berry, Jorey (March of Dimes, Texas Chapter) Blasi, Jana (Texas Association of Community Health Centers, Inc.) Cutrer, Dr. Jennifer (Parkland Health and Human Services; Texas Hospital Association) Headrick, Kelly (American Cancer Society - Texas Division) Littlefield, Rita (Self and Texas Renal Coalition) Livingston, Judith (Self) Lyons, Jim (Texas Ambulance Association) Murphree, Susan (Advocacy, Inc.) Rosales, Sindi (Epilepsy Coalition of Texas; Epilepsy Foundation of Central & South Texas) Stahlhut, Donna (Epilepsy Foundation) On: Bays, Richard (Department of Health) Bell, Charles E. (Department of Health) Pharr, Machelle (Department of Health) Sanchez, MD, MPH, Eduardo (Department of Health) Stanley, MD, Sharilyn K. (Department of Health) Steeg, Susan K. (Department of Health) Wanser, Debra (Department of Health)


Adopt
Post
Post a Pet
List animals that need furever homes here!
Puppy Name
Species
Dog
Cat
Narwhal
Notes
Read the Terms and Conditions
Add


| 1 | package com.fasterxml.aalto.in; | |
| 2 | ||
| 3 | import java.io.*; | |
| 4 | ||
| 5 | /** | |
| 6 | * Simple {@link InputStream} implementation that is used to "unwind" some | |
| 7 | * data previously read from an input stream; so that as long as some of | |
| 8 | * that data remains, it's returned; but as long as it's read, we'll | |
| 9 | * just use data from the underlying original stream. | |
| 10 | * This is similar to {@link java.io.PushbackInputStream}, but here there's | |
| 11 | * only one implicit pushback, when instance is constructed. | |
| 12 | */ | |
| 13 | public final class MergedStream | |
| 14 | extends InputStream | |
| 15 | { | |
| 16 | final ReaderConfig mConfig; | |
| 17 | ||
| 18 | final InputStream mIn; | |
| 19 | ||
| 20 | byte[] mData; | |
| 21 | ||
| 22 | int mPtr; | |
| 23 | ||
| 24 | final int mEnd; | |
| 25 | ||
| 26 | public MergedStream(ReaderConfig cfg, | |
| 27 | InputStream in, byte[] buf, int start, int end) | |
| 28 | { | |
| 29 | mConfig = cfg; | |
| 30 | mIn = in; | |
| 31 | mData = buf; | |
| 32 | mPtr = start; | |
| 33 | mEnd = end; | |
| 34 | } | |
| 35 | ||
| 36 | @Override | |
| 37 | public int available() throws IOException | |
| 38 | { | |
| 39 |
1
1. available : negated conditional → NO_COVERAGE |
if (mData != null) { |
| 40 |
4
1. available : AOD: Replaced integer substraction with second operand → NO_COVERAGE 2. available : AOR: Replaced integer subtraction with multiplication → NO_COVERAGE 3. available : Replaced integer subtraction with addition → NO_COVERAGE 4. available : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return mEnd - mPtr; |
| 41 | } | |
| 42 |
1
1. available : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return mIn.available(); |
| 43 | } | |
| 44 | ||
| 45 | @Override | |
| 46 | public void close() throws IOException | |
| 47 | { | |
| 48 |
1
1. close : removed call to com/fasterxml/aalto/in/MergedStream::freeBuffers → NO_COVERAGE |
freeBuffers(); |
| 49 |
1
1. close : removed call to java/io/InputStream::close → NO_COVERAGE |
mIn.close(); |
| 50 | } | |
| 51 | ||
| 52 | @Override | |
| 53 | public void mark(int readlimit) | |
| 54 | { | |
| 55 |
1
1. mark : negated conditional → NO_COVERAGE |
if (mData == null) { |
| 56 |
1
1. mark : removed call to java/io/InputStream::mark → NO_COVERAGE |
mIn.mark(readlimit); |
| 57 | } | |
| 58 | } | |
| 59 | | |
| 60 | @Override | |
| 61 | public boolean markSupported() | |
| 62 | { | |
| 63 | // Only supports marks past the initial rewindable section... | |
| 64 |
4
1. markSupported : negated conditional → NO_COVERAGE 2. markSupported : negated conditional → NO_COVERAGE 3. markSupported : ROR: changed equals zero comparison to less than operator → NO_COVERAGE 4. markSupported : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return (mData == null) && mIn.markSupported(); |
| 65 | } | |
| 66 | | |
| 67 | @Override | |
| 68 | public int read() throws IOException | |
| 69 | { | |
| 70 |
1
1. read : negated conditional → NO_COVERAGE |
if (mData != null) { |
| 71 |
4
1. read : AOD: Replaced integer addition with second operand → NO_COVERAGE 2. read : AOR: Replaced integer addition with multiplication → NO_COVERAGE 3. read : Replaced integer addition with subtraction → NO_COVERAGE 4. read : Replaced bitwise AND with OR → NO_COVERAGE |
int c = mData[mPtr++] & 0xFF; |
| 72 |
3
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE 3. read : ROR: changed greater than or equals integers comparison to not equals operator → NO_COVERAGE |
if (mPtr >= mEnd) { |
| 73 |
1
1. read : removed call to com/fasterxml/aalto/in/MergedStream::freeBuffers → NO_COVERAGE |
freeBuffers(); |
| 74 | } | |
| 75 |
1
1. read : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return c; |
| 76 | } | |
| 77 |
1
1. read : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return mIn.read(); |
| 78 | } | |
| 79 | | |
| 80 | @Override | |
| 81 | public int read(byte[] b) throws IOException | |
| 82 | { | |
| 83 |
1
1. read : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return read(b, 0, b.length); |
| 84 | } | |
| 85 | ||
| 86 | @Override | |
| 87 | public int read(byte[] b, int off, int len) throws IOException | |
| 88 | { | |
| 89 |
1
1. read : negated conditional → NO_COVERAGE |
if (mData != null) { |
| 90 |
3
1. read : AOD: Replaced integer substraction with second operand → NO_COVERAGE 2. read : AOR: Replaced integer subtraction with multiplication → NO_COVERAGE 3. read : Replaced integer subtraction with addition → NO_COVERAGE |
int avail = mEnd - mPtr; |
| 91 |
3
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE 3. read : ROR: changed greater than integers comparison to not equals operator → NO_COVERAGE |
if (len > avail) { |
| 92 | len = avail; | |
| 93 | } | |
| 94 |
1
1. read : removed call to java/lang/System::arraycopy → NO_COVERAGE |
System.arraycopy(mData, mPtr, b, off, len); |
| 95 |
3
1. read : AOD: Replaced integer addition with second operand → NO_COVERAGE 2. read : AOR: Replaced integer addition with multiplication → NO_COVERAGE 3. read : Replaced integer addition with subtraction → NO_COVERAGE |
mPtr += len; |
| 96 |
3
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE 3. read : ROR: changed greater than or equals integers comparison to not equals operator → NO_COVERAGE |
if (mPtr >= mEnd) { |
| 97 |
1
1. read : removed call to com/fasterxml/aalto/in/MergedStream::freeBuffers → NO_COVERAGE |
freeBuffers(); |
| 98 | } | |
| 99 |
1
1. read : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return len; |
| 100 | } | |
| 101 |
1
1. read : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return mIn.read(b, off, len); |
| 102 | } | |
| 103 | ||
| 104 | @Override | |
| 105 | public void reset() throws IOException | |
| 106 | { | |
| 107 |
1
1. reset : negated conditional → NO_COVERAGE |
if (mData == null) { |
| 108 |
1
1. reset : removed call to java/io/InputStream::reset → NO_COVERAGE |
mIn.reset(); |
| 109 | } | |
| 110 | } | |
| 111 | ||
| 112 | @Override | |
| 113 | public long skip(long n) throws IOException | |
| 114 | { | |
| 115 | long count = 0L; | |
| 116 | ||
| 117 |
1
1. skip : negated conditional → NO_COVERAGE |
if (mData != null) { |
| 118 |
3
1. skip : AOD: Replaced integer substraction with second operand → NO_COVERAGE 2. skip : AOR: Replaced integer subtraction with multiplication → NO_COVERAGE 3. skip : Replaced integer subtraction with addition → NO_COVERAGE |
int amount = mEnd - mPtr; |
| 119 | ||
| 120 |
3
1. skip : changed conditional boundary → NO_COVERAGE 2. skip : negated conditional → NO_COVERAGE 3. skip : ROR: changed greater than zero comparison to not equals operator → NO_COVERAGE |
if (amount > n) { // all in pushed back segment? |
| 121 |
3
1. skip : AOD: Replaced integer addition with second operand → NO_COVERAGE 2. skip : AOR: Replaced integer addition with multiplication → NO_COVERAGE 3. skip : Replaced integer addition with subtraction → NO_COVERAGE |
mPtr += (int) n; |
| 122 |
1
1. skip : replaced return of long value with value + 1 for com/fasterxml/aalto/in/MergedStream::skip → NO_COVERAGE |
return n; |
| 123 | } | |
| 124 |
1
1. skip : removed call to com/fasterxml/aalto/in/MergedStream::freeBuffers → NO_COVERAGE |
freeBuffers(); |
| 125 |
3
1. skip : AOD: Replaced long addition with second operand → NO_COVERAGE 2. skip : AOR: Replaced long addition with multiplication → NO_COVERAGE 3. skip : Replaced long addition with subtraction → NO_COVERAGE |
count += amount; |
| 126 |
3
1. skip : AOD: Replaced long substraction with second operand → NO_COVERAGE 2. skip : AOR: Replaced long subtraction with multiplication → NO_COVERAGE 3. skip : Replaced long subtraction with addition → NO_COVERAGE |
n -= amount; |
| 127 | } | |
| 128 | ||
| 129 |
3
1. skip : changed conditional boundary → NO_COVERAGE 2. skip : negated conditional → NO_COVERAGE 3. skip : ROR: changed greater than zero comparison to not equals operator → NO_COVERAGE |
if (n > 0) { |
| 130 |
3
1. skip : AOD: Replaced long addition with second operand → NO_COVERAGE 2. skip : AOR: Replaced long addition with multiplication → NO_COVERAGE 3. skip : Replaced long addition with subtraction → NO_COVERAGE |
count += mIn.skip(n); |
| 131 | } | |
| 132 |
1
1. skip : replaced return of long value with value + 1 for com/fasterxml/aalto/in/MergedStream::skip → NO_COVERAGE |
return count; |
| 133 | } | |
| 134 | ||
| 135 | /* | |
| 136 | ///////////////////////////////////////// | |
| 137 | // Internal methods | |
| 138 | ///////////////////////////////////////// | |
| 139 | */ | |
| 140 | ||
| 141 | private void freeBuffers() | |
| 142 | { | |
| 143 |
1
1. freeBuffers : negated conditional → NO_COVERAGE |
if (mData != null) { |
| 144 | byte[] data = mData; | |
| 145 | mData = null; | |
| 146 |
1
1. freeBuffers : negated conditional → NO_COVERAGE |
if (mConfig != null) { |
| 147 |
1
1. freeBuffers : removed call to com/fasterxml/aalto/in/ReaderConfig::freeFullBBuffer → NO_COVERAGE |
mConfig.freeFullBBuffer(data); |
| 148 | } | |
| 149 | } | |
| 150 | } | |
| 151 | } | |
Mutations | ||
| 39 |
1.1 |
|
| 40 |
1.1 2.2 3.3 4.4 |
|
| 42 |
1.1 |
|
| 48 |
1.1 |
|
| 49 |
1.1 |
|
| 55 |
1.1 |
|
| 56 |
1.1 |
|
| 64 |
1.1 2.2 3.3 4.4 |
|
| 70 |
1.1 |
|
| 71 |
1.1 2.2 3.3 4.4 |
|
| 72 |
1.1 2.2 3.3 |
|
| 73 |
1.1 |
|
| 75 |
1.1 |
|
| 77 |
1.1 |
|
| 83 |
1.1 |
|
| 89 |
1.1 |
|
| 90 |
1.1 2.2 3.3 |
|
| 91 |
1.1 2.2 3.3 |
|
| 94 |
1.1 |
|
| 95 |
1.1 2.2 3.3 |
|
| 96 |
1.1 2.2 3.3 |
|
| 97 |
1.1 |
|
| 99 |
1.1 |
|
| 101 |
1.1 |
|
| 107 |
1.1 |
|
| 108 |
1.1 |
|
| 117 |
1.1 |
|
| 118 |
1.1 2.2 3.3 |
|
| 120 |
1.1 2.2 3.3 |
|
| 121 |
1.1 2.2 3.3 |
|
| 122 |
1.1 |
|
| 124 |
1.1 |
|
| 125 |
1.1 2.2 3.3 |
|
| 126 |
1.1 2.2 3.3 |
|
| 129 |
1.1 2.2 3.3 |
|
| 130 |
1.1 2.2 3.3 |
|
| 132 |
1.1 |
|
| 143 |
1.1 |
|
| 146 |
1.1 |
|
| 147 |
1.1 |


Plotting Bar Charts
In this blog, I will be going over how to plot bar charts with matplotlib.
Importing Libraries
import matplotlib.pyplot as plt
import numpy as np
We we will be using matplotlib and numpy
Introductory Data
Using dummy data, we start with this following code. Notice how we use "plt.bar" to signify we are using a bar chart. We will also be using the style "fivethirtyeight."
x = [1,2,3,4,5,6,7,8,9,10]
Alice = [1000,2000,3000,4000,5000,6000,7000,8000,9000,10000]
plt.style.use("fivethirtyeight")
plt.bar(x,y1, color = "#BF85B8", label = "Alice")
plt.xlabel("Years since 1990")
plt.ylabel("Money Earned")
plt.title("Money Earned By Different People")
plt.legend()
plt.show()
Adding People
Let's say we want to add people so that we could compare Alice's growth in money compared to other people. This will require us to manipulate the x array in order to shift the bars next to each other.
#Previously x = [1,2,3,4,5,6,7,8,9,10]
#Now, we have to shift it; we will use np.arange()
x_indexes = np.arange(len(x))
width = 0.25
#I will also add new people, Note that this is all dummy data
Bob = [1232,2346,3462,4342,5141,6234,7234,8798,9123,10543]
Carl = [902,1251,2355,3431,1245,2355,7453,2314,6345,8464]
After we have the new indexes, we have to add the new people and the required indexes to the bar plots. Subtracting the width shifts the bar left, adding it shifts the plot to the right, not doing anything keeps it in the middle
#Let's say we want it in alphabetical order: Alice, Bob, Carl
#Same Style
plt.style.use("fivethirtyeight")
plt.bar(x_indexes - width,Alice, width = width, color = "#BF85B8", label = "Alice")
plt.bar(x_indexes, Bob, width = width, color = "#85BF86", label = "Bob")
plt.bar(x_indexes + width,Carl, width = width, color = "#64A4D6", label = "Carl")
#Same as before, to plot
plt.xlabel("Years since 1990")
plt.ylabel("Money Earned")
plt.title("Money Earned By Different People")
plt.legend()
plt.show()
Horizontal Bar Charts
Let's Say we want to plot horizontally instead.
We need to define several new variables that I will explain.
fig ,ax = plt.subplots() #Figure and the Axes, So that we can manipulate the axes labels
#Dummy Data, Comparing Money with Job
money = [1000,2000,3000,4000,5000]
Job = ["Developer", "Restaurant Worker", "Janitor", "Teacher", "Doctor"]
xpos = np.arange(len(Job)) #Using numpy to convert Job (categorical data)
# to something that matplotlib can use
plt.barh(xpos, money) #plots the data
ax.set_yticks(xpos) # Puts the numerical quantities of the money
ax.set_yticklabels(Job) # Puts the people's names on it
ax.set_ylabel("Occupation") #Labels yaxis as occupation
ax.set_xlabel("Money") #Labels xaxis as money
ax.set_title("Yearly Earnings By Job") # Sets title
We get this chart after plotting it out.
Conclusion
I hope you guys enjoyed reading this blog and understanding how to implement bar charts with matplotlib. Thank you for staying so long!


New Zealand Cricket apologises after fan racially abuses Jofra Archer
England lost the first Test.
New Zealand Cricket is to apologise to Jofra Archer after the England paceman was racially abused at the end of the first Test.
Archer scored a second-innings 30 as the tourists failed to bat out the final day in Mount Maunganui, losing by an innings and 65 runs.
The 24-year-old said on Twitter: “A bit disturbing hearing racial insults today while battling to help save my team.
“The crowd has been amazing this week except for that one guy. The Barmy Army was good as usual also.”
Both the ECB and New Zealand Cricket were quick to issue responses, with a statement from the host nation coming first.
It read: “New Zealand Cricket will be contacting, and apologising to English fast bowler Jofra Archer, who was racially abused by a spectator as he left the field at the conclusion of the first Test at Bay Oval, Mt Maunganui.
“Although security providers at the venue heard, (they were) unable to locate the perpetrator, NZC will be examining CCTV footage and making further inquiries tomorrow in an endeavour to identify the man responsible.
“NZC has zero tolerance towards abusive or offensive language at any of its venues and will refer any developments in the case to police.
“It will contact Mr Archer tomorrow to apologise for the unacceptable experience, and to promise increased vigilance in the matter when the teams next meet in Hamilton.”
The ECB added: “Through the scrutiny of CCTV footage at the Bay Oval, authorities are trying to identify the individual or individuals responsible for the remarks. The investigation is ongoing.
“NZC and ECB ensure that clear guidelines are in place at every venue so that watching a cricket match is safe and enjoyable for everyone.
“Whilst this is a relatively isolated incident there is absolutely no place for anti-social or racist behaviour within the game and it is vitally important that all spectators feel able to come forward to report such behaviour and feel safe in doing so.”


Meeting Minutes
Linux Install Party!
Feb 4, 2019
Topic
A introduction to Linux
Welcome Back, Spring 2019
Jan 28, 2019
Anouncements
- HackTruman 2019 will be March 29th - 31st
Topic
A welcome back, informational meeting about the upcoming semester
Intro to Git
Nov 12, 2018
Announcements
- Last real meeting of the semester
- Last meeting will be December 3rd
- should be short and sweet
Topic: Introduction to Git
Robocode Info
Nov 5, 2018
Announcements
- Bonfire
- Nov 9th now
- Carpool 7pm at the sub
- Google analytics
- Now we can view how many people use the website
- Elections
- get prepared to run for a postition
- find others that are interested
Robocode
Python Concurrency
Oct 15, 2018
Upcoming Events
- Mock Interviews
- October 28
- Sign up on website
- CS Bonfire
- November 2
- carpool at sub 7pm
- Robocode
- Intro meeting November 5
- Event November 10
Topic: Python Concurrency
Classes for Spring 2019
Oct 8, 2018
Announcements
- Mock interviews coming up October 28th
- Sign on on website
- CS Bonfire
- November 2nd
- Beck’s house
- carpool at sub
- Robocode
- November 10th
- Next meeting
- October 15th
- Python concurrency
Topic: Classes
Resume Tips
Sep 17, 2018
Announcements
- look out for new changes this semester
- We will now be collecting dues this semester at $5.
- This will get you into the events and helps up provide exciting things and hopefully cool prizes
- We will be having two events this semester
- coding competition
- robo code
Topic: resumes
Jordan Butler’s Wrist Game
Apr 30, 2018
Announcements
Final Meeting. Hope to see everyone next year.
Get the app on the app store
Topic
Jordan Butler
Founded company: Thrust Games
Dr. Bindner’s Bitcoin Presentation
Apr 23, 2018
Announcements
- CS bonfire Friday 27th. 7pm at Beck’s house
Topic
Bindner talked about Bitcoin.


{ "title": "Home", "linktitle": "Home", "description": "Home Page for the TODO", "date": "2017-02-01", "publishdate": "2017-02-01", "lastmod": "2017-02-01", "layout": "single", "cdtsconfig": { "search": true, "siteMenu": false, "showPreContent": false, "showFeatures": false } }
Going back to school is now more affordable
Innovation is changing how we live and work. You can now afford to go back to school to upgrade your skills or even pursue a new career path.
$1,600 per year in grants
Returning to school on a full-time basis after more than 10 years in the workforce? Get an extra $1,600 in grants each school year.
Grants determined by your current income
Big change in your financial situation? Now your eligibility for the Canada Student Grant is based on your current income.
A grant for low- and middle-income students enrolled in a full-time undergraduate program at a designated post-secondary institution.
A grant for full-time students with dependent children and assessed financial need.
A grant for low- and middle-income students with a financial need who are studying part-time at a designated post-secondary institution.
A grant for part-time students who qualify for a Canada Student Loan and have dependent children.
A grant for students with a permanent disability enrolled at a designated post-secondary institution.
A grant for students with a permanent disability to help pay for education-related costs.
You’ve taken the first step toward the life you want
Now take a breath and explore more resources to help you pursue education, skills, and job opportunities.
Learn more


Tutorial¶
Generating an AB8 Mesostructure using an aggregate size distribution¶
In order to generate a concrete mesostructure with a certain aggregate size distribution, we first need to specify the total aggregate volume fraction in the concrete material and then the aggregate size distribution. First create a text file containing the aggregate size distribution.
The text file should contain atleast two columns. The first column lists the aggregate sizes while the second column the corresponding volume-fraction. This volume fraction is relative to the total volume fraction of the aggregates in the material. Here is the text file with a distribution for AB8 standard concrete.
a |
vf_max |
|---|---|
2 |
0.134042553 |
3 |
0.134042553 |
4 |
0.075886525 |
4 |
0.075886525 |
5 |
0.075886525 |
5 |
0.075886525 |
6 |
0.075886525 |
6 |
0.075886525 |
7 |
0.046099291 |
7 |
0.046099291 |
7 |
0.046099291 |
8 |
0.045138889 |
8 |
0.045138889 |
8 |
0.048020095 |
please do not forget to add the correct header.
Having specified the aggregate size distribution and given the total aggregate volume fraction, we have to option to provide the 'average shape' of aggregate in terms of ellipsoidal radii. The first value must be 1 and the second and third values are scaling factors that will scale the radii in the other dimensions with respect to the first dimension.
we can generate the required mesostructure as follows:
#IMPORT THE NECESSARY LIBRARIES
from generate_mesostructure import Mesostructure
from configuration import Configuration
from visualization import export_data, visualize_sections
#SPECIFY THE TOTAL AGGREGATE VOLUME FRACTION AND AGGREGATE SIZE DISTRIBUTION
my_configuration = Configuration(vf_max_assembly=0.3, average_shape = [1, 0.5, 0.5])
my_configuration.load_inclusions(conf_csv='AB8_CMG.csv')
Now, we can specify the size of the REV-Mesostructure and add our configuration
my_mesostructure = Mesostructure(mesostructure_size=[200, 200, 200])
my_mesostructure.add_configuration(my_configuration)
Note, we can add multiple configurations (multiple standards) with various sizes. Here we just have one configuration.
Now we can generate the required concrete mesostructure, visualize and export the data using the following three lines.
#GENERATE
my_synthetic_microstructure =my_mesostructure.assemble_SRA()
# VISUALIZE
visualize_sections(my_synthetic_microstructure, 2)
#EXPORT
export_data(my_synthetic_microstructure, 'vtk', 'mesostructure.vti')
That is it. We have generated our first mesostructure.
Generating a fully customized AB8 Mesostructure¶
Concrete Mesostructure in voxel format is generated by assembling inclusions of given size onto the main assembly. Matrix (Cement) in the mesostructure is represented by voxel number 0 and inclusions (Aggregate) by 1, coating (ITZ) is represented by 2. The process of mesostructure generation involves first generating inclusion of given input details and then assembling onto the main mesostructure. To specify the concrete inclusion details such as size, volume fraction etc. a Configuration object has to be first created. This object is then loaded onto the Mesostructure object in which when the assembly method is called, the inclusions are generated by importing details from the loaded Configuration and assembled onto the mesostructure. Inputs are provided for a family of inclusions. Based on the maximum volume fraction specified for the family, required number inclusions in that family is estimated and assembled.
To generate the concrete mesostructure using CMG, following are the instructions. Import the required libraries as given in the following lines:
from generate_mesostructure import Mesostructure
from configuration import Configuration
from visualization import export_data, visualize_sections
import numpy as np
Firstly, Configuration object has to be created with maximum volume fraction for the current configuration as the input
my_configuration = Configuration(vf_max_assembly=0.4)
Followed this, inclusions input details in csv file have to be loaded to the configuration as below
my_configuration.load_inclusions(conf_csv=AB8_CMG_full.csv’)
Following input details must be/can be specified for the inclusion family to load to the Configuration object.
a: radius of the inclusion along axis-1, default 10
b: radius of the inclusion along axis-2, default b=a
c: radius of the inclusion along axis-3/half of length of the inclusion for ‘Cylinder’, default c=a
vf_max: Maximum volume fraction for the current inclusion family.
coat: True/False for coating provision on the inclusion, default False
t_coat: thickness of coating on the inclusion, default 0
space: True/False for providing spacing between inclusions in the assembly, default False
t_space : thickness of the spacing on the inclusion (similar to coating), default 0
Note: vf_max is relative to the maximum volume fraction of the inclusion given for the entire assembly. For example, for the mesostructure assembly, if the maximum volume fraction is 0.5, then total maximum volume fraction of all inclusion families (all rows in input csv file) should be equal to 1 since it is relative to the maximum volume fraction of the assembly.
An example csv input file template is given below.
a |
b |
c |
vf_max |
n_cuts |
coat |
t_coat |
space |
t_space |
concave |
width |
depth |
|---|---|---|---|---|---|---|---|---|---|---|---|
2 |
2 |
3 |
0.134042553 |
10 |
FALSE |
2 |
FALSE |
2 |
FALSE |
0 |
0.1 |
3 |
5 |
3 |
0.134042553 |
10 |
FALSE |
2 |
FALSE |
2 |
FALSE |
0 |
0.1 |
4 |
3 |
4 |
0.075886525 |
10 |
FALSE |
2 |
FALSE |
2 |
FALSE |
0 |
0.1 |
4 |
6 |
4 |
0.075886525 |
20 |
FALSE |
2 |
FALSE |
2 |
FALSE |
0 |
0.1 |
5 |
3 |
3 |
0.075886525 |
30 |
FALSE |
2 |
FALSE |
0 |
FALSE |
3 |
0.1 |
5 |
3 |
3 |
0.075886525 |
30 |
FALSE |
2 |
FALSE |
0 |
FALSE |
3 |
0.1 |
6 |
4 |
3 |
0.075886525 |
30 |
FALSE |
2 |
FALSE |
0 |
FALSE |
3 |
0.1 |
6 |
4 |
4 |
0.075886525 |
10 |
FALSE |
2 |
FALSE |
0 |
FALSE |
3 |
0.1 |
7 |
12 |
5 |
0.046099291 |
10 |
FALSE |
2 |
FALSE |
0 |
FALSE |
3 |
0.1 |
7 |
12 |
8 |
0.046099291 |
5 |
FALSE |
2 |
FALSE |
0 |
FALSE |
3 |
0.2 |
7 |
12 |
8 |
0.046099291 |
10 |
FALSE |
2 |
FALSE |
0 |
FALSE |
5 |
0.2 |
8 |
4 |
8 |
0.045138889 |
10 |
FALSE |
2 |
FALSE |
2 |
FALSE |
5 |
0.2 |
8 |
5 |
8 |
0.045138889 |
20 |
FALSE |
0 |
FALSE |
2 |
FALSE |
5 |
0.2 |
8 |
5 |
8 |
0.048020095 |
20 |
FALSE |
0 |
FALSE |
2 |
FALSE |
5 |
0.2 |
Column header name should be same as the input names given above, but position of the columns can be changed and non-mandatory input columns can be removed.
Followed with this, Mesostructure object is created with mesostructure size and configuration as input. Default mesostructure size is 100,100,100. So, it is not mandatory to load this value. Also configuration can be separately added by using ‘add_configuration’ method
my_mesostructure = Mesostructure(mesostructure_size=[200,200,200], my_configuration)
or
my_mesostructure = Mesostructure(mesostructure_size=[200,200,200])
my_mesostructure.add_configuration(my_configuration)
Finally, assembly of the inclusions as per the details given in the configuration is done using CMG Semi-Random Assembly (SRA) algorithm. This algorithm assembles the inclusions at random locations, but with CMG optimization. SRA algorithm is called as follows:
asmbly.assemble_SRA()
The algorithm tries to assemble the inclusions till maximum volume fraction is achieved. Since the assembly is at random points, it becomes difficult to fit the inclusions into the mesostructure as the packing density increases. So, assembly time increases with the given maximum volume fraction. To terminate the process after some time, a parameter attempt_max is given which gives a limit on how many failed attempts to assemble the inclusion can be made. This parameter can also be given as input to the method if required. Also, there is a threshold value beyond which the algorithm shifts from completely random assembly to semi-random to accommodate more inclusions. This threshold value can also be given as input. More the threshold value, more random the assembly is (more slow!).
my_synthetic_microstructure = asmbly.assemble_SRA(attempt_max=500000, threshold=50)
here my_synthetic_microstructure is the voxel representation of the mesostructure (3D array, int). Mesostructure can be exported to different types of output files for either visualization or some other analysis by using following code
exportData(data= my_synthetic_microstructure, export_type=’vtk’, fileName=’mesostructure.vti’)
or
exportData(data= my_synthetic_microstructure,
export_type=’csv’, fileName=’mesostructure.csv’)
vtk, csv, npy, npz, txt export types are allowed. Please note that the export type and extension in the file name/location should be consistent (eg. vtk-vti, csv-csv, npy-npy etc.) One can also visualize sections of the mesostructure using following code with the mesostructure and number of input slices in each direction as arguments. Default value for argument slices is 3.
visualizeSections(my_synthetic_microstructure, slices=5)
Here is the complete code to generate a concrete mesostructure for AB8 standard:
from generate_mesostructure import Mesostructure
from configuration import Configuration
from visualization import export_data, visualize_sections
my_configuration = Configuration(vf_max_assembly=0.3)
my_configuration.load_inclusions(conf_csv='AB8_CMG_full.csv')
my_mesostructure = Mesostructure(mesostructure_size=[200, 200, 200])
my_mesostructure.add_configuration(my_configuration)
my_synthetic_microstructure =my_mesostructure.assemble_SRA()
visualize_sections(my_synthetic_microstructure, 2)
export_data(my_synthetic_microstructure, 'vtk', 'mesostructure.vti')


You will begin to realise why this exercise is called the Dickens Pattern with reference to the ghost showing Scrooge some different futures.
DISCOVER NOWHere, I focus on a range of items and features that we use in life without giving them a second thought. such as Coca Cola. Dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.
VIEW FULL DETAILSAt about this time of year, some months after New Year’s resolutions have been made and kept, or made and neglected..
“It is not because things are difficult that we do not dare; it is because we do not dare that they are difficult.”
If you are an entrepreneur, you know that your success cannot depend on the opinions of others. Like the wind, opinions.
Do you want to be even more successful? Learn to love learning and growth. The more effort you put into improving your skills.
Hypnosis quit smoking methods maintain caused quite a stir in the medical world over the last two decades. There is a lot of argument.
Do you sometimes have the feeling that you’re running into the same obstacles over and over again? Many of my conflicts.
You’ve heard the expression, “Just believe it and it will come.” Well, technically, that is true, however, ‘believing’ is not just thinking that.
Projects Completed
Happy Clients
Cups of Coffee
Real Professionals
Who are in extremely love with eco friendly system.
It is very easy to start smoking but it is an uphill task to quit it. Ask any chain smoker or even a person.
When someone does something that they know that they shouldn’t do, did they.
You may be a skillful, effective employer but if you don’t trust your personnel and the opposite, then the chances of improving and expanding the business
13th Dec 15 04
Dream interpretation has many forms; it can be done be done for the sake of fun, hobby or can be taken up as a serious career.
13th Dec 15 04
You may be a skillful, effective employer but if you don’t trust your personnel and the opposite, then the chances of improving.
13th Dec 15 04
So many of us are demotivated to achieve anything. Such people are not enthusiastic about anything. They don’t want to work involved.


"DEACONESS" Romans 16:1, 3, 12; Phil. 4:2, 3; 1 Timothy 3:11; 5:9, 10; Titus 2:3, 4). In these passages it is evident that females were then engaged in various Christian ministrations. Pliny makes mention of them also in his letter to Trajan (A.D. 110).
"DEACONESS" Romans 16:1, 3, 12; Phil. 4:2, 3; 1 Timothy 3:11; 5:9, 10; Titus 2:3, 4). In these passages it is evident that females were then engaged in various Christian ministrations. Pliny makes mention of them also in his letter to Trajan (A.D. 110).


Seer Moira:
What? You met Khavatari Aren?
Docara Pa'agrio! Surprising indeed! I can't believe that you, a renegade Orc, met Khavatari Aren.....
If you really met him, then prove it!
"Let me tell you about the Culmination of Kabart."


Comments
-
Greg Hurrell
Yeah, I can repro this. I'm guessing that you have hit on a very pathological degenerate case that causes the matching algorithm to spend a lot of time recursively searching for the best possible score.
(The way it works on finding match is to bump the cursor to the right one position every time it finds a match, just to see if there is an alternative way of finding a match which is higher scoring. Given that there are so many ways of matching that search string given the files in your project, it seems to go a bit crazy. Actually, even with a lot of recursion, I am still surprised at how long it's taking. There may be something else at play here which I haven't figured out yet.)
-
Greg Hurrell
I might have to put a short-circuit in the recursion so that at pathological depths (to be empirically determined, but could be anywhere between 5 and 20 levels, or perhaps more...) it will just bail and say, "I don't care if a better score is possible, I'm stopping right here".
-
Greg Hurrell
Status changed:
- From: new
- To: open
-
Greg Hurrell
Kind changed:
- From: feedback
- To: bug
-
Greg Hurrell
Summary changed:
- From: Hanging on particular folder names/structure when searching for file (Command-T)
- To: Hanging on particular folder names/structure when searching for file
-
Greg Hurrell
I think I've fixed this by adding memoization, which I'll be pushing out soon. I no longer have access to your sample files, however.
I'm going to close this issue for now. Feel free to re-open if you think it's still a problem after testing the next Command-T release.
-
Greg Hurrell
Status changed:
- From: open
- To: closed
Add a comment
Comments are now closed for this issue.


Day 45
Published last at 1:55pm CDT September 19 2020, subject to change throughout the day.
"Fight for the things that you care about, but do it in a way that will lead others to join you." - Justice Ruth Bader Ginsburg
On September 18 2020 the world lost a relentless advocate for women's rights, a public servant who gave it her all until the end: Justice Ruth Bader Ginsburg.
Graduating top of her class from Columbia Law School from early in her career, Ginsburg faced barriers when trying to find employment and eventually obtaining employment at Rugers Law School, "where her employers informed her that she would be paid less than her male colleagues because she had a husband who earned a good income".
Ginsburg went on to lead the Women’s Rights Project at the ACLU. Her legal strategy focused on demonstrating the reality of sex discrimination by finding cases where men were those descriminated against. By building a basis that sex discrimination is real, she was able to help open the door for cases investigating sex descrimination towards women.
As a Justice, Ginsburg was always vigiliant. When the Supreme Court became more conservative she stepped up to call out the inequities she observed. Famously stating of the 2013 Shelby County v. Holder ruling that dismantled core parts of the Voting Rights Act of 1965, Ginsberg said, this ruling was "like throwing away your umbrella in a rainstorm because you are not getting wet".
Her dedication to public service, to intentional leadership that empowers women and is just led to her nickname "The Notorious RBG".
Thank you Justice Ginsburg, the world is a better place for me, my niece, my mother, and most important for us all. You can step up and help continue the work. Register to vote. Donate, if you can. This is September 19, 2020 and we have 45 days until Election 2020.
“Fight for the things that you care about, but do it in a way that will lead others to join you.” #RuthBaderGinsburg pic.twitter.com/LA4PceNGWq
— ColorOfChange (@ColorOfChange) September 19, 2020
♥THIS IS BEAUTIFUL.♥
— BrooklynDad_Defiant! (@mmpadellan) September 19, 2020
Please share this stirring tribute to the late, great Justice Ruth Bader Ginsburg.
Video by @OpFDouglass.#RIPRBGpic.twitter.com/IWrkCcHJgS
News
- Election 2020: Supreme Court Justice Ginsburg passes New York Times - Democrats shatter. ActBlue's donationo records after Ginsburg's death
- Election 2020: Supreme Court Vacancy New York Times - Leading Candidates to Fill Supreme Court Vacancy
- Election 2020: Forecasting FiveThirtyEight - Election Update: Where Biden And Trump Have Gained The Most Ground
- Election 2020: Voter Supression FiveThirtyEight - North Carolina Is Already Rejecting Black Voters’ Mail-In Ballots More Often Than White Voters’
- COVID19: New testing. CNN - A new Canadian Covid-19 gargle test 'one of the first of its kind' in the world, doctor says
Events
- Join Chris Garaffa of Trans Lifeline, Steven Trush of Citizen Clinic, and Sarah Aoun of Open Technology Fund for a "Surviving Election Season: New threats to US-based nonprofits and advocacy groups and what we can do about it" on September 22 @ 12:00pm CDT. Organized by UC Berkeley Center for Long-Term Cybersecurity, you can register here.
- September 29 2020 is the first presidential debate. For an entire calendar for the Presidential USA 2020 election available look here.
- Tonight a 9:00pm ET CNN will be showing the RBG documentary.
Call to Action
- Register to vote at
IWillVote.com
. - "Before noon on Saturday, donations to Democratic causes and campaigns on ActBlue since Justice Ginsburg’s passing had topped $45 million," the NYT reports. If you can, donate and join the many who are stepping up to do their part as a sign of rememberance for Justice Ginsburg. ActBlue has a "GetMitch" fund targeting 10 key states as does MoveOn.org has fund.
- Looking for ways to help protect the vote? Crooked Meida, the team behind Pod Save America have created Vote Save America, a website with all the information you need to 1.) register to vote 2.) protect the vote 3.) learn the issues for this election. Head over and commit to "adopting a battleground state" today.
- While this will be an unprecendented election with vote by mail, there is still a need for poll workers. If you can, register to help on November 4 2020 as a poll worker.
Just for fun
Rest in power Notorious RBG.
"Live Ginsburg. Ride for Ginsburg."


×
HOME
QUESTION BANK
TRAFFIC SIGNAL
EXAM
MOBILE APP
☰ Menu
Scan QRcode to download from playstore
Download


In this project, you'll use generative adversarial networks to generate new images of faces.
You'll be using two datasets in this project:
Since the celebA dataset is complex and you're doing GANs in a project for the first time, we want you to test your neural network on MNIST before CelebA. Running the GANs on MNIST will allow you to see how well your model trains sooner.
If you're using FloydHub, set data_dir
to "/input" and use the FloydHub data ID "R5KrjnANiKVhLWAkpXhNBe".
#data_dir = './data'
# FloydHub - Use with data ID "R5KrjnANiKVhLWAkpXhNBe"
data_dir = '/input'
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import helper
helper.download_extract('mnist', data_dir)
helper.download_extract('celeba', data_dir)
show_n_images = 25
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
%matplotlib inline
import os
from glob import glob
from matplotlib import pyplot
mnist_images = helper.get_batch(glob(os.path.join(data_dir, 'mnist/*.jpg'))[:show_n_images], 28, 28, 'L')
pyplot.imshow(helper.images_square_grid(mnist_images, 'L'), cmap='gray')
The CelebFaces Attributes Dataset (CelebA) dataset contains over 200,000 celebrity images with annotations. Since you're going to be generating faces, you won't need the annotations. You can view the first number of examples by changing show_n_images
.
show_n_images = 25
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
mnist_images = helper.get_batch(glob(os.path.join(data_dir, 'img_align_celeba/*.jpg'))[:show_n_images], 28, 28, 'RGB')
pyplot.imshow(helper.images_square_grid(mnist_images, 'RGB'))
Since the project's main focus is on building the GANs, we'll preprocess the data for you. The values of the MNIST and CelebA dataset will be in the range of -0.5 to 0.5 of 28x28 dimensional images. The CelebA images will be cropped to remove parts of the image that don't include a face, then resized down to 28x28.

You'll build the components necessary to build a GANs by implementing the following functions below:
model_inputs
discriminator
generator
model_loss
model_opt
train
This will check to make sure you have the correct version of TensorFlow and access to a GPU
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
from distutils.version import LooseVersion
import warnings
import tensorflow as tf
# Check TensorFlow Version
assert LooseVersion(tf.__version__) >= LooseVersion('1.0'), 'Please use TensorFlow version 1.0 or newer. You are using {}'.format(tf.__version__)
print('TensorFlow Version: {}'.format(tf.__version__))
# Check for a GPU
if not tf.test.gpu_device_name():
warnings.warn('No GPU found. Please use a GPU to train your neural network.')
else:
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
Implement the model_inputs
function to create TF Placeholders for the Neural Network. It should create the following placeholders:
image_width
, image_height
, and image_channels
.z_dim
.Return the placeholders in the following the tuple (tensor of real input images, tensor of z data)
import problem_unittests as tests
def model_inputs(image_width, image_height, image_channels, z_dim):
"""
Create the model inputs
:param image_width: The input image width
:param image_height: The input image height
:param image_channels: The number of image channels
:param z_dim: The dimension of Z
:return: Tuple of (tensor of real input images, tensor of z data, learning rate)
"""
# TODO: Implement Function
real_inputs = tf.placeholder(tf.float32, (None, image_width, image_height, image_channels), "input_real")
z_inputs = tf.placeholder(tf.float32, (None, z_dim), "input_z")
learning_rate = tf.placeholder(tf.float32, name="lr")
return real_inputs, z_inputs, learning_rate
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_inputs(model_inputs)
Implement discriminator
to create a discriminator neural network that discriminates on images
. This function should be able to reuse the variabes in the neural network. Use tf.variable_scope
with a scope name of "discriminator" to allow the variables to be reused. The function should return a tuple of (tensor output of the generator, tensor logits of the generator).
def discriminator(images, reuse=False):
"""
Create the discriminator network
:param image: Tensor of input image(s)
:param reuse: Boolean if the weights should be reused
:return: Tuple of (tensor output of the discriminator, tensor logits of the discriminator)
"""
# TODO: Implement Function
alpha = 0.1
keep_prob = 0.9
with tf.variable_scope('discriminator', reuse=reuse):
x1 = tf.layers.conv2d(images, 64, 5, strides=2, padding='same', activation=None)
x1 = tf.maximum(alpha * x1, x1)
x2 = tf.layers.conv2d(x1, 128, 5, strides=2, padding='same', activation=None)
x2 = tf.layers.batch_normalization(x2, training=True)
x2 = tf.maximum(alpha * x2, x2)
x2 = tf.nn.dropout(x2, keep_prob=keep_prob)
x3 = tf.layers.conv2d(x2, 256, 5, strides=2, padding='same', activation=None)
x3 = tf.layers.batch_normalization(x3, training=True)
x3 = tf.maximum(alpha * x3, x3)
x3 = tf.nn.dropout(x3, keep_prob=keep_prob)
flat = tf.reshape(x3, (-1, 4 * 4 * 256))
logits = tf.layers.dense(flat, 1)
out = tf.sigmoid(logits)
return out, logits
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_discriminator(discriminator, tf)
Implement generator
to generate an image using z
. This function should be able to reuse the variabes in the neural network. Use tf.variable_scope
with a scope name of "generator" to allow the variables to be reused. The function should return the generated 28 x 28 x out_channel_dim
images.
def generator(z, out_channel_dim, is_train=True):
"""
Create the generator network
:param z: Input z
:param out_channel_dim: The number of channels in the output image
:param is_train: Boolean if generator is being used for training
:return: The tensor output of the generator
"""
# TODO: Implement Function
alpha = 0.1
keep_prob = 0.9
with tf.variable_scope('generator', reuse=not is_train):
g1 = tf.layers.dense(z, 7*7*512)
g1 = tf.reshape(g1, (-1, 7, 7, 512))
g1 = tf.layers.batch_normalization(g1, training=is_train)
g1 = tf.maximum(alpha * g1, g1)
# shape = 7x7x512
g2 = tf.layers.conv2d_transpose(g1, 256, 5, strides=2, padding='same', activation=None)
g2 = tf.layers.batch_normalization(g2, training=is_train)
g2 = tf.maximum(alpha * g2, g2)
g2 = tf.nn.dropout(g2, keep_prob=keep_prob)
# shape = 14x14x256
g3 = tf.layers.conv2d_transpose(g2, 128, 5, strides=2, padding='same', activation=None)
g3 = tf.layers.batch_normalization(g3, training=is_train)
g3 = tf.maximum(alpha * g3, g3)
g3 = tf.nn.dropout(g3, keep_prob=keep_prob)
# shape = 28x28x128
logits = tf.layers.conv2d_transpose(g3, out_channel_dim, 3, strides=1, padding='same', activation=None)
# shape = 28x28x5
out = tf.tanh(logits)
return out
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_generator(generator, tf)
Implement model_loss
to build the GANs for training and calculate the loss. The function should return a tuple of (discriminator loss, generator loss). Use the following functions you implemented:
discriminator(images, reuse=False)
generator(z, out_channel_dim, is_train=True)
def model_loss(input_real, input_z, out_channel_dim):
"""
Get the loss for the discriminator and generator
:param input_real: Images from the real dataset
:param input_z: Z input
:param out_channel_dim: The number of channels in the output image
:return: A tuple of (discriminator loss, generator loss)
"""
# TODO: Implement Function
smooth = 0.1
g_output = generator(input_z, out_channel_dim)
disc_output_real, disc_logits_real = discriminator(input_real)
disc_output_fake, disc_logits_fake = discriminator(g_output, reuse=True)
disc_loss_real = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(
logits = disc_logits_real,
labels = tf.ones_like(disc_output_real) * (1 - smooth)
)
)
disc_loss_fake = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(
logits = disc_logits_fake,
labels = tf.zeros_like(disc_output_fake)
)
)
gen_loss = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(
logits = disc_logits_fake,
labels = tf.ones_like(disc_output_fake)
)
)
disc_loss = disc_loss_real + disc_loss_fake
return disc_loss, gen_loss
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_loss(model_loss)
Implement model_opt
to create the optimization operations for the GANs. Use tf.trainable_variables
to get all the trainable variables. Filter the variables with names that are in the discriminator and generator scope names. The function should return a tuple of (discriminator training operation, generator training operation).
def model_opt(d_loss, g_loss, learning_rate, beta1):
"""
Get optimization operations
:param d_loss: Discriminator loss Tensor
:param g_loss: Generator loss Tensor
:param learning_rate: Learning Rate Placeholder
:param beta1: The exponential decay rate for the 1st moment in the optimizer
:return: A tuple of (discriminator training operation, generator training operation)
"""
# TODO: Implement Function
train_vars = tf.trainable_variables()
disc_vars = [var for var in train_vars if var.name.startswith('discriminator')]
gen_vars = [var for var in train_vars if var.name.startswith('generator')]
update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
with tf.control_dependencies(update_ops):
gen_train_opt = tf.train.AdamOptimizer(learning_rate=learning_rate, beta1=beta1).minimize(g_loss, var_list=gen_vars)
disc_train_opt = tf.train.AdamOptimizer(learning_rate=learning_rate, beta1=beta1).minimize(d_loss, var_list=disc_vars)
return disc_train_opt, gen_train_opt
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_opt(model_opt, tf)
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import numpy as np
def show_generator_output(sess, n_images, input_z, out_channel_dim, image_mode):
"""
Show example output for the generator
:param sess: TensorFlow session
:param n_images: Number of Images to display
:param input_z: Input Z Tensor
:param out_channel_dim: The number of channels in the output image
:param image_mode: The mode to use for images ("RGB" or "L")
"""
cmap = None if image_mode == 'RGB' else 'gray'
z_dim = input_z.get_shape().as_list()[-1]
example_z = np.random.uniform(-1, 1, size=[n_images, z_dim])
samples = sess.run(
generator(input_z, out_channel_dim, False),
feed_dict={input_z: example_z})
images_grid = helper.images_square_grid(samples, image_mode)
pyplot.imshow(images_grid, cmap=cmap)
pyplot.show()
Implement train
to build and train the GANs. Use the following functions you implemented:
model_inputs(image_width, image_height, image_channels, z_dim)
model_loss(input_real, input_z, out_channel_dim)
model_opt(d_loss, g_loss, learning_rate, beta1)
Use the show_generator_output
to show generator
output while you train. Running show_generator_output
for every batch will drastically increase training time and increase the size of the notebook. It's recommended to print the generator
output every 100 batches.
def train(epoch_count, batch_size, z_dim, learning_rate, beta1, get_batches, data_shape, data_image_mode):
"""
Train the GAN
:param epoch_count: Number of epochs
:param batch_size: Batch Size
:param z_dim: Z dimension
:param learning_rate: Learning Rate
:param beta1: The exponential decay rate for the 1st moment in the optimizer
:param get_batches: Function to get batches
:param data_shape: Shape of the data
:param data_image_mode: The image mode to use for images ("RGB" or "L")
"""
# TODO: Build Model
_, image_width, image_height, image_channels = data_shape
input_real, input_z, lr = model_inputs(image_width, image_height, image_channels, z_dim)
disc_loss, gen_loss = model_loss(input_real, input_z, image_channels)
disc_opt, gen_opt = model_opt(disc_loss, gen_loss, lr, beta1)
saver = tf.train.Saver()
losses = []
steps = 0
total_steps = epoch_count * batch_size
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for epoch_i in range(epoch_count):
for batch_images in get_batches(batch_size):
# TODO: Train Model
steps += 1
batch_images *= 2
batch_z = np.random.uniform(-1, 1, size=(batch_size, z_dim))
_ = sess.run(
disc_opt,
feed_dict={
input_real: batch_images, input_z: batch_z, lr: learning_rate
}
)
_ = sess.run(
gen_opt,
feed_dict={
input_real: batch_images,
input_z: batch_z,
lr:learning_rate
}
)
if steps == 1:
print('initial output:')
show_generator_output(sess, 16, input_z, image_channels, data_image_mode)
if steps % 10 == 0:
# At the end of each epoch, get the losses and print them out
train_loss_d = disc_loss.eval({input_z: batch_z, input_real: batch_images})
train_loss_g = gen_loss.eval({input_z: batch_z})
print("Epoch {}/{}...".format(epoch_i+1, epochs),
"Generator Loss: {:.4f}".format(train_loss_g),
"Discriminator Loss: {:.4f}...".format(train_loss_d))
# Save losses to view after training
losses.append((train_loss_d, train_loss_g))
if steps % 100 == 0:
show_generator_output(sess, 16, input_z, image_channels, data_image_mode)
saver.save(sess, './generator.ckpt')
return losses
Test your GANs architecture on MNIST. After 2 epochs, the GANs should be able to generate images that look like handwritten digits. Make sure the loss of the generator is lower than the loss of the discriminator or close to 0.
batch_size = 128
z_dim = 100
learning_rate = 0.0002
beta1 = 0.5
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
epochs = 2
mnist_dataset = helper.Dataset('mnist', glob(os.path.join(data_dir, 'mnist/*.jpg')))
with tf.Graph().as_default():
train(epochs, batch_size, z_dim, learning_rate, beta1, mnist_dataset.get_batches,
mnist_dataset.shape, mnist_dataset.image_mode)
Run your GANs on CelebA. It will take around 20 minutes on the average GPU to run one epoch. You can run the whole epoch or stop when it starts to generate realistic faces.
batch_size = 64
z_dim = 100
learning_rate = 0.0004
beta1 = 0.5
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
epochs = 1
celeba_dataset = helper.Dataset('celeba', glob(os.path.join(data_dir, 'img_align_celeba/*.jpg')))
with tf.Graph().as_default():
train(epochs, batch_size, z_dim, learning_rate, beta1, celeba_dataset.get_batches,
celeba_dataset.shape, celeba_dataset.image_mode)
When submitting this project, make sure to run all the cells before saving the notebook. Save the notebook file as "dlnd_face_generation.ipynb" and save it as a HTML file under "File" -> "Download as". Include the "helper.py" and "problem_unittests.py" files in your submission.


Aetherling
Type-Directed Scheduling of Streaming Accelerators
David Durst,
Matthew Feldman,
Dillon Huff,
David Akeley,
Ross Daly,
Gilbert Louis Bernstein,
Marco Patrignani,
Kayvon Fatahalian,
Pat Hanrahan
Programming Language Design and Implementation (PLDI), 2020
Abstract
Designing efficient, application-specialized
hardware accelerators requires assessing trade-offs
between a hardware module's performance and resource
requirements. To facilitate hardware design space
exploration, we describe Aetherling, a system for
automatically compiling data-parallel programs into
statically scheduled, streaming hardware circuits.
Aetherling contributes a space- and time-aware
intermediate language featuring data-parallel
operators that represent parallel or sequential
hardware modules, and sequence data types that
encode a module's throughput by specifying when
sequence elements are produced or consumed. As a
result, well-typed operator composition in the
space-time language corresponds to connecting
hardware modules via statically scheduled, streaming
interfaces.
We provide rules for transforming programs written
in a standard data-parallel language (that carries
no information about hardware implementation)
into equivalent space-time language programs. We
then provide a scheduling algorithm that searches
over the space of transformations to quickly
generate area-efficient hardware designs that
achieve a programmer-specified throughput. Using
benchmarks from the image processing domain, we
demonstrate that Aetherling enables rapid exploration of
hardware designs with different throughput and area
characteristics, and yields results that require
1.8-7.9x fewer FPGA slices than those of
prior hardware generation systems.


This example shows that the default renderer for arrays and the available options.
The default renderer supports the simple option which does not render forms for the array's contents
simple


Work
-
Academic
- Thomas Jefferson University Sidwell Friends School Ross School University of Vermont University of Pennsylvania
-
International
- Nikko Kirifuri Hotel & Spa Chennai Residential Community Iskander Financial Districts Mixed-Use Eco Park Development Lisi Lake Mixed-Use Development
-
Healthcare
- Howard Hughes Medical Institute Lehigh Valley Hospital TJU / Hospital St. Joseph's Healthcare Hamilton
-
Corporate / Public Campuses
- General Services Administration Pharmaceutical Client Pharmaceutical Client 2 mccormack federal courthouse
-
Academic
Page not found
Sorry, it seems you were trying to access a page that doesn't exist.
Please check the spelling of the URL you were trying to access and try again.


Each bar is an age group, and the length of the bar is the number of recipients in the year. Then the data is for each of the sexes in the same age groups. I eliminated summation rows for men, women and both sexes in this dataset. Also, only one year is currently shown. I'll need to work on the visual coding during the course :-)


|
Aspen MUD
Aspen is a light-weight, barebones mud engine written in c++ utilizing Lua for its' scripting engine.
|
#include <com_gen.h>
Public Member Functions | |
| void | PrintCommandInfo (Player *mobile, CommandType filter) |
| void | GetCommands (Player *mobile, std::vector< std::string > &names, CommandType filter) |
| void | Syntax (Player *mobile, int subcmd) const |
| bool | Execute (const std::string &verb, Player *mobile, std::vector< std::string > &args, int subcmd) |
| Public Member Functions inherited from Command | |
| void | SetName (const std::string &name) |
| std::string | GetName () const |
| bool | AddAlias (const std::string &name) |
| bool | RemoveAlias (const std::string &name) |
| bool | HasAlias (const std::string &name, bool partialMatch=false) |
| void | SetSubcmd (int subcmd) |
| int | GetSubcmd () const |
| void | SetType (CommandType type) |
| CommandType | GetType () const |
| void | SetAccess (FLAG access) |
| FLAG | GetAccess () const |
| void | SetPosition (unsigned int position) |
| unsigned int | GetPosition () const |
| virtual bool | CanExecute (Player *mobile, int subcmd) |
| bool | AddPrehook (CommandHook *hook) |
| bool | RemovePrehook (int id) |
| bool | ExecutePrehooks (const std::string &verb, Player *mobile, std::vector< std::string > &args, int subcmd) |
| bool | AddPosthook (CommandHook *hook) |
| bool | RemovePosthook (int id) |
| bool | ExecutePosthooks (const std::string &verb, Player *mobile, std::vector< std::string > &args, int subcmd) |
Additional Inherited Members | |
| Protected Member Functions inherited from Command | |
| bool | AddHook (CommandHook *hook, std::list< CommandHook * > *_hooks) |
| bool | RemoveHook (int id, std::list< CommandHook * > *_hooks) |
| bool | ExecuteHooks (const std::string &verb, Player *mobile, std::vector< std::string > &args, int subcmd, std::list< CommandHook * > *_hooks) |
| Protected Attributes inherited from Command | |
| std::string | _name |
| std::vector< std::string > | _aliases |
| std::list< CommandHook * > | _prehook |
| std::list< CommandHook * > | _posthook |
| int | _subcmd |
| CommandType | _type |
| FLAG | _access |
| unsigned int | _position |
Display a list of commands
|
virtual |
Executes the command.
This is where most command logic will be placed.
| [in] | verb | the string representation of the command that called this. |
| [in] | mobile | the calling player. |
| [in] | arguments | passed to the command. |
| [in] | subcmd | the subcommand this object is associated with (0 by default). |
Implements Command.
| void CMDCommands::GetCommands | ( | Player * | mobile, |
| std::vector< std::string > & | names, | ||
| CommandType | filter | ||
| ) |
Returns a list of commands filtered by type.
| [in] | mobile | the player requesting the list. |
| [out] | names | a destination to store the new commands. |
| [in] | filter | the filter to apply. |
| void CMDCommands::PrintCommandInfo | ( | Player * | mobile, |
| CommandType | filter | ||
| ) |
collects and organizes the command information.
| [in] | the | player object to print the information to. |
| [in] | the | type of command. |
|
virtual |
Print command syntax.
This enables for a command called syntax to exist. This command will be able to get the syntax for any command (including itself).
| [in] | mobile | the calling player. |
| [in] | subcmd | the subcommand associated with this object. |
Reimplemented from Command.


The Life of an Abstract Random
4.26.15
It is a bit eerie how accurately this mind style describes me. And at the same time oddly comforting that I fit into one of four categories.
I believe it is good to be aware of the positives and negatives that come with my particular style. I do feel that I am good at mediating and keeping the peace. I will always hear out everyone's ideas and at the same time keep the team focused on the task at hand.
I do feel that some of the negatives that come with this mind style do apply to me. I certainly have trouble working with strong personalities. I do have trouble focusing on one thing at a time even though I can focus on the issues at hand. I do, occasionally, have trouble giving exact details. A few more from the list apply to me, but knowing about them know gives me an edge. I have the ability to be mindful of these negatives. This will allow me to either work around or work through them when it comes to collaborative work.
With this new mindfulness pertaining to my mind style I'll have taken on a more growth like mindset. Which is the end will help my internal processes evolve.


--- layout: post title: "How to sync enums with their strings in c++" subtitle: "To keep your sanity (maybe)" date: 2021-01-26 12:00:00 +0530 background: '/img/godot-code-bg.jpg' ---
Do you just want to define your enums once, and have their strings generated automatically?
Lets first start with wtf im even talking about. Here is a code snippet.
// Days.h
enum Days {
MONDAY = 0,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY,
NUM_DAYS
};
const char* const DaysToString[] = {
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY",
"SATURDAY",
"SUNDAY",
"INVALID_DAY"
};
// usage: DaysToString[FRIDAY] -> gives you "FRIDAY"
So whats the problem with this?
Well for starters if you need to add another day, then you need to make changes in the code in two places. Might not look too difficult when you have so few enums, but think about maintaining them when you have more than a handful.  Also, if you re-arrange the days, you need to re-arrange them in the strings as well. Change the enum spelling? Guess what, you need to change it in the strings.
A good programmer always finds new ways to keep his sanity (until that new solution comes to bite him in the ass). What am i talking about? Using the cpp preprocessor of course. Trade one evil for another.
The solution I provide is not my own, i just saw it from this video and wanted to document it in my blog.
First you make a file containing this ...
// DaysEnums.incl, call it whatever tf you want.
 Notice it contains no commas, semicolons.
And in a second file, this ..
// DaysEnumsDef.h, call it whatever tf you want.
#define REGISTER_ENUM(x) x, // It expands to literally x followed by a comma
enum Days{
#include "DaysEnums.incl" // Does a literal copy paste into here.
NUM_DAYS // You dont want to register this in the DaysEnums.h file.
};
#undef REGISTER_ENUM // Redundant i guess.
#define REGISTER_ENUM(x) #x, // Preprocessor wizardry replaces #x with the string version of x, literally.
const char* const DaysToString[] = {
#include "DaysEnums.incl"
"INVALID_DAY" // Pretty sure you know why.
};
#undef REGISTER_ENUM // Undefine it to not pollute the codebase.
TLDR: basically we are redefining the macro REGISTER_ENUM
to first list out the enum definitions, and then redefining it to list out the same "word" within doubleqotes.
This allows you to just list the enums once and let the preprocessor make sure that the strings and the enum is being defined in the same order, Macro magic.
Now its your choice if you want to use this or not. Is it really simpler than just doing it yourself? You be the judge of that.  And with that ill see y'all in the next post.


Using assert with a literal boolean value is a bad practice because it gives false positive tests and does not return a value for error checking.
@isTest public static testMethod void someTestMethod { ... System.assert(TRUE); //or System.assert(false); }


The specified subsequences of SEQUENCE1 and SEQUENCE2 are compared
element-wise. If they are of equal length and match in every element, the
result is NIL. Otherwise, the result is a non-negative integer, the index
within SEQUENCE1 of the leftmost position at which they fail to match; or,
if one is shorter than and a matching prefix of the other, the index within
SEQUENCE1 beyond the last position tested is returned. If a non-NIL
:FROM-END argument is given, then one plus the index of the rightmost
position in which the sequences differ is returned.


October, 9 2020
Urgent
Basic Programming HW
Doing my homework at eling.ub.ac.id
10.45-11.30 PM
10-08-2020
Ongoing
Submission Dicoding
Send submisson to dicoding PWA
10-10-2020


You have 3 Notifications
You got a email notification
Your account has been blocked
You got a new file
Are you sure you want to delete these Records?
This action cannot be undone.


We have in-built calculator for you so that you can calculate all your expenses and savings without any hurdles.
In-built address bbok cum diary to keep records of lenders and borrowers.
Interpretation of your ins and out of wallet in the form of statistics.
we also have occasional offers for you to avail in our inventory which will be notified to you time to time


Last Name
First Name
Address
17 Hristo Botev Str. floor 3, apt. 12
City
State
Zip/Postal Code
Country
Bulgaria
Romania
Brazil
Turkey
Phone (country code,
area code, number)
(+
)
-
E-mail
Birth Date
Month
Day
Year(4 digit)
Gender
male
female
Starting Date
Spring 2006
Summer 2006
Comments/Questions
Please send me more information about the lodging.


First page Back Continue Last page Overview Graphics
Dim an LED
Pulse Width Modulation (PWM)
Turning on and off really fast
- If it's on 50% of the time, looks 50% as bright
- Handled by hardware with simple programming
Can also be used on motors
Frequency matters
- See: Cheap LED christmas lights
- Raspbery Pi's default seems fine


|
MOTS Finder
Find non-star-shaped MOTSs
|
General Robin-type boundary condition. More...
Public Member Functions | |
| def | __init__ (self, x, alpha, beta, value, corners=True, add_rows=False) |
| Define the boundary condition. More... | |
| def | impose (self, basis, L, f, blocked_indices, L_done=False, f_done=False, use_mp=False) |
| Impose the condition by modifying the operator and inhomogeneity. More... | |
Private Member Functions | |
| def | _replace_row (self, ctx, mat, n, row) |
| Replace a row of a matrix by a different row. More... | |
| def | _append_rows (self, mat, rows) |
| Add rows to a NumPy or mpmath matrix. More... | |
| def | _find_free_index (self, i, max_i, blocked) |
| Return an index of a row we should replace next. More... | |
| def | _transform (self, x, basis) |
| Transform a point from window to domain space. More... | |
| def | _filter_corners (self, pts, basis) |
| A generator to return only those points not on corner positions. More... | |
| def | _get_points (self, basis) |
| Return the row indices and points to impose the condition at. More... | |
| def | _get_point_candidates (self, basis) |
| Collect a list of all points at which to impose the condition. More... | |
Private Attributes | |
| _x | |
| Where to impose the condition. | |
| _alpha | |
| Callable or value multiplying the function. | |
| _beta | |
| Callable or value multiplying the function's first derivative. | |
| _value | |
Callable or value the function + derivative (as specified by alpha and beta ) should attain. More... | |
| _corners | |
| Whether to include the corners/ends for the 2D case. More... | |
| _add_rows | |
| Whether to add more equations or replace existing ones. More... | |
| _dim | |
| Auto-determined dimension of the problem. | |
| _idx | |
| Axis along which to impose the condition. | |
General Robin-type boundary condition.
This class represents general Dirichlet, Neumann, or mixed (Robin) type boundary conditions suitable for 1D and 2D problems.
After you have constructed such a condition object, it is used as an argument for the spectral solver (ndsolve() or NDSolver) in order to be imposed in the resulting matrix equation.
| def __init__ | ( | self, | |
| x, | |||
| alpha, | |||
| beta, | |||
| value, | |||
corners = True , |
|||
add_rows = False |
|||
| ) |
Define the boundary condition.
The general form of this boundary condition is
where is specified by the x
argument (see below) and is given by value
. The derivative of u
is taken to be perpendicular to the direction of the line specified by x
, i.e. it will be the outward pointing normal at the upper boundary and inward pointing normal at the lower boundary of the respective dimension.
In 1D, we simply have .
For a pure Dirichlet condition, set alpha=1, beta=0
and for a pure Neumann condition alpha=0, beta=1
.
| x | (float or tuple/list) Value at which to impose the condition. For 1D problems, this should simply be the x -value at which to impose the condition. For 2D problems, it should be a tuple/list specifying the x=const or y=const line to impose the condition at. For example, to define the line x=5 , this argument should be set to x=(5.0, None) . |
| alpha | (float or callable) Coefficient of the 'Dirichlet' part of the condition (see above). |
| beta | (float or callable) Coefficient of the 'Neumann' part of the condition (see above). |
| value | (float or callable) Value of the condition (see above). |
| corners | (boolean, optional) Only relevant in 2D. If True (default), apply the condition at all collocation points along the specified axis including the boundary ones. If False , the boundary points are excluded. This may be important to make the resulting matrix equation a full-rank equation, since imposing multiple conditions at the same points (e.g. the corners) may make the matrix singular. |
| add_rows | (boolean, optional) Whether to add or replace rows in the matrix and the inhomogeneity vector to impose the condition. Adding rows will create a non-square matrix, i.e. the system may become overdetermined and must be solved using e.g. a least squares method such as scipy.lstsq . Default is False , i.e. to replace rows, which is what you should do to get a determined system of equations. |
|
private |
Add rows to a NumPy or mpmath matrix.
| mat | NumPy or mpmath matrix to add the rows to. |
| rows | List of rows, each being an iterable containing the respective row's values. |
|
private |
A generator to return only those points not on corner positions.
Does nothing (i.e. no filtering) in the 1D case.
|
private |
Return an index of a row we should replace next.
This is called after the row to replace has been determined. It is responsible for checking that we don't replace a blocked row, i.e. one that already has a condition imposed.
| i | Desired row that should be replaced if it is free. |
| max_i | Maximum valid row index (total number of rows minus 1). |
| blocked | List of row indices that are blocked and cannot replaced. |
|
private |
Collect a list of all points at which to impose the condition.
Note that this will include the corners irrespective of the corner
setting. The caller has to filter the corners out if desired.
The result will be a list of 2-tuples containing the optimal row index (as detailed below) and exact point to impose a condition at. In the 1D case, this list will only have one element (we want to impose the condition at one point only), whereas in the 2D case, we want to impose the condition along one axis, i.e. there will be multiple points.
The points are chosen in the following way:
|
private |
Return the row indices and points to impose the condition at.
See _get_point_candidates() for more details.
|
private |
Replace a row of a matrix by a different row.
This is a convenience function that handles the case of a NumPy matrix and that of an mpmath
matrix.
| ctx | mp or fp , the mpmath context to use if not a NumPy matrix. |
| mat | The NumPy or mpmath matrix to replace a row in. |
| n | The row index of the row to replace. |
| row | The new data to write into the row. May be a list . |
|
private |
Transform a point from window to domain space.
For multi-dimensional points, only the active dimension is returned, that is, this method always returns a floating type.
| def impose | ( | self, | |
| basis, | |||
| L, | |||
| f, | |||
| blocked_indices, | |||
L_done = False , |
|||
f_done = False , |
|||
use_mp = False |
|||
| ) |
Impose the condition by modifying the operator and inhomogeneity.
This should be called only during the solving process when the operator matrix L
and inhomogeneity vector f
have been built. The caller should supply the indices of rows (via blocked_indices
) on which previous conditions have been placed to avoid overwriting them with the new conditions. The indices used here will be added to this list (i.e. the caller only needs to repeatedly supply this list, starting with an empty one).
| basis | Spectral basis used during solving. |
| L | Fully populated operator matrix. |
| f | Inhomogeneity vector. |
| blocked_indices | List which is updated by this method to store which equations have been replaced (in order not to replace a condition in later calls). |
| L_done | Whether the operator matrix L has already been processed and should be left untouched. May be useful if caching of matrices with conditions already imposed is done, which may speed up computation significantly. |
| f_done | Whether the inhomogeneity has already been processed and should be left untouched. Might be useful when re-using the same inhomogeneity (and same basis) to solve the same equation with different boundary conditions. |
| use_mp | Whether to use arbitrary precision math operations (True ) or faster floating point precision operations (False , default). |
|
private |
Whether to add more equations or replace existing ones.
|
private |
Whether to include the corners/ends for the 2D case.
|
private |
Callable or value the function + derivative (as specified by alpha
and beta
) should attain.


Below is an example of a human MHC class I protein:
InterPro Domain Architecture
|
InterPro Entry |
Method Accession |
Graphical Match |
Method Name |
|
IPR001039 |
PD000050 |
MHC_I |
|
|
IPR001039 |
PF00129 |
MHC_I |
|
|
IPR001039 |
PR01638 |
MHCCLASSI |
|
|
IPR003006 |
PS00290 |
IG_MHC |
|
|
IPR003597 |
PF07654 |
C1-set |
|
|
IPR007110 |
PS50835 |
IG_LIKE |
|
|
IPR010579 |
PF06623 |
MHC_I_C |
|
|
Classification |
PDB Chain/Domain ID |
PDB Chain/Structural Domains |
|
|
1oga |
1ogaa |
|
|
|
3.30.500.10.1 |
1i4fA1 |
|
|
|
<IP_ADDRESS>.11 |
1i4fA2 |
|
|
|
b.1.1.2 |
d1i4fa1 |
|
|
|
d.19.1.1 |
d1i4fa2 |
|
|
From the graphical match above, you can see that the signatures (method accession) are divided into five InterPro entries for human MHC class I A-2 a chain. These entries give information about the domain architecture of the protein, as well as its family relationships.
To explore the family relationships that involve this protein, we need to look at entry IPR003006, which has one signature representing the immunoglobulin/MHC family: PS00290 from the PROSITE database. This signature is based on the C-terminal cysteine involved in an intra-domain disulphide bond that is highly conserved in both immunoglobulin constant chain domains and in an extracellular domain in each type of MHC chain.
The domain architecture of human MHC class I A-2 a chain consists of five domains: three extracellular domains (a-1, a-2 and a-3, where a-1 is at the N-terminus), a transmembrane domain, and a C-terminal tail. IPR001039 represents two extracellular domains, a-1 and a-2, which are located at the N-terminus and which act as the antigen recognition region; this entry is represented by three signatures: PD000050 from the PRODOM database, PF00129 from the PFAM database, and PR01638 from the PRINTS database. IPR003597 represents the third extracellular domain, a-3, and is represented here by one signature, PF07654 from the PFAM database. As the a-3 domain is similar to the immunoglobulin constant chain domain, IPR003597 is found in IPR007110, which represents a broader category for this domain, namely an immunoglobulin-like domain, and which is represented here by one signature, PS50835 from the PROSITE database. The transmembrane domain is not represented in InterPro, because these domains are difficult to produce a signature. Therefore, the area covering the transmembrane domain is seen as a gap in the graphical display between IPR003597 and IPR010579, where IPR010579 represents the C-terminal tail domain that is located intracellularly, and which is represented by one signature, PF06623 from the PFAM database.
The remaining five entries in the table above are from the structural database PDB (green stripe), and from the structural classification databases CATH (pink stripe) and SCOP (black stripe) (the names such as d1i4fa1 are derived from the PDB entry upon which they are based, here PDB entry 1i4f, chain A, region 1). The graphical match for the PDB entry 1ogaa displays the length of the original PDB entry, here covering the entire extracellular region composed of all three domains, a-1, a-2 and a-3. CATH and SCOP both divide the PDB structure into the antigen recognition region composed of domains a-1 and a-2 (1i4fA1 in CATH and d1i4fa2 in SCOP), and the immunoglobulin-like a-3 domain (1i4fA2 in CATH and d1i4fa1 in SCOP). Both CATH and SCOP provide classifications of the PBD structure for these domains.
Structures
associated with MHC class I A-2 a chain
can be viewed using AstexViewer®, which is linked from the Match Table above
via the logo on the InterPro page (please note, there is no link directly from
this page to the AstexViewer®, therefore you need to go to the link on the
InterPro page for P01892). The AstexViewer® displays the PDB structure with the particular
CATH or SCOP domain highlighted in yellow.
There are many structures associated with both MHC class I and class II proteins for several different species in the Protein Data Bank (PDB). A detailed description and visualisation of the structural features of MHC class I and II molecules can be found at the PDB ‘Molecule of the Month’. The crystallographic structures of different MHC protein have provided insight into how these molecules can each bind many different antigens, as well as the features that distinguish class I from class II MHC molecules.


ERICA ANDREWS
Web Design and Photography
Web Gallery allows for feedback by providing your contact information in the form below and through Contact located in the navigation bar. The form provides a feedback section in order to understand more of what can be provided to you and to learn from your commentary. In this section, please feel free to provide feedback on the online gallery located on the home page and Images of the Web Gallery located in the navigation bar. If you would like personal pictures to be altered, please include these photo attachments in your email, to<EMAIL_ADDRESS>along with any specifics you would like to be included in the alternation.
Web Gallery is an online art display of photographic alterations that provides image adjustments in order to gain feedback and create an interest in landscape photography, architectural photography, and wildlife photography. Our mission is to display altered photographic images online to gain critique and to provide a photographic alternation service to our viewers. We hope that this online art display will intrigue others to develop a passion for the arts and continue this example of sharing an appreciation for natural beauty.
The pictures taken are captured on foot and adjusted in order to create an alternative look. The program used to apply adjustments to the pictures creates several alternatives, allowing for many selections to be chosen. Any picture can be altered, so existing pictures can be altered as well as a picture requested. To have pictures taken or alternated, please refer to Contact in the navigation bar or the form above and provide your contact information. Web Gallery is open for viewing and downloads will be provided in the future.


XMC CSL Implementation on DSP side. More...
Data Structures | |
| struct | CSL_XMC_XMPAXH_s |
| This is the definition of CSL_XMC_XMPAXH. More... | |
| struct | CSL_XMC_XMPAXL_s |
| This is the definition of CSL_XMC_XMPAXL. More... | |
| struct | CSL_XMC_MPFSR_s |
| This is the definition of CSL_XMC_MPFSR. More... | |
| struct | CSL_XMC_XPFADDR_s |
| This is the definition of CSL_XMC_XPFADDR. More... | |
Macros | |
| #define | CSL_XMC_CFG_REGS (CSL_DSP_DSP_XMC_CTRL_REGS) |
Typedefs | |
| typedef struct CSL_XMC_XMPAXH_s | CSL_XMC_XMPAXH |
| This is the definition of CSL_XMC_XMPAXH. | |
| typedef struct CSL_XMC_XMPAXL_s | CSL_XMC_XMPAXL |
| This is the definition of CSL_XMC_XMPAXL. | |
| typedef struct CSL_XMC_MPFSR_s | CSL_XMC_MPFSR |
| This is the definition of CSL_XMC_MPFSR. | |
| typedef struct CSL_XMC_XPFADDR_s | CSL_XMC_XPFADDR |
| This is the definition of CSL_XMC_XPFADDR. | |
Enumerations | |
| enum | CSL_XMC_ACEN_MODE { CSL_XMC_ACEN_MODE_COUNT_DISABLE = 0, CSL_XMC_ACEN_MODE_COUNT_PROGEVENTS = 1, CSL_XMC_ACEN_MODE_COUNT_DATAEVENTS = 2, CSL_XMC_ACEN_MODE_COUNT_ALL = 3 } |
| This is the definition of CSL_XMC_ACEN_MODE. More... | |
XMC CSL Implementation on DSP side.
(C) Copyright 2008, 2009, Texas Instruments, Inc.
Use of this software is controlled by the terms and conditions found


We render end to end Services for residents and industries.We are expertise in designing and commissioning of solar plants, solar panel cleaning services and periodic maintenance contracts for both ON-GRID and OFF-GRID.
- POWER PLANTS
- WATER HEATER
- STREET LIGHTS
- WATER PUMPS
Back to Home


HIBC Modulo 43 Parser
This is a testing page for the Javascript implementation of the HIBC Modulo 43 Primary Barcode Parser.
Use the form below to test the parser.
Scan/Enter Barcode


I'm pleased to announce a new release of the openark kit. There's a lot of new functionality inside; following is a brief overview.
The openark kit is a set of utilities for MySQL. They solve everyday maintenance tasks, which may be complicated or time consuming to work by hand.
It's been a while since the last announced release. Most of my attention was on mycheckpoint, building new features, writing documentation etc. However my own use of openark kit has only increased in the past few months, and there's new useful solutions to common problems that have been developed.
I've used and improved many tools over this time, but doing the final cut, along with proper documentation, took some time. Anyway, here are the highlights:
New tool: oak-hook-general-log
oak-hook-general-log hooks up a MySQL server and dumps the general log based on filtering rules, applying to query role or execution plan. It is possible to only dump connect/disconnect entries, queries which make a full table scan, or use temporary tables, or scan more than X number of rows, or...
I'll write more on this tool shortly.
New tool: oak-prepare-shutdown
This tool makes for an orderly and faster shutdown by safely stopping replication, and flushing InnoDB pages to disk prior to shutting down (keeping server available for connections even while attempting to flush dirty pages to disk). A typical use case would be:
oak-prepare-shutdown --user=root --ask-pass --socket=/tmp/mysql.sock && /etc/init.d/mysql stop
New tool: oak-repeat query
oak-repeat-query repeats executing a given query until some condition holds. The condition can be:
- Number of given iterations has been reached
- Given time has elapsed
- No rows have been affected by query
The tool comes in handy for cleanup jobs, warming up caches, etc.
New tool: oak-get-slave-lag
This simple tool just returns the number of seconds a slave is behind master. But it also returns with an appropriate exit code, based on a given threshold: 0 when lag is good, 1 (error exit code) when lag is too great or slave fails to replicate.
This tool has been used by 3rd party applications, such as a load balancer, to determine whether a slave should be accessed.
Updated tool: oak-chunk-update
This extremely useful utility breaks down very long queries into smaller chunks. These could be queries which should affect a huge amount of rows, or queries which cannot utilize an index.
Updates to the tool include limiting the range of rows the tool scans, by specifying start and stop position (either by providing constant values or by SELECT query). Also added is auto-termination when no rows are found to be affected. Last, it is possible to override INFORMATION_SCHEMA lookup by explicitly specifying chunking key.
This tool works great for your daily/weekly/monthly batch jobs; in creating DWH tables; populating new columns; purging old entries; clearing data based on non-indexed values; generating summary tables; and more.
Frozen tool: oak-apply-ri
I haven't been using this tool for a while. The main work down by this tool can be done with oak-chunk-update. There are some additional safety checks oak-apply-ri provides; I'm thinking over if they justify the tool's existence.
Frozen tool: oak-online-alter-table
With the appearance of Facebook’s Online Schema Change (OSC) tool, which derives from oak-online-alter-table, I'm not sure I will continue developing the tool. I intend to wait for general feedback on OSC before making a decision.
Documentation
Documentation is now part of openark kit's SVN repository.
Download
The openark kit project is currently hosted by Google Code. Downloads are available at the Google Code openark kit project page.
Downloads are available in the following packaging formats:
- .deb package, to be installed on debian, ubuntu and otherwise debian based distributions.
- .rpm package, architecture free (noarch), for RPM supporting Linux distributions such as RedHat, Fedora, CentOS etc.
- .tar.gz using python's distutils installer.
- source, directly retrieved from SVN or from above python package.
- Some distribution specific RPM packages, courtesy Lenz Grimmer.
Feedback
Your feedback is welcome! I may not always respond promptly; and I confess that some bugs were left open for more than I would have liked them to. I hope to make for good quality of code, and bug reporting is one major factor you can control.
comments powered by Disqus


 Presumably, then, the idea came from his longtime coconspirator, screenwriter Nicholas St. John. It's a good decision, because Ferrara is arguably at his best when he's working within a well-established mythos--taking on the BODY SNATCHERS in his 1993 remake, for instance, or casting Christopher Walken in the Al Pacino role, updating and revamping DePalma's SCARFACE and Coppola's GODFATHER for his own KING OF NEW YORK (1990).
So with THE ADDICTION, Ferrara sinks his teeth into a moral fable that equates bloodlust with amorality and postulates that there may, even now, be salvation for the sinner. Shadow-slinker Anabella Sciorra nails star Lili Taylor early on, dragging her into an appropriately chiaroscuro corner of Greenwich Village and biting her, hard. Taylor, who plays a philosophy grad student at New York University, acquires the vampire's thirst for blood and starts stalking the campus, preying on the victims who are weak enough not to tell her just once, with feeling: get away from me.
The movie progresses more or less as a series of episodes detailing Taylor's interactions with old friends, professors and other potential victims, and even other vampires. Before long, she's adopted the cool black-clad cigs-and-sunglasses attitude of a fashionable junkie and starts to ruminate weirdly on the Meaning of it All.
The NYU setting defuses a problem Ferrara movies have been having with dialogue lately; in this movie, the characters talk like pretentious philosophy students because that's what they are, and it makes all the difference when Taylor seduces a sweet young thing at the movie's midpoint by inviting her upstairs to study Feuerbach. The movie's wildly literate bent comes to a wacky fruition during a key scene featuring Walken in a longish cameo. Discussing the nature of blood addiction, and giving Taylor metaphysical tips on ways to best deal with her habit and the attendant immortality, Walken gets animated and lurches toward her with feeling: "Have you read NAKED LUNCH?"
Walken's presence is welcome, even though Taylor is quite capable of handling her part without a helping hand. Ferrara's forte lately has been coaxing anguished performances from his stars, and the camera here lingers on Taylor, framing her body dispassionately as it wracks and convulses, or as she crawls across the floor in the throes of her addiction. This isn't to say that you should expect a full-frontal Keitelian assault, but Taylor is excellent, and she provides a necessary dollop of humanity within Ferrara's big picture.
Shot entirely in black-and-white, Ferrara's New York is used here mainly for backdrop and attitude. There's no real sense of location, but this is the kind of story you'd hardly expect to see anywhere else. The photography is mostly rich and evocative, but occasionally heavyhanded. You wish, for instance, that someone would reach up and turn on a light during Taylor and Sciorra's first encounter. It takes a little while for THE ADDICTION to get going, and the overly mannered dialogue may have your eyelids dropping if you're up past bedtime. Fortunately, when the going gets weird, it's weird enough to make you care where Ferrara and St. John are taking you.
THE ADDICTION culminates in two major scenes, one of them being an over-the-top party sequence that recalls the climax of my favorite Ferrara film, MS. 45. That first scene leads directly into the second, which is the allegorical climax, complete with a priest and communion wafers. It'll be no surprise to anyone who's seen BAD LIEUTENANT that Ferrara is most concerned here with the concepts of sin and redemption, and while the last moments of THE ADDICTION are a little obscure, he follows through, perhaps shoring up a new reputation as one of New York's foremost gloomy optimists.
-- DEEP FOCUS: Archived Movie Reviews by Bryant Frazer http://www.panix.com/~bfrazer/flicker/<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


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object coins.backend.ana.DataFlowAnalysis
Data Flow Analysis Tool
| Field Summary | |
protected Function |
function
|
protected boolean |
isForward
|
protected int |
timeStamp
Copy of CFG timestamp to be analyzed. |
| Constructor Summary | |
DataFlowAnalysis(Function f)
Solve data flow equations for Function f. |
| Method Summary | |
(package private) abstract void |
confluence(BasicBlk blk)
Supply confluence operator for block blk. |
(package private) abstract void |
initialize()
Initialize problem-oriented data structure. |
boolean |
isUpToDate()
Return true if this analysis is up to date. |
(package private) abstract boolean |
transfer(BasicBlk blk)
Supply transfer function for block blk. |
(package private) abstract void |
windUp()
Finalize problem-oriented data structure. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface coins.backend.LocalAnalysis |
printAfterBlock, printAfterFunction, printAfterStmt, printBeforeBlock, printBeforeFunction, printBeforeStmt |
| Field Detail |
protected int timeStamp
protected Function function
protected boolean isForward
| Constructor Detail |
public DataFlowAnalysis(Function f)
| Method Detail |
public boolean isUpToDate()
isUpToDate
in interface LocalAnalysis
abstract void initialize()
abstract void confluence(BasicBlk blk)
abstract boolean transfer(BasicBlk blk)
abstract void windUp()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |