'I never said govt was going to build a national shrine' - Minister rubbishes reports
The Minister for Chieftaincy and Religious Affairs, Samuel Kofi Dzamesi, has rubbished media reports that his outfit is considering a proposal to build a national shrine for traditional leaders in the country.
Mr Dzamesi was reported to have said at a press conference in Accra on Wednesday, November 20, 2019, that a number of traditional leaders had appealed to the government for the construction of a national shrine.
The minister was alleged to have also said it is right for traditional leaders in the country to request for a national shrine, especially when the Islamic and Christian faiths in the country have a national mosque and a national cathedral respectively.
But, reacting to the issue on Adom FM’s morning show Dwaso Nsem on Thursday, Mr Dzamesi said the reports were a misrepresentation of the facts.
“Just yesterday at my press briefing, someone asked a question why the government isn’t putting up a shrine, rather concentrating on building a national cathedral. And I responded by saying that some Wolomei (GA Traditional Priests) have presented a petition on that,” he said.
“And we can only look at their plea, but I never said I was going to build a national shrine,” he said angrily.


--- layout: post title: James Edward Gray II subtitle: How to become successful rubyist teaser: Get involved! There are so many projects that need programmers or even just sites, documentation, support on mailing lists, etc. That's how you meet other programmers, get involved in projects, and eventually even get jobs. I certainly started that way. thumb: upic-jeg2.jpg category: freelance ---
James writes Ruby code for fun and profit, pens books with a good deal of Ruby in them, gives speeches about the language, and runs the local support group for Ruby addicts. He definitely sees the world through Ruby-colored glasses.
I got a few small jobs from friends I knew, but my first big job was found by responding to a job listing on this site:
Where, and how, do you search for work now? Can you give me some advice on the best ways to find Ruby related work?
I contract with another company that finds most of my projects. I don't enjoy that side of the business too much, so it's good for me to be able to rely on them to provide me with jobs. In return, they get to rely on me as a programmer to build their projects. It works out well for all of us.
Obviously this exact setup won't work for everyone, but the point is that you do need to get yourself into an arrangement that makes sense for you, as I have.
What advice would you give a Ruby beginner without any projects ready to show?
Get involved!
There are so many projects that need programmers or even just sites, documentation, support on mailing lists, etc. That's how you meet other programmers, get involved in projects, and eventually even get jobs. I certainly started that way.
What have you learned in the past about working with Ruby, clients, how to find good clients, etc.? Many people dream about changing the past for a better present moment ... anything you want to share?
I would tell myself to follow more of my crazy ideas. If you love programming, everything else will sort itself out. Eventually your projects will be noticed, if not used. That puts you in touch with programmers which does everything I've already mentioned.
What books, or sites, or recipes, or whatever else you can recommend (they may be about productivity, or negotiation, or thinking - anything you think will help me live a better life as a programmer)?
I really like Pragmatic Thinking & Learning. It's not a super heavy programming text, but it is inspirational in other ways.
How much time per week do you work? How do you keep yourself productive and focused?
Too many. I imagine that's pretty common for consultants like me.
I've never really had trouble staying focused. For me, it's important to remember I don't have to work all the time.
I guess that's the way it goes when you get paid to play with your favorite toys all day.
I'm a neat freak and have a pretty bare desk with mainly just my trusty laptop in the middle. When I'm working through some book, it will be there too.
I do think it's important to have a separate work space though.
How do recommend becoming a successful and profitable programmer?
Love what you do. The joy shall be your profits everyday. The money is almost insignificant next to that.
Programming is hard. I often tell my wife in the morning, "I need to be smart again today." If you don't love it, you can find easier ways to make a living. If are lucky enough to enjoy it though, it will carry you right through whatever challenges may come.
What should every programmer know?
How to learn more.
The more I learn as a programmer, the more I realize I don't know enough. Our industry shifts daily and you always need to be learning more just to keep up.
Even if you go through a computer science program in school, much of what they share with you can be irrelevant by the time you are really in the industry. For that reason, it's more important to learn how you are learning than what you are learning.
Best of luck with your career!
James Edward Gray II
Thank you very much!


The Author attribute adds information about the author of the tests. It can be applied to test fixtures and to tests.
The constructor takes the name of the test author and optionally the author's email address. Author can also be specified on a TestFixture or Test attribute.
[TestFixture] [Author("Jane Doe", "jane.doe@example.com")] public class MyTests { [Test] public void Test1() { /* ... */ } [Test] [Author("Joe Developer")] public void Test2() { /* ... */ } } [TestFixture(Author = "Jane Doe")] public class MyOtherTests { [Test] public void Test1() { /* ... */ } [Test(Author = "Joe Developer")] public void Test2() { /* ... */ } }
Note: you can currently only have one Author attribute per fixture or test.


Write and draw naturally on screen with Surface Pen
Automatically adjusts to lighting conditions
Ultra-slim and light, starting at just 1.70 pounds
Now with both USB-C™ and USB-A
Connect to multiple displays, docking stations, and more
Charge your phone and accessories
Versatile 2-in-1 laptop
11.5” x 7.9” x 0.33”
4GB, 8GB, or 16GB LPDDR4x RAM
1 x USB-C™ 1 x USB-A
11.5” x 7.9” x 0.33” display screen the screen has a 12.3” PixelSense™ Display, and the a resolution: 2736 x 1824 (267 PPI), an aspect ratio: 3:2 with your choice of 4GB, 8GB, or 16GB of RAM
A choice of a Dual-core 10th Gen Intel® Core™ i3-1005G1 Processor Quad-core 10th Gen Intel® Core™ i5-1035G4 Processor Quad-core 10th Gen Intel® Core™ i7-1065G7 Processo. Sucurity taking card of with firmware TPM and facial recongition. With windows 10 home installed and a 30 day trial to the office 365 giving you access to programs like word and powerpoint
When you open the product for first time you will get one Surface pro 7 a power supply a quick start guide and the saftey and warrenty documents. When orderig get your choice of solid stae drives: 128GB, 256GB, 512GB, or 1TB increaseing the speed of the device in comparisons the use of hard drive. The batter lasts for up to 10 and half hours perfect for those journeys home
Your graphic crad depends on the procesor you got and is as followed Intel UHD Graphics if you got the I3 core and Intel Iris plus graphics for the I5 or I7. When you wanna plug something in just look here for these are all the ports that the devive has 1 x USB-C™ 1 x USB-A 3.5 mm headphone jack 1 x Surface Connect port Surface Type Cover port4 MicroSDXC card reader Compatible with Surface Dial off-screen interaction* and with a 5 MP front faceing camera and a 8MP rear camera wont replace your camera but gets the job done


import json
import random
from pathlib import Path
from typing import List
import numpy as np
from loguru import logger
from .state import State
from .action import Action
[docs]class Agent:
"""
Class modeling a player
Attributes
----------
grid: numpy.ndarray
Representation of the board as an array of integers.
current_state: ttt.models.State
Current game state
"""
def __init__(self):
self.grid = None
self.current_state = None
[docs] def update_grid(self, grid: np.ndarray) -> None:
"""
Updates `grid` and `current_state` with the given value.
Parameters
----------
grid: numpy.ndarray
Representation of the board as an array of integers.
"""
self.grid: np.ndarray = grid
self.current_state: State = State(grid)
[docs]class CPUAgent(Agent):
"""
Class modeling a CPU player.
Attributes
----------
states: list
List of states. Representation of the game as a Markov Decision Process.
"""
def __init__(self):
super().__init__()
self.states: List[State] = []
[docs] def update_grid(self, grid: np.ndarray) -> None:
"""
Updates `grid`, `current_state` and `mdp` with the given value.
Parameters
----------
grid: numpy.ndarray
Representation of the board as an array of integers.
"""
super().update_grid(grid)
if not self.has_state(self.current_state):
self.add_state(self.current_state)
else:
# Overwrite new State with the saved one
self.current_state = self.get_state(self.grid)
[docs] def get_random_move(self) -> Action:
"""
Generates a random move.
Returns
-------
move: ttt.models.Action
"""
number_of_possible_moves = len(self.current_state.next_states_transitions)
return Action(self.current_state.next_states_transitions[random.randint(0, number_of_possible_moves - 1)])
[docs] def get_best_move(self) -> Action:
"""
Generates a new move using the previous knowledge.
Returns
-------
move: ttt.models.Action
"""
return self.current_state.get_best_move()
[docs] def has_state(self, state: State) -> bool:
"""
Checks if MDP has registered the given state
Parameters
----------
state: ttt.models.State
State to be checked
Returns
-------
is_registered: bool
"""
for entry in self.states:
if np.array_equal(state.grid, entry.grid):
return True
return False
[docs] def add_state(self, state: State) -> None:
"""
Adds the given state to the MDP.
Parameters
----------
state: ttt.models.State
State to be added.
"""
self.states.append(State(state.grid))
[docs] def get_state(self, grid: np.ndarray) -> State:
"""
Gets the state with the given grid.
Parameters
----------
grid: numpy.ndarray
Representation of the board.
Returns
-------
state: ttt.models.State
State containing the given grid.
"""
for state in self.states:
if np.array_equal(grid, state.grid):
return state
raise ValueError(f"Grid {grid} could not be found in saved states "
f"{[state.grid for state in self.states]}")
[docs] def update_state(self, state: State) -> None:
"""
Updates the MDPs state with the given one.
Parameters
----------
state: ttt.models.State
State to update MDPs with.
"""
for index, entry in enumerate(self.states):
if np.array_equal(state.grid, entry.grid):
entry.next_states_values = state.next_states_values.copy()
self.states[index] = entry
[docs] def serialize(self) -> dict:
"""
Serializes this Agent into a dict.
Returns
-------
serializable_dict: dict
"""
return {
"states": [state.serialize() for state in self.states]
}
[docs] def deserialize(self, json_data: dict) -> None:
"""
Dumps specified `json_data` to the agent.
Parameters
----------
json_data: dict
Dictionary with the following format: {mdp: dict}
"""
for serialized_state in json_data["states"]:
state = State()
state.deserialize(serialized_state)
self.states.append(state)
logger.debug(f"Loaded agent")
[docs] def save(self, path: str) -> None:
"""
Saves model's params as a JSON file.
Parameters
----------
path: str
Where to save agent params.
"""
with open(path, 'w') as fp:
json.dump(self.serialize(), fp)
[docs] def load(self, path: str) -> None:
"""
Loads a JSON file containing agent's params.
Parameters
----------
path: str
Path of the JSON file.
"""
data = json.loads(Path(path).read_text())
self.deserialize(data)
[docs]class HumanAgent(Agent):
"""
Class modeling a human player.
Attributes
----------
grid: list
Representation of the board as list of integers.
"""
def __init__(self):
super().__init__()
[docs] def get_next_move(self) -> Action:
"""
Gets the user move.
Returns
-------
move: int
"""
possible_moves = [action.value + 1 for action in self.current_state.next_states_transitions]
logger.info(f"Which cell do you want to mark? {possible_moves}: ")
move = int(input())
while move not in possible_moves:
logger.info(f"The cell is already marked. Pleas, select another cell.\n\n"
f"Which cell do you want to mark? {possible_moves}: ")
move = int(input())
return Action(move - 1)


' ' IN THE HIGH CouRT or KARNATAKA AT BANGALORE DATED THIS THE 22"" DAY or IIILY, 2010 BEFORE THE HON'BLE MR. JUSTICE c.R.KuMARAsI:vAMvj ' CRIMINAL PETITION No.77~ooF A Between: 1. M/s. Athashri Paranjape Sci'.-.emesV. Bangalore I'-"lat No.1, ' Monalisa Apartments, 100 Feet Road, 6"' Main, 2"' Stage, Indirana'g-.-ar; _ Bangalore -- 560 038." 2. Mr.Shashank _Paranj:ape"f, _ ~ S/o Late Pu;i3'osiho'tta:m Para n'jape",«..._..-- Aged about 'T448513/.€'_arvs,,'_ _ . M/s. Athe-shr.A.i"'~Pa r'a.n,I'ap'.e, Sche mes, Bangaiore"wE|'at1'.:_No.J_,'= V * ._ Monaiisa" A-.;;a".3 rtrT'1?e"nts',.«"- 100 Feet Roa»e_,..,_sth iv'...aI'n._, -- ' 2"" Stage, Indir.a"n.a'rga'r---,., " __ Bangalore' :- 560 '-0'38}-«.__ Petitioners (By Sri-..Pra N'.-Katfi-av"i.., Advocate) 'Th e _£<.'a r SI.ra te Po I ! u ti o n Controi B'oa";%d,',;;Regionai Office, Bang._a|ore.Ea=_st, 22"" Floor, B Public" Ut'-iiit'y"Bui!ding, 'M.G.Road,':. Bangalore ~-- 560 001, Deputy Environmental Officer. 'a*~'i,"'s.Lex Justice, Advocates) Respondent
U This Criminal Petition is filed under Section 482 of Code of Crirniriai Procedure praying to quash the proceedings in C.C.i\io.4027/09 (Old C.C.No.80/2007) pending on the fiie of CMM (TC) 1, Bangalore District.
This Criminal Petition coming on for dictating ordersfthisv day, the Court made the foIlowing:--
LLB This Criminai Petition is ﬁled under»:Sect'i"ogn oi' of Criminai Procedure praying to quas.h:"the pro::egedi'ngs:.A'i'n it C.C.i\io.4027/O9 (Oid C.C.No.8O/'2'0V:i§'7) pendi_ri_g'*o.n théelvltiie of Metropoiitan Magistrate (Traffic ChourtVi_:Ij)iﬂS'a_ngaiore"District.
2. The primary facts of the The"co'ri1Ppiaina'i§t"is :th.e"Karnata ka State Pollution -Control Board representedlVby"i«i.ts'ijepiji-ty Environmental Officer. It is stated in the..icom'pi_aiii.t"that the complainant is a body
-"'.corpQ:rateconstituted._...under Section 4 of the Water V.'-..(Pre'ventio_n'~raged"'Controi of Pollution) Act, 1974 (hereinafter referred to "the Water Act" for short). Section 44 of the jWater"Act,yV 19.74 provides penalty for the contravention of 'Section of the said Act and the Ruies made thereunder and 45--A provides penaity for contravention of certain provisions of the Act. Section 49 of the said Act provides for 9/ the procedure for taking congnizance of the offence committed under the Water Act.
It is stated in the Compiaint that accused No.2 who is working as Managing Director of accused No.1-Con*s'pa*ny--_:i's, fully responsible and incharge of all affairs of accused " the construction of residential fiats at.the..project.Vi"It-'Iris's'tated'_ if that in the case on hand the accused':iper_so~ns construction of residential compieyiiiapartnvieints of the first accused at the project _a4d"dres's_»_vstated: cause title, without obtaining 'i-Vfro%tn'.tl'se'v'vcomplainant as per Section 25 of the._Water.~Act::'fo'r-- which is a mandatory activity starts.
The accused--. as per Section 2(d), 'sewage effluent' as "per Section 2{ 'trade effluent' as per Section 2(k), 's;ie\"~e.r' as pergéection 2(gg) and 'stream' as per Section 2(j)..oKf the.Wa:t'erAct, has created and is creating 'pollution' as per Section:H2{_e}V.i'Vof"'the Water Act. '"Thev-._'accJsed persons have taken up construction of 206 :".v4.4"*--res.ide.ntia'i'"fiats for aged people at survey*Nos.19/2, 146/4 'I43/2, near Pattendur, Agrakara Village, Whiteﬁeici Road, ..:'_4"wK...R;Puram, Bangalore East Taiuk, Bangalore and 1030 U In pursuance to the application for Environment Clearance Certiﬁcate, the site was inspected on 17.06.2006 which is as per Mahazar and again on 27.06.2006, was inspected by Assistant Environmental Officer that the accused did not obtain valid consent u_nd,ei---..th'eA.:Wateir'5 Act and found that the construction ..wasiir.- Therefore, he drew Mahazar and prepa_red_ inspecﬁori Having not stopped the constructi'o.n"activity; .inspE.teVéof'Vwtitten direction not to construct, co«ntr'a've'"ntion of Section 33--A of the 'accused have committed offencetand as per Section 41 (}l)" iﬁfhereiaiter, once again a directionigwas 33--A of the Water Act to stop the constgru ctiidn it it isi'~submit'ted__t_hat the accused person submitted one applicaltion~-,for consent for establishment on 10.07.2006, for.'"oo,nst'i*ti'cti_on;'"of 88 fiats and disclosed the capital 0 _inves'tmer*at.as"' 13 crores. This application is made with rrialafide V'i'ntention to avoid or overcome the applicability of i.notVivfi'cation dated 07.07.2004. When we compare the two ':'_4"'a»pplications, the particulars stated in these two applications 6/ are different and they do not match each other. This is done with a view to mislead the compiainant who is a quasi~judicial authority and setting the law into motion in a wrong way. Thus the accused committed the offence punishable..Vu-nlder Section 45---A of the Water Act. To obtain establishment from the complainant before~v--sdtartihgi .the_'" construction activity is within the kniowledége of But intentionally not obtaining: _C_onsent"for pgutting of V construction is contravention of plroyiisions of the Water Act. The State Poliutiongﬁontroxl l:§oai*d_iis"'createciA protect and preserve the environyrnentg through the compiainant, is t'he"';c.Liistoci--iariyoi'" the .enyiiro.nfment and hence it is the property complainant and the accused persons by"'--*/yirtue "ofthe:rhcoénstruction work damaged that property. ii.Therefo,re,V'the accused are iiable to be punished under"Se;ctior_i"r1e_2 (1) (c) of the Water Act. All these facts d'i'3cio_selA that_ntiieV'iact of the accused continuing to put up the _const'ructi,on without obtaining the Environment Clearance and Consent for Establishment is intentional and A deliberate and hence the act of the accused attracts continued 2h"'w;of_f_ence and are liable to be prosecuted. Therefore, the C/' complainant alleged that the accused persons have committed offence punishable under Sections 41(2), 42(1)(c), 44, 45-A and 47 of the Water Act. The witnesses for the above complaint are Regional Officer, Deputy Environmentaiwdfficer and Assistant Environmental Officer of the Karnata'ka.';$taVta_V" Pollution Control Board, Bangalore.
3. I have heard learned counsel for the pletitioners aVs~E_we'ii5l.: as learned counsel for the respondent.
4. Learned counsel for the petitioners snbrnlts the notiﬁcation dated 27.O1.1§)E.'?§'it--do3sf'i--n0t4 to the project in question in view of__the;'notifilcavtionu._datedj:1{)i?.O7.20O4. He further s.;;ii§nﬁ'itsiwtii:at e:i;'ei:.:th.o:'ugh iiewhad ﬁled a writ petition to quash the-criminal and the same was disposed of, he can urge the _rel.ief. in"vthis'.Vpetition independently. It is the "case p.etitioxne'rs'"that at the instance of Sri.C.J.Singh, be a pixbiiospirited person, Pollution Control Board""has.'I.o-tigeti this complaint. It is the contention of the 'le-arned ..counsel for the petitioners that the project does not :.c_'on1e"upnder the purview of the notification dated 27.01.1994 "«l«.-asitarnended by notiﬁcation dated 07.07.2004. Learned "feoensei for the petitioners further submits that Section 25 of 2' 2/ the Water Act does not apply to the project in question. The question of obtaining Consent for Estabiishment does not arise in the instant case, since the project is yet to be commenced. Since the project is not completed, the question of dischar:gi'ng effluent does not arise. Therefore, no offencej'has'.j_~been.v committed in view of Section 27 of the Water Act-.--. V
5. Learned counsel for the petitionergreijieédtyon 'the. passed by the division Bench of this in V c/w. W.P.4100/2008 c/w. wh;'iiﬁia91o4/2o0@_5'i~'c/iii, ccc 231/2008 disposed of not for this Court to express any opiniolnAV_Vin'."_th{is on the order passed by the Ben~ch'.~.2:"?'--iT'he__V:ViT'relief sought in W.P.189lJ'4/20062 the proceedings in c.c.4o27/2«oo9i~(oit:_cr§ictt§.:o,aé'oo7) pending before the trial Courty.._§"But the iii-vliysiyon Eiench of this Court has not quashed thew.slaid_¥'proceedings. Therefore, learned counsel for the p'et_iti'onie'rs4:"i*iaV_s iiiied this criminal petition seeking to quash the _ proceedings in?c.c.4o27/2009 (Old c.c.so/2007). ;'i.earned counsel for the respondent submits that W.P. ._iii'r293i3./C2606 and W.P.4100/2008 has no relevance to this "'=:crin1inal petition since c.c.4o27/2009 (Old c.c.so/2007) 6/' -10-
8. Learned counsel for the respondent has relied on the decision in case of U.P. POLLUTION CONTROL BOARD V/S_..._l_3R. BHUPENDRA KUMAR Mom & ANR. reported in (20o9}j'2.X:'s.c'ce,A' 147 wherein the Hon'b£e Supreme Court has held T- "Criminal Procedure Code, 19.73% -- s.'48'2ri['_r-;r' % V Quashing of criminal complaint inherent power --- Approaci2__ Caut_iou's~ " V approach, but no ﬁxed._ru£e -- Ouestioln-5 fact can be gone into no offence is} disciosed, but at the stage is not neclessary V';g;.hou.ld be exercised to do ,:'eaE- and" siubstantliaf justice and if rnjade'*V.t'o-~-~a:buse that authorit$g_"----.§o"las -injustice, the C.O.Lli"tkliat-'Q power ~pVre'ventr.al5use."
9. It is_ the learned counsel for the respondent thatthevVpetitiolners have not approached the Court .-gvyith <§5éan_i1anvds.' A1':-tsupport of his contention he relies on the A"'der:Visio.n __of s P CHENGALVARAYA NAIDU v/s. JA'GAi§i--A1AfHx"_&:..o':?§'s'. reported in (1994) 1 SCC 1 wherein the
-iV-lon'bl4é Ape} Court has held thus:
4_ "The Courts of law are meant for imparting " justice between the parties. One who comes to the Court, must come with clean hands. we are constrained to say that more often than not, U process of the Court is being abused. Property- grabbers, tax--evaders, bani<--loan--dodgers and other unscrupulous persons from all 'walks of life ﬁnd the Court--process a convenient lever to retain the illegal--gains indeﬁnitely. We have no hesitation to say that a person, who's cas_e..__is. based on falsehood, has no right to approac.h:"the,:VV' Court. He can be summarily th,rov_vn out"at--i:any"'~. " stage of the litigation."
There is a force in the subrnission ofthe leai'rned_c_oun§sei for the respondent.
10. I have carefully peVrus'.éd,t'«he 2.rn»ater,iai:"pl,aced before the Court. It is alleged in thecomplaiint".th_at"".accused persons have take'n""up.,:ti1eaconstiractionSofmrezsidential apartments in the name-_Ao'f,_ project address, that is Survey i\ios.V'19/2, VVi4_6/'«.1g,S"«1'?l8/2, near Pattendur, Agrakara «=.\_/illag,e~,,V\{Ahitefiel'd""RQ.ad. K.R.Puram l-lobli, Bangalore East V'VfE'a!Vuk,..,wit_hout4..,obt_aining consent as per Section 25(1)(a) of theiﬂwater'V'A--'£§ct,,:=hV'yvhich is mandatory requirement before gcommenpcernent of commercial activity. The accused are the it '"fo:ccupier'VVas per Section 2(d), 'sewage effluent' as per Section 'trade effiuent' as per Section 2(k) of the Water Act. T he accused persons have taken up the construction of the / 6/ W12-
project for 1030 persons at an average of 5 persons per fiat about 1,359,050 of water at an average consumption of_.._;35 iiters per day per head and is expected to discharge"ra:.E:iout.A' 1,11,240 liters of waste water (sewage) per * amended notification dated 7.7.2004 i__ss.ue_d by'theiVi';in'i's'try..ofvi-V_V 2" Environment and Forest, Governrnentiofillrridjiafifi discharges more than 50,000 iiter-s__ of Vsevvage should obtain Environmentai Cieararace Sertifiicatevfi before undertaking the construction' without obtaining the consent for...estab§V.iwsii:mcéi}£,~iiyinmencing the constructive activ'ity'}:is an offence. "
11. The.a.iie_gation*--1nnadejagwainst, accused is that before commencemerut they did not obtain consent for establishmentas vrequ_i.red»-uiinder Section 25 of the Water Act. _ Therefore', the accused have contravened Section 25 of the punishabie under Sections 42, 44 and 47 of"thé°'.__ One of the contentions raised by the iearned co.;J"nsr-étior the petitioners is that the project does not 2'".'::.".""--co'megsander; the purview of the Notiﬁcation dated 27.1.1994 A as-.,am.en'ded vide notification dated 7.7.2004. Though it is the wr.:on__t§ention of the iearned counsel for the petitioners that the U (especiaiiy in reiatioa to the food chain), disposal of waste and genera} nuisance. This being the position, criminai law reiating to environment should be administered in substance than in form. Adhering to too much of technicalitiesrwili obscure or defeat the very purpose and object of cr_imin.aE'__i'a'ié\.'f:V" In this case, the aiiegation made against the petiti,§neVrs.A.ii:s t_ha3t'~i they did not obtain consent as 25(3.)(a) of the Water Act. It is _aliegj'e.d"i:hat tne;petitioneks' have contravened Section 25 oa'=r.:t'i1e Wa'ter*Aﬁt, is punishable under Sectior'.s~..42, Mahti of therwater Act. The averments made in th_e 'cor?npia_inti~c_|ear that the petitioners did obtain "the Board before commen:cVeme'_ntri;af project_ iniouestion. The averments made in the compiairitjpcoh-stitut'es the offence aiieged against the petii:ioners;' is .the"'.cor1:tention of the learned counsei for "hthe "'p$etii;i-oners that """ "subsequently the petitioners have V'*optaisn'eci from the Board. But this wiii not wipe out the 'ctirne coi;ri.i.ifri'i;tted by the petitioners but utmost this factor 'may be considered for awarding iesser sentence in case if the stamina: case against the petitioners ends in conviction. ___"'i'.'Therefore, in my view this is not the rarest of the rare case ""V.Vihih'ere this Court can exercise inherent power to quash the 2/ _ 15 _ criminal proceedings. This criminal petition is devoid of merits and the same is iiable to be dismissed.
:3. In the result, I pass the following:
QRDER This Criminal Petition is dismissed. ._ AHB/KM


 There is a random bin in front of the chair. At first, you didn't know why anyone would just leave an empty container on the floor. Then you realize how convenient it is to prop your feet upon it.
You had just gotten good and comfortable when someone walks into the room. It's the security guard. The security guard stares at you and asks who you are and why you are in the staff area. You reply that you talked to the Branch Guy and that you were looking for the Coordinator of Stuff.
"Looks like you are sitting with your feet propped up to me. Since the Stuff Coordinator is not in here, maybe, you should look someplace else. Someplace that is not in the staff area. They also mentioned that It's your lucky day and that they will even escort you."


dm-is-published
This plugin makes it very easy to add different states to your models, like ‘draft’ vs ‘live’. By default it also adds validations of the field value.
Originally inspired by the Rails plugin acts_as_publishable
by
fr.ivolo.us.
Installation
$ gem install dm-is-published
Or add the gem to your Gemfile, and then run bundle install
.
gem 'dm-is-published', 'CURRENT_VERSION_NUMBER'
Getting Started
First of all, for a better understanding of this gem, make sure you study
the ‘dm-is-published/spec/integration/published_spec.rb
’ file.
Require dm-is-published
in your app.
require 'data_mapper' # must be required first require 'dm-is-published'
Lets say we have an Article class, and each Article can have a current state, ie: whether it’s Live, Draft or an Obituary awaiting the death of someone famous (real or rumored)
class Article include DataMapper::Resource property :id, Serial property :title, String ...<snip> is :published end
Once you have your Article model we can create our Articles just as normal
Article.create(:title => 'Example 1')
The instance of Article.get(1)
now has the following things
for free:
-
a
:publish_status
attribute with the value'live'
. Default choices are[ :live, :draft, :hidden ]
. -
:is_live?, :is_draft? or :is_hidden?
methods that returns true/false based upon the state. -
:save_as_live
,:save_as_draft
or:save_as_hidden
converts the instance to the state and saves it. -
:publishable?
method that returns true for models whereis :published
has been declared, but false for those where it has not been declared.
The Article class also gets a bit of new functionality:
Article.all(:draft) => finds all Articles with :publish_status = :draft Article.all(:draft, :author => @author_joe ) => finds all Articles with :publish_status = :draft and author == Joe
- Todo
-
add more documentation here…
Usage Scenarios
In a Blog/Publishing scenario you could use it like this:
class Article ...<snip>... is :published :live, :draft, :hidden end
Whereas in another scenario - like in a MenuItem model for a Restaurant - you could use it like this:
class MenuItem ...<snip>... is :published :on, :off # the item is either on the menu or not end
RTFM
As I said above, for a better understanding of this gem/plugin, make sure
you study the
‘dm-is-published/spec/integration/published_spec.rb
’ file.
Errors / Bugs
If something is not behaving intuitively, it is a bug, and should be reported. Report it here: github.com/kematzy/dm-is-published/issues
Credits
Copyright © 2008 - 2013 [Kematzy at gmail]
Loosely based on the ActsAsPublishable plugin by [fr.ivolo.us/posts/acts-as-publishable]
Licence
Released under the MIT license.
- MODULE DataMapper::Is::Published::ClassMethods
- MODULE DataMapper::Is::Published::InstanceMethods
- MODULE DataMapper::Is::Published::ResourceInstanceMethods
| VERSION | = | IO.read("#{File.dirname(__FILE__)}/../../VERSION").chomp |
method that adds a basic published status attribute to your model
params
-
states
- an array of 'states' as symbols or strings. ie: :live, :draft, :hidden
Examples
is :published :on, :off is :published %w(a b c d)
@api public
Source: show
# File lib/is/published.rb, line 133 def is_published(*args) # set default args if none passed in args = [:live, :draft, :hidden] if args.blank? args = args.first if args.first.is_a?(Array) # the various publish states accepted. @publish_states = args.collect{ |state| state.to_s.downcase.to_sym } @publish_states_for_validation = args.collect{ |state| state.to_s.downcase } extend DataMapper::Is::Published::ClassMethods include DataMapper::Is::Published::InstanceMethods # do we have a :publish_status declared if properties.any?{ |p| p.name == :publish_status } # set default value to first value in declaration or the given value d = properties[:publish_status].default.blank? ? @publish_states.first.to_s : properties[:publish_status].default # set the length to 10 if missing or if shorter than 5, otherwise use the given value l = 5 if properties[:publish_status].length.blank? l = (properties[:publish_status].length <= 10 ? 10 : properties[:publish_status].length) property :publish_status, String, :length => l, :default => d.to_s else # no such property, so adding it with default values property :publish_status, String, :length => 10, :default => @publish_states.first.to_s end # create the state specific instance methods self.publish_states.each do |state| define_method("is_#{state}?") do self.publish_status == state.to_s end define_method("save_as_#{state}") do self.publish_status = state.to_s save end end # ensure we are always saving publish_status values as strings before :valid? do self.publish_status = self.publish_status.to_s if self.respond_to?(:publish_status) end validates_within :publish_status, :set => @publish_states_for_validation, :message => "The publish_status value can only be one of these values: [ #{@publish_states_for_validation.join(', ')} ]" end


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javassist.tools.reflect.Reflection
public class Reflection
The class implementing the behavioral reflection mechanism.
If a class is reflective, then all the method invocations on every instance of that class are intercepted by the runtime metaobject controlling that instance. The methods inherited from the super classes are also intercepted except final methods. To intercept a final method in a super class, that super class must be also reflective.
To do this, the original class file representing a reflective class:
class Person { public int f(int i) { return i + 1; } public int value; }
is modified so that it represents a class:
class Person implements Metalevel { public int _original_f(int i) { return i + 1; } public int f(int i) { delegate to the metaobject } public int value; public int _r_value() { read "value" } public void _w_value(int v) { write "value" } public ClassMetaobject _getClass() { return a class metaobject } public Metaobject _getMetaobject() { return a metaobject } public void _setMetaobject(Metaobject m) { change a metaobject } }
ClassMetaobject
,
Metaobject
,
Loader
,
Compiler
| Constructor Summary | |
|---|---|
Reflection()
Constructs a new Reflection object. |
| Method Summary | |
|---|---|
boolean |
makeReflective(java.lang.Class clazz,
java.lang.Class metaobject,
java.lang.Class metaclass)
Produces a reflective class. |
boolean |
makeReflective(CtClass clazz,
CtClass metaobject,
CtClass metaclass)
Produces a reflective class. |
boolean |
makeReflective(java.lang.String classname,
java.lang.String metaobject,
java.lang.String metaclass)
Produces a reflective class. |
void |
onLoad(ClassPool pool,
java.lang.String classname)
Inserts hooks for intercepting accesses to the fields declared in reflective classes. |
void |
start(ClassPool pool)
Initializes the object. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Reflection()
Reflection
object.
| Method Detail |
|---|
public void start(ClassPool pool) throws NotFoundException
start
in interface Translator
pool
- the ClassPool
that this translator
should use.
NotFoundException
- if a CtClass
cannot be found.Loader
public void onLoad(ClassPool pool, java.lang.String classname) throws CannotCompileException, NotFoundException
onLoad
in interface Translator
pool
- the ClassPool
that this translator
should use.classname
- the name of the class being loaded.
CannotCompileException
- if the code transformation
by this method fails.
NotFoundException
- if a CtClass
cannot be found.Loader
public boolean makeReflective(java.lang.String classname, java.lang.String metaobject, java.lang.String metaclass) throws CannotCompileException, NotFoundException
classname
- the name of the reflective classmetaobject
- the class name of metaobjects.metaclass
- the class name of the class metaobject.
false
if the class is already reflective.
CannotCompileException
NotFoundException
Metaobject
,
ClassMetaobject
public boolean makeReflective(java.lang.Class clazz, java.lang.Class metaobject, java.lang.Class metaclass) throws CannotCompileException, NotFoundException
clazz
- the reflective class.metaobject
- the class of metaobjects.
It must be a subclass of
Metaobject
.metaclass
- the class of the class metaobject.
It must be a subclass of
ClassMetaobject
.
false
if the class is already reflective.
CannotCompileException
NotFoundException
Metaobject
,
ClassMetaobject
public boolean makeReflective(CtClass clazz, CtClass metaobject, CtClass metaclass) throws CannotCompileException, CannotReflectException, NotFoundException
CtClass
object and makes it reflective.
If the super class is also made reflective, it must be done
before the sub class.
clazz
- the reflective class.metaobject
- the class of metaobjects.
It must be a subclass of
Metaobject
.metaclass
- the class of the class metaobject.
It must be a subclass of
ClassMetaobject
.
false
if the class is already reflective.
CannotCompileException
CannotReflectException
NotFoundException
Metaobject
,
ClassMetaobject
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Config Files
~/.icewm/keys
, ~/.icewm/menu
, and ~/.icewm/preferences
, and ~/.icewm/toolbar
, and ~/.icewm/winoptions
. The default versions are
installed in /usr/share/icewm/
and
will be used if you have not copied them to ~/.icewm
.
Configuration Information
If IceWM is the only Window
Manager you want to use, you can start it with an .xinitrc
file in your home folder. Be sure to
backup your current .xinitrc
before
proceeding.
echo icewm-session > ~/.xinitrc
Now create the IceWM
configuration files:
mkdir -v ~/.icewm &&
cp -v /usr/share/icewm/keys ~/.icewm/keys &&
cp -v /usr/share/icewm/menu ~/.icewm/menu &&
cp -v /usr/share/icewm/preferences ~/.icewm/preferences &&
cp -v /usr/share/icewm/toolbar ~/.icewm/toolbar &&
cp -v /usr/share/icewm/winoptions ~/.icewm/winoptions
You can now edit these files to meet your requirements. In
particular, review the preferences
file. You can use Logout ->
Restart-IceWM on the main menu to load your
changed preferences, but changes to the background only take
effect when IceWM is started.
At this point you can either modify the traditional menu
files to suit your requirements, or use the newer icewm-menu-fdo described later.
The syntax of the menus is explained in the help files, which you
can access by running help from the menu, but some of
the detail is out of date and the default selections in the menus
(a few old applications on the main menu, everything else on the
Programs menu) will
benefit from being updated to meet your needs. The following
examples are provided to encourage you to think about how you
wish to organise your menus. Please note the following:
-
If a program listed in the menu has not been installed, it
will not appear when the menu is displayed. Similarly, if
the program exists but the specified icon does not, no icon
will be displayed in the menu.
-
The icons can be either .xpm
or .png
files, and there is
no need to specify the extension. If the icon is located in
the "library" (/usr/share/icewm/icons
) there is no need
to specifiy the path.
-
Most programs are in sub-menus, and the main menu will
always append entries for windows,
help, settings, logout
at the bottom.
-
An icon for firefox was
copied to the library directory and given a meaningful
name. The icon for xine is
xine.xpm
which was installed
to a pixmap directory.
-
The default toolbar is not altered.
If you wish to use this traditional method, there are more
examples in previous releases of this book (e.g. BLFS-7.8).
Alternatively, you can
create a menu which conforms to the FDO Desktop Menu
Specifications, where programs can be found because they have a
.desktop file in the XDG_DATA_HOME or XDG_DATA_DIR directories.
Unlike most windowmanagers, icewm does not search for programs when the
menu is invoked, so if you take this route you will need to rerun
the following command after installing or removing programs:
icewm-menu-fdo >~/.icewm/menu
If you wish to put icons on your desktop, you will need to
install a program such as Rox-Filer-2.11 which provides a pinboard. If
you do that you will no longer be able to access the menu by
right-clicking on the desktop, you will have to use the
IceWM button. To ensure that the
rox pinboard is running, the
following commands will put it in the startup file:
cat > ~/.icewm/startup << "EOF"
rox -p Default &
EOF &&
chmod +x ~/.icewm/startup
Tip
There are a number of keyboard shortcuts in IceWM:
-
Ctrl + Alt + FN
: go to ttyN
.
-
Ctrl + Alt + N
: go to desktop number N
-
Ctrl + Alt + Space : open a box on the taskbar where you
can key in the name of an application and run it.


Archive
Games
Portal - The Definitive Puzzle Game
Systems
Sony's Playstation 3 - Bliss in 720p
Sony's Playstation 4 -
Nintendo's SNES Classic - A blast from the past!


Toggle navigation
QoS Suite of Cloud Software Services
Webservices
New Project
Existing Projects
Web Projects


Login into your account
Email
Password
Login
Don't you have an account?
Sign up
Use your Facebook or Google account for a faster login
Login with Facebook
Login with Google


Ex-Tory minister advises pubic to vote against party
by The Associated PressLONDON (AP) — A former Conservative Party Cabinet minister says giving the party a majority in next month’s election would be “disastrous” because it would allow Prime Minister Boris Johnson to take the U.K. out of the European Union without a deal.
David Gauke said Wednesday he would stand for re-election to the House of Commons as an independent as he seeks a majority that will block a hard Brexit and back a second referendum.
The former justice secretary told the BBC that a Conservative majority would mean leaving the EU “in effect on no-deal terms and that, I believe, would be disastrous for the prosperity of this country.'”
The comments come a week after a former Labour Party lawmaker said party leader Jeremy Corbyn was “completely unfit” to lead the country.
The Associated Press


Jetty Discuss
discussion of Jetty development, integration and issues.
The list archives can be view and searched or the list read as a newsgroup at
http://news.gmane.org/gmane.comp.java.jetty.general
Jetty Support
Mailing list for usage, help and configuration questions.
The list archives can be view and searched or the list read as a newsgroup at
http://news.gmane.org/gmane.comp.java.jetty.support
Jetty CVS Log
The CVS checkin logs are posted to this mailing list.
There is also a #jetty IRC chatroom on irc.codehaus.org


{% extends "layout.html" %} {% block content %}
Admin Account
The admin account will have privilege to add/manage hosts, configure SMTP, Polling etc. Unauthenticated visitors will only be able to view the host status on the main page.
{{ form.password.description }}
Polling Configuration
Polling of hosts is executed on a timer defined in the polling interval below. The polling job executes a quick ping command to each host to check its status. A history of poll statuses will be kept for each host for the number of days defined below.
The amount of time in seconds between polling hosts
The number of days to keep poll history logs for each host
SMTP Configuration (optional)
SMTP configuration is optional. If SMTP is configured, alerts will be send to the admin account's email address when hosts have a status change (down->up, up->down). Leave fields empty to leave unconfigured.


The Warwick Economics Summit (WES) is one of the largest student-run conferences in Europe. Now having run for over a decade, the Summit has evolved in form and stature into a truly international forum where talented students from various universities listen to some of the world's most revered and inspirational speakers on a wide range of topics. The Summit's focus goes far beyond the field of economics, encompassing the broader spheres of the social sciences, including development, politics, psychology and international relations. It is this wide scope and diversity that sets the Summit apart from other events, ensuring that it remains relevant and in tune with today's wider issues.
In its previous incarnations, the Summit has welcomed high calibre speakers, such as five Economics Nobel Laureates including Prof. George Akerlof and Prof. John F. Nash, Central Bank officials such as Vitor Constancio (Vice President of ECB) and Dr. Stanley Fischer (Vice Chair of the Federal Reserve), former Prime Ministers such as Enrico Letta (Italy) and Lionel Zinsou (Benin), and many other distinguished speakers such as Min Zhu (Deputy MD of the IMF) and Michael Moller (Director-General of the UN office at Geneva).
Considering the high-profile speakers that addressed the conference, WES has gathered significant media attention throughout the years. In the past, WES consistently attracted coverage from media outlets including the Wall Street Journal, Bloomberg, Reuters and Le Monde.
Finally, the presence of WES extends well beyond the conference weekend, as we organise a series of stand-alone events throughout the year, and keep the conversation on current affairs alive through our social media channels.


Beta This is a test version of the layout of this page. Take the survey to help us improve it
Collection
CTF documents and co-ordinated admissions files for software suppliers of school and local authority management information systems.
Schools and local authorities use the CTF to send pupil data when a pupil transfers from one school to another.
Information on the electronic transfer of co-ordinated admissions data.


--- layout: boxed --- {{ content }} {% assign experiences = site.data.experience %} {% for exp in experiences %}
{{exp.desc}}


# Cookiecutter Data Science — Organize your Projects — Atom and Jupyter
Robert R.F. DeFilippi
One thing prevalent in most data science departments is messy notebooks and
messy code. There *are* examples of beautiful notebooks out there, but for the
most part notebook code is rough … really rough. Not to mention all the files,
functions, visitations, reporting metrics, etc. scattered through files and
folders with no real structure to them. I have bee guilty of going back to a
previous projects, searching for the `matplotlib` function I’ve written 50
times before that creates a certain graph with a certain metric. And, I found
it in cell 200 after searching through a few different notebooks. Not efficient
at all. Now consider a project you’re currently doing, and think if are you
making this harder or easier for yourself in a few weeks time when you need to
come back and review the code, or find something specific like a figure or the
original data set? One of the creeds some software development is not to repeat
yourself. So, let’s find out how we can do that. Also, I give a lot of credit
to
Go Data Driven’s blog, which was a huge source of inspiration for this post.
**How I Think About Projects** Here are some of the main principles of projects
I use to keep myself organized (sane) :
Implementing version control;
Setting up a virtual environment for reproducible results;
Separating raw data, intermediate data, and final data;
Documenting work, and;
Separate modules for custom functions.
Now let’s get into this. **Git Version Control**
Git should be standard for most data scientists, but it’s not at the moment.
I’ve seen Git used as a place just to store final work but it should be used
throughout the project and a way for the entire team to collaborate with each
other. I use it because I forget why I’ve made certain changes to a file, and
want a way to review my work with annotations and versions. If you don’t have
an account, get one
here
and start keeping track of your code.  Now you can have version control over each
project because every commit is simply a new version saved which can be
referenced. Once you start pushing code, the thing that will slow productivity
to a halt after reviewing a 6-month project with 100s of commits, will be
reading your old commit messages and asking “WTF does this mean?” To solve this
problem, make sure all your messages are in the
imperative mood. Taking this from Chris Beams,
A properly formed Git commit subject line should always be able to complete
the following sentence:
“If applied, this commit will *your subject line here”*
This will help greatly when you’re making different models. In the past, I
would have `modelv1.h5`, `modelv2.h5`, etc. and I could not remember why each
of them was different or why I changed the weighting on something. With Git, I
can now just use one name `model.h5` and put my update comments in the commit
message. E.g. I know I’ve added a new layer in my Keras model so my commit
message would be `$ git commit -m "Add additional layer with 50 neurons"`. If I
ever need to go back and see what was involved in a certain model I’ll be able
to view or
rollback
to particular commit and see the work I’ve done. This saves so much time. Trust
me. **$ virtualenv** Now that we have version control down, let’s look at
making sure someone else can reproduce our work with a virtual environment. I
was against using virtual environments when I first started learning data
science because they seemed like a pain to set up and maintain. However, they
will save so much headache as your project grows and you need to start sharing
information. More on them
here
and
here. The main reason for using virtual environments is package version control
for packages and allowing you to easily import custom functions from different
parts of your project, keeping you organized. Someone might be using `pandas
0.23` but you’re using `pandas 0.19`, and you don’t want to upgrade because
it’s going to break something in another project. By having a virtual
environment you’ll be able to start with a fresh new version of Python — it’s
like getting a new car — and install packages with specific versions directly
into each project without any conflict from anything you might have previously
installed. So, you’ll be able to have project `Foo` using `pandas 0.23` and
then project `Bar` using `pandas 0.19`, without any chance of conflict with
each other. If you don’t have the required packages to set up your virtual
environment, you can get them by following the instructions below. # Get a
virtual environment # Python2 $ pip install virtualenv # Python3.6+ # Already
installed with venv Now let’s set up the environment. # Python 2: $ virtualenv
env # Python 3.6+ $ python3 -m venv <<name_of_directory>> If your
directory does not exist, specify what you want as `name_of_directory` and it
will be created. Else, the `venv` will just be installed into the chosen
directory. Once that is done, activate your environment. $ source
name_of_directory/bin/activate If all goes well, you should see a change in
your terminal’s prompt showing the name of the environment on the command line.
And, to deactivate the environment, just run `$` `deactivate` in the root of
your project.
Easy. Next, install a fresh version of Jupyter into your environment.
(env_name) $ pip3 install jupyter We have a fresh version of Python and Jupyter
to work with for our project. **Try some cookiecutter with that data** Enter
cookiecutter
which creates your project structure. There is *a lot* with this package that
is useful, but I’ve found when I’m just doing projects on my own I don’t need
all of the features and packages provided. And, that’s ok. Because every
project is different and you’ll have different requirements depending on what
you work on.The package is structured so that you should only keep the features
you need, and if you find a structure that works you’re able to import it
easily on the next project. Installation and using it is easy. Just two lines
of code to run. # Install $ pip3 install cookiecutter # cd to the directory you
want to start a new project in `cookiecutter
https://github.com/drivendata/cookiecutter-data-science` That is not the only
structure available, as you can look through some additional options
here. Here is what mine looks like: `├── README.md <- Front page of the
project. Let everyone` `│` know the major points.` │ ├── models <- Trained
and serialized models, model │ predictions, or model summaries. │ ├── notebooks
<- Jupyter notebooks. Use set naming │ E.g. `1.2-rd-data-exploration`. │ ├──
reports <- HTML, PDF, and LaTeX. │ └── figures <- Generated figures. │
├── requirements.txt <- File for reproducing the environment │ `$ pip freeze
> requirements.txt` ├── data │ ├── external <- Third party sources. │ ├──
interim <- In-progress intermediate data. │ ├── processed <- The final
data sets for modelling. │ └── raw <- The original, immutable data. │ └──
src <- Source code for use in this project. ├── __init__.py <- Makes src
a Python module.` `│ ├── custom_func.py <- Various custom functions to
import. │ ├── data <- Scripts to download or generate data. │ └──
make_dataset.py │ ├── features <- Scripts raw data into features for │ │
modeling. │ └── build_features.py │ ├── models <- Scripts to train models
and then use │ │ trained models to make predictions. │ │ │ ├── predict_model.py
│ └── train_model.py │ └── viz <- Scripts to create visualizations. └──
viz.py` If someone wants to recreate your project with the same package
versions, all you need to do is export the list with `freeze` so they can
install the same versions as the project. `# In project root` `$ pip freeze
> requirements.txt` # And to install the packages $ pip install -r
requirements.txt **Data Folders** I think this is one of the most import
sections of cookiecutter. The `data/` folders that allow you to organize
yourself and control your data sources. It is so simple that I should have been
organizing my projects like this from the start. There are four standard
folders:
External;
Interim;
Processed, and;
Raw.
By segmenting your data this way you’ll be able to save your in-progress work,
and ensure that your raw data has an immutable folder to live in. You’ll also
be able to quickly and logically access your data rather than just importing a
single lump `.csv` which may or may not be immutable. No more accidentally
saving over the raw data because everything was stored in the same folder, or
dealing with file names like `dataV1.csv` or `finalV1.csv`, because everything
will be (should be) put in its own place. **Documenting The Project** Not a
huge concern, a lot of data science projects are done in Jupyter which allows
the reader to (hopefully) follow the project logically. Allowing others to
reproduce the work, should they have access to the correct packages and the
same data the author had. And now that cookiecutter has segmented the project
more, the notebooks should be easier to read rather than a mess of code,
functions, and results as they have been moved to other parts of the project.
E.g. Your `matplotlib` functions can now live in `./src/viz` and all the
results from these functions can be saved to `./reports/figures`. **Get Your
Functions In** I used to have cells scattered all over my notebooks with custom
functions, that I would later use in the project. And, the more I would write
the harder it became to keep track of them all for the project. Let alone try
to debug them or test them. Even finding them for a project in the future to
reuse became a major pain. Later I would write all my function in
`.src/funct/Foo.py` and stash them in different folders for some semblance of
organization much like an actual software project. This would allow me to
partition my project, so my notebook had the structure of the what was being
analyzed while the functions lived in `Foo.py`, and were imported into my
notebook. .src/ # Main Folder `└──funct/ # Sub Folder ├── Foo.py # Class with
custom methods └── __init__.py` However, I would need to import the files into
my notebook like this. # Meanwhile in my old notebooks ... import os currDir =
os.path.dirname(os.path.realpath("__file__")) rootDir =
os.path.abspath(os.path.join(currDir, '..')) sys.path.insert(1, rootDir +
'/src/funct') # import func package # Now I can finally import Foo from the
funct package from func import Foo print(Foo.foo()) # 'foo' Not very elegant at
all, and prone to checking Stack Overflow on how to use `os.path.dirname` and
`os.path.realpath` correctly. Now, with cookiecutter, you’re able to easily
link everything in your `./src/` with your notebook so you can `import` the
`Foo.py` directly. # Link ./src/ with your notebook # Run this in the project
root $ pip3 install --editable . >>Obtaining
file:///Users/foo/cookiecutter/cookiecutter-template >>Installing
collected packages: src >>Running setup.py develop for src
>>Successfully installed src $ pip3 list Package Version Location
---------- ------- ------------------------------------------------------- pip
18.0 setuptools 39.0.1 src 0.1.0 /Users/foo/cookiecutter/cookiecutter-template
So this allows us to use the `./src` folders provided with cookiecutter to
easily import custom functions into your notebook. And, allow us to have a
common location to put custom functions for easy retrieval for later projects.
# Back in my notebook from src.funct import Foo print(Foo.foo()) # foo Note, if
you do have issues with `pip3 install — editable .` and you cannot import your
`/src` package, try `$ python setup.py develop — no-deps` in the project root.
If that still does not work just copy and paste this code at the top of your
notebook. It will allow you to import `src` as a package. However, this is not
suggested. if __name__ == '__main__' and __package__ is None: from os import
sys, path sys.path.append(path.dirname(path.dirname(path.abspath("__file__"))))
**Using Jupter and Atom Together** It’s inefficient to write all the `*.py`
files in Jupyter, so instead use an IDE which has a linter, interactive
debugger, and other features that make it more preferable to writing *some*
code your project. Jupyter has its strengths, but there are some things that
only an IDE can do. Usually, I use IntelliJ or PyCharm. However, because not
everyone has access to that editor I’ll show the examples in Atom. It also has
an
IDE
feature now, so it will be easier to run debugging within this editor.
So let’s run this editor next to our Juptyer notebook. Just split (as shown
below) your screen, with one side with Jupyter and one with the IDE. As a note,
you need to make sure you have two magic functions imported at the beginning of
your notebook. %load_ext autoreload#%autoreload 2 The suffix `2` is used after
`autoreload`, to reload all modules every time *before* executing the Python
code typed. This will enable us to edit functions in Atom, debug them, and
quickly import the code into our notebook, rather than having to write out a
debug the function directly in Jupyter. I’ve made a gif to illustrate how this
looks in practice.
With the IDE up and running next to Jupyter, not only are you able to easily
edit your files but you can also view your entire project easily rather than
having to flip back and forth between windows in your browser. **Final
Thoughts** At the beginning of the article, I outlined the five things I think
about when doing projects, and I hope each point has been explained with the
“how” I approach each of them.
Implementing version control (Git)
Setting up a virtual environment for reproducible results (`venv`);
Separating raw data, intermediate data, and final data (`./data`);
Documenting work (Jupyter notebooks), and;
Separate modules for custom functions(`./src`).
Of course, all of this is all made possible with cookiecutter. Without this
package, I would still be writing mediocre code in a disorganized mess.
However, I’m now able to more easily organize myself, and most importantly,
find old code to reuse in future projects. I hope these methods outlined help
you on your next project, and you’ve learned something new. Cheers.
**Additional Reading**


Welcome to Foodora!
New Restaurant?
Foodora
Home
Food Recommendations
Ratings
Favorites
Surprise Me!
Help
Exit


Linkus-Dashboard is written in Javascript, CSS, and HTML
The dashboard is based heavily off this Bootstrap template
Bootstrap Template
Linkus-Dashboard also utilizes the Google Drive API, the Google URL shortner API, and the Google Accounts API.
And includes libraries and frameworks such as jQuery, Twitter Bootstrap, and Bower for dependcy management
The version of Linkus-Dashboard you are using is an Alpha Build


Amelia Earhart
The flight paths that put her on the map
Amelia Earhart is the first woman I remember learning about in history class.
Maybe she was the first to stick with me because she was the first to accomplish so much. First woman to fly solo across the Atlantic. First to fly nonstop from coast to coast. She set endurance, speed and altitude records and brought other women along with her as she went.
Curiosity eventually pointed me to the nonfiction section of the library. I learned that Earhart loved climbing trees and that she kept a scrapbook of newspaper clippings about successful women who worked in fields dominated by men. She was a career counselor in the Department of Aeronautics at Purdue University, and she helped form and lead the Ninety-Nines, an elite organization for women in aviation to call their own.
The more I learn about Amelia Earhart, the more she inspires me to do what I love "for the fun of it."
Sources: Amelia Earhart Collection, Purdue University Libraries; Photo credit: National Archives


The bowsprit of the mighty brit was filled with critters that emitted a cacophony of chirps and tweets in the early morning light. [G|D]
The culprit was dealt a demerit consequence and was, as a result, disinherited from the family's fortune, leaving them without their beloved legacy. [G|D]
With a fiery esprit and utmost grit, the young successor dutifully inherited the family throne and the wealth that came with it. [G|D]
Though the individual had only a small merit, their dedicated spirit and passionate writ earned them the recognition and respect of their peers. [G|D]


---
title: Buttons Group
layout: build/doc/layouts/sass.html
---
# Buttons Group
We. won't let you take a long time to crete your own buttons. You can simply use our precomposed buttons. Or if you want to make your own, you can use our mixin and available variables.
***
## Precomposed
We have 4 precomposed style for you. Flat, candy, Shiny, and Bordered style.


This tests that a file that is used in multiple workers appears as a single entity in the developer tools to match the workflow for threads that developers are used to from other environments.
multi-workers.js
on one of the workersmulti-workers.js
file open


Education is at the heart of the Python community, after all, Guido tells us that Python was created as a language for anyone to use.
Many teachers and young people are interested in using Python at school. As a result we're organising a set of activities for them and to help them integrate with the wider Python community.
In summary, they are:
- Friday - Python for Teachers. We look forward to welcoming our teaching colleagues for a day of training, collaboration, resource writing and networking in a friendly yet fun environment where we aim to help teachers get the most out of Python.
- Saturday - A Raspberry Jam where participants of all ages will get to play, code, learn and share all things programming in Python on a RaspberryPi and any other device we can get to work. We aim to run various workshops aimed at beginner Pythonistas throughout the day.


I am pursuing a career in software engineering and am currently working through an intenstive course at Univerysity of California Berkeley. This page highlights the projects I have created.


Examples of jscolor usage
Example 1 - HEX
Color:
Example 2 - HEX with Alpha
Color:
Example 3 - RGBA
Color:
Example 4 - Button
Color:
Value:
Alpha:
Example 5 - Events: onChange and onInput
You can specify onChange/onInput event handler using jscolor's options:
change event
input event
For text INPUTS, you can keep with classic HTML attributes:
change event
input event
Example 6 - Presets
Small dark preset:
Large preset:
Example 7 - Customized picker


basanese.com
who I am
Alongside my rigorous school responsibilities and tutoring, my associates and I take on a select few client projects where we feel our experience and skills can really make a difference. This includes small development projects, consultancy, publicity, and certain kinds of security testing.
Nathan Basanese
Nathan Basanese has over 6 years of experience in a variety of technical fields, including technical sales, server administration, and project management.
Nathan’s resume can be found here at basanese.com.
Drew (Cixs) Sutter
Prior to working with Nathan, Drew earned his stripes reverse engineering mobile technology his university's research department. Drew’s experience spans multiple operating systems, working on everything from Symbian to Windows as well as. Most recently, Drew has moved back to Michigan to finish his degree in Information Assurance.


| Future | Current | I've been learning | |
|---|---|---|---|
| X | Orientation to Digital Services | HTML, CSS, Syntax | |
| X | Orientation to Digital Services | UX | |
| X | Orientation to Digital Services | Scrum X Agile | |
| Summer job (intern) | X | X | |
| Learning more about DS during the summer | X | X | |
| Learn about React and look for some online couse | X | X | |
| Get DS as my major | X | X |


How To Change Your Stadia Name & Avatar
So you've just started playing games on Stadia on Android or another device and have decided you want to change your name. For whatever reason, 'xxX420Bl4zeItXxx'just isn't cutting it anymore and you need something new.
We get it. We've all created online personas that were once looked at with great admiration. Only to realize later that just maybe they were a bad decision. We've got some good news and bad news for you.
First the bad news. You can't directly change your Stadia name in the app or through any other portal the service has. That doesn't mean you can't change it all.
Advertisement
Now the good news. You can potentially change it by contacting Google. And, we've put together a guide to help you do just that as well as change your avatar (which you can do any time you please). If you'd like to see how Stadia performed for us, check out our review.
Contact Google to change your Stadia name on Android or elsewhere
To get the information you need, first you need to open the Android app and tap on your avatar. From there tap on the help menu and scroll to find the create or manage account menu.
Expand that menu and you'll find a list of options like redeeming Stadia codes, kids and family options, and managing your Stadia account. Which is the option you're looking for.
Advertisement
-
Stadia name & avatar is in your profile page
-
Stadia help page
-
Changing your Stadia name has its own section
In this menu you should see an option for changing settings. Tap that to expand the list of options and Stadia name and avatar will be there. As explained, you can't change your Stadia name yourself, and will need to contact the Stadia team to have this completed.
At the time of this writing, the words "contact us" under the Stadia name and avatar section has no link associated with it. There also doesn't appear to be any other web portal or link that leads to a contact form for this.
Chances are, this is where you will go to contact the team and have the name changed, and it's possible the link is just not live yet. Either way, keep you eye on this section of the Stadia Help forum as you may need it.
Advertisement
Change your Stadia avatar from the app
Changing the avatar is a little simpler, and as mentioned you can change it as much as you want.
All you need to do is open the Stadia app (which is where you'll buy games) on your device. From there tap on your avatar in the top right corner. Here you will see a small note about changing your name, and a large selection of avatar options below it.
Simply scroll through the avatars and find one that you like. Tap that avatar and it will switch in just a couple of seconds. It's pretty quick, and the avatar changes immediately so there's no waiting on that.
Advertisement
-
This is the Stadia app's main home screen
-
Lots of Stadia avatars to choose from
-
Stadia profile avatar in the top right corner - web
-
Stadia avatar page from the web
You can also change the avatar from the Stadia web portal, so you don't actually have to be in the app to do it. In the web portal, when you click your avatar, then click on Stadia settings and this will take you to the page where you can switch out your avatar.
After you select one it'll ask you to confirm that you want to change the avatar to the one you've chosen. That's it. There's no more to it. Now you can get back to playing games on Stadia.


Tactics
Video Surveillance
License Plate Readers
Biometric Databases
Cell Site Simulators
Gun Shot Detectors
Social Media Monitoring
Predictive Policing
Chicago residents have legitimate questions surrounding the use of these technologies: Are appropriate policies and procedures in place to ensure these systems are responsibly used? To what degree are these systems necessary or even useful? Do the benefits of these systems justify the tens of millions of taxpayer dollars being spent on them? Do members of the public want this level of surveillance to be used?
In the past, police surveillance of public spaces was constrained by resources such as availability of police officers. However, surveillance technology is producing a significant expansion of police capabilities. Police were historically unable to follow every resident with a police car, but with new surveillance technologies they may be able to effectively accomplish the same goal albeit in a less disruptive manner.
Members of the public need to recognize the far-reaching implications of giving over this level of power to law enforcement. The transition from police officers having a restricted ability to follow and monitor suspicious people to having pervasive surveillance capabilities is occurring in our city today. We must have public knowledge of surveillance capabilities, policies and procedures in order to have the critical debate about this infrastructure as well as to campaign for transparency and accountability.
Follow Lucy Parsons Labs on Twitter for more.


Present
PHP/Drupal
Epicodus
2011-2012
Communicative Sciences & Disorders Leveling Program
The University of Montana
2002-2007
B.A. in Psychology- Completed the research emphasis while graduating with honors (3.5 GPA) as well as minors in Communication Studies and Human and Family Development.
The University of Montana
2015-2016
Head Teacher
Art4Life
Portland, OR
2014-2015
Manager
Indie Ella/Ginger Lamb
Portland, OR
2013
Personal Assistant
Evan Lovely Design
Portland, OR
2012-2013
Eligibility Specialist
Child Care Resources
Missoula, MT
2012-2013
Assistant Art Curator, Social Media
The Loft of Missoula
Missoula, MT
2011-2012
Teacher
Origins Preschool
Missoula, MT
2008-2010
Pre-Release Men's Unit Case Manager
Missoula Correctional Services
Missoula, MT
2007-2008
Print Director, Graphic Designer & active partner
freeStyle Media
Missoula, MT
*** This webpage is a work-in-progress.


| (a) | + | % Integer and real identity | ||||||
| % (does not change value) | ||||||||
| (b) | % Integer and real negation | |||||||
| (c) | not | % Not (Boolean negation) | ||||||
| (d) | # | % Type cheat | ||||||
| (e) | ^ | % Pointer following |
The + and prefix operators can be applied only to numeric values (integer, real and natural numbers). The not prefix can be applied only to true/false (boolean) values. For example not (x > y) is equivalent to x <= y. The not operator produces true from false and false from true.
The # operators is a type cheat (see cheat), and the ^ operator is pointer following (see pointer).
| See also | int, real and boolean types, as well as precedence (for the order of applying operators) and infix operators. |


Request User/Password
Request User
Request User List
Request Userlist
Request User Permission
Request Permission


--- page-title: Index page-domain: start ---
Theme Documentation
What is WordPress, what is a WordPress theme and what’s in the package.
How to prepare for WordPress installation and how to install a theme.
Learn how to add, edit and delete pages and blog posts.
Learn how to work with menus and customize the sidebars and widgets.
Learn how to customize your WordPress theme.
Learn how to import the demo data provided by the theme.
Learn About Importing Demo Data


Scopes
Contrary to some other ioc containers Singularity will not cleanup resources automagically for you. This makes it more clear when resources are cleaned up and also saves some performance when its not needed.
You can use the OnDeath
method to execute code such as calling Dispose
when the scope ends:
config.Register<ITestService10, TestService10>().OnDeath(instance => instance.Dispose());
A scope ends when the container is disposed. This means it will execute the OnDeath actions on all created instances. You can create a new scope by creating a nested container and passing in a new scope: You can create a new scope this way:
var config = new BindingConfig();
config.Register<IDisposable, Disposable>().OnDeath(x => x.Dispose());
var container = new Container(config);
Scoped scope = container.BeginScope();
var disposable = scope.GetInstance<IDisposable>();
scope.Dispose(); //disposable will now get disposed
Creating a container will also create a implicit scope:
var config = new BindingConfig();
var container = new Container(config);
var nestedConfig = new BindingConfig();
Container nestedContainer = container.GetNestedContainer(nestedConfig);
var disposable = container.GetInstance<IDisposable>();
var disposableNested = nestedContainer.GetInstance<IDisposable>();
nestedContainer.Dispose(); //disposableNested will now get disposed
container.Dispose(); //disposable will now get disposed


Dance with DJ SS
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Beatae consectetur, ex explicabo.
Lorem ipsum
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Beatae consectetur, ex explicabo.
{{ song.title }}
{{ song.artist }}
Mummy
Arebica Luna
- {% include 'includes/dropdown.html' %}
Deep inside
Pimila Holliwy
-
{% include 'includes/dropdown.html' %}
New Releases
Listen recently release music
Featured Artists
Select you best to listen
Genres
Select you genre


Dedication
FOR
For putting up with me.
And for the years I worked on this book, for putting up without me.


@ui5/webcomponents
<ui5-label>
Basic Label
Simple Label
Simple Label
Required Label
Required Label
Required Label
Truncated Label
Long labels are truncated by default.
Long labels are truncated by default.
Wrapped Label
Long labels can wrap if the 'wrapping-type="Normal"' property is set.
Long labels can wrap if the 'wrapping-type="Normal"' property is set.
Label 'for'
First name
Date of birth
Job
Manager
Sales
Developer
Description label test
Accept terms of use
First name
Date of birth
Job
Manager
Sales
Developer
Description label test
Accept terms of use


Introduction to Python
The programming language we will use in this course is Python.
Python is a popular language in industry and research with a number of libraries very useful for mathematics:
- Symbolic mathematics with
sympy
- Numerical mathematics with
numpy
- Machine learning with
sklearn
- Data analysis with
pandas
In this chapter we will go over some basic Python.
Using the Python interpreter
Open your command line and type:
python
This will start a prompt that looks something like:
Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul 2 2016, 17:53:06)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
The >>>
indicates point at which you can type python code.
Type 2 + 2
and press enter. You can see what this looks like below:
>>> 2 + 2
4
Creating numeric variables
We can assign variables to values using the =
operator:
>>> the_meaning_of_life = 42
>>> the_meaning_of_life = the_meaning_of_life + 2
>>> the_meaning_of_life
44
Creating boolean variables
We can create boolean values using a number of comparison operators which include:
==
equals!=
not equals>
strictly greater>=
greater than or equal
>>> is_42 = the_meaning_of_life == 42
>>> is_42
False
>>> greater_than_42 = the_meaning_of_life > 42
>>> greater_than_42
True
Creating list variables
Python has an indexable structure called lists:
>>> numbers = [1, 2, 4, 5]
>>> max(numbers)
5
>>> min(numbers)
1
>>> sum(numbers)
12
>>> numbers[0]
1
>>> numbers[-2]
4
>>> numbers.append(50)
>>> numbers
[1, 2, 4, 5, 50]
To close the python interpreter type:
exit()
Using Python scripts
To start to write more sophisticated code (software) we can write code inside a file which we can then run using the command line.
Writing a python script
Open one of the recommended text editors and create a new file in the
rsd-workshop
(created in Chapter 01) save it as 01-hello-world.py
.
Inside the file write the following (ignore the >>>
):
print("hello world")
Running a python script
Using the command line, let us now "run" this file using the command line:
python 01-hello-world.py
You can in fact run various programming languages this way: saving them to a file in your editor of choice and running them with the correct command.
This allows for flexibility as you can choose an editor that has features you enjoy and customise it to work for you.
If statements
We can use boolean variables to create logical statements.
Write a file called 02-if-statements.py
, include the following code and run
it.
N = 572
if N % 2 == 0:
print("N is even")
else:
print("N is odd")
Note white space and indentation is important in python. The indented code
block indicate what code to execute if the boolean variable N % 2 == 0
is
True
.
While loops
It is possible to repeat code using while
loops which will repeatedly check a
boolean variable.
Write a file called 03-while-loops.py
, include the following code and run
it.
N = 0
even_number_count = 0
while N < 10:
if N % 2 == 0:
even_number_count = even_number_count + 1
N = N + 1
print(even_number_count)
Functions
It is possible to create functions in python which we will use later to write modular code.
Write a file called 04-functions.py
, include the following code and run it.
def count_even_numbers(upper_limit):
N = 0
even_number_count = 0
while N < upper_limit:
if N % 2 == 0:
even_number_count = even_number_count + 1
N = N + 1
return even_number_count
print(count_even_numbers(10))
print(count_even_numbers(42))
Tip
Explore your editor: both Atom and VS Code offer many plugins for Python. This is not just a luxury to make things easier but also helps avoid mistakes by letting the plugins check various things for you.
This is not just the case for these editors and Python. Most good editors have a full ecosystem of tools available to support the writing of code in many languages.
Optional
Write some code to compute and compare both sides of the following equation, for varying values of $N$.
$$ \sum_{i=1}^Ni=\frac{N(N+1)}{2} $$


--- layout: default title: Pluvia > Blog --- Canvas not supported in your browser.
Toggle nav
Anything cool, new, helpful, or simply just whatever... this is the place I will be having some of my thoughts on anything I find interesting to share.
{{ post.date | date_to_string}} {{post.excerpt}}
View details »


| 0.05x |
|
|
| 0.10x |
|
|
| 0.25x |
|
|
| 1.00x |
|
|
| 2.00x |
|
|
| 5.00x |
|
|
| 10.00x |
|
|
| 20.00x |
|
|
| 50.00x |
|
|
| 100.00x |
|
|
| Rolled 0.05x |
|
|
| Rolled 0.10x |
|
|
| Rolled 0.25x |
|
|
| Rolled 1.00x |
|
|
| Rolled 2.00x |
|
|
|
Sub Total |
{{ employee.rolledDimeTotal + employee.rolledNickelTotal + employee.rolledQuarterTotal +
employee.rolledLoonieTotal + employee.rolledToonieTotal + employee.nickelTotal + employee.dimeTotal +
employee.quarterTotal + employee.loonieTotal + employee.toonieTotal + employee.fiveTotal + employee.tenTotal +
employee.twentyTotal + employee.fiftyTotal + employee.hundredTotal
| currency:'$' }} |
| VLT Tickets |
|
| Interac |
|
| Tabs |
|
| Receipts |
|
|
Sub Total |
{{ employee.vltTotal + employee.interacTotal + employee.tabsTotal + employee.receiptsTotal | currency:'$' }} |
| Over All Total |
{{ employee.vltTotal + employee.interacTotal + employee.tabsTotal + employee.receiptsTotal +
employee.rolledDimeTotal + employee.rolledNickelTotal + employee.rolledQuarterTotal +
employee.rolledLoonieTotal + employee.rolledToonieTotal + employee.nickelTotal + employee.dimeTotal +
employee.quarterTotal + employee.loonieTotal + employee.toonieTotal + employee.fiveTotal + employee.tenTotal +
employee.twentyTotal + employee.fiftyTotal + employee.hundredTotal | currency:'$' }} |
| Subtract Float |
{{ 250 | currency:'$' }} |
| Total |
{{ (employee.vltTotal + employee.interacTotal + employee.tabsTotal + employee.receiptsTotal +
employee.rolledDimeTotal + employee.rolledNickelTotal + employee.rolledQuarterTotal +
employee.rolledLoonieTotal + employee.rolledToonieTotal + employee.nickelTotal + employee.dimeTotal +
employee.quarterTotal + employee.loonieTotal + employee.toonieTotal + employee.fiveTotal + employee.tenTotal +
employee.twentyTotal + employee.fiftyTotal + employee.hundredTotal) - 250 | currency:'$' }} |
| Tape Total |
|
| Over / Short |
{{ ((employee.vltTotal + employee.interacTotal + employee.tabsTotal + employee.receiptsTotal +
employee.rolledDimeTotal + employee.rolledNickelTotal + employee.rolledQuarterTotal +
employee.rolledLoonieTotal + employee.rolledToonieTotal + employee.nickelTotal + employee.dimeTotal +
employee.quarterTotal + employee.loonieTotal + employee.toonieTotal + employee.fiveTotal + employee.tenTotal +
employee.twentyTotal + employee.fiftyTotal + employee.hundredTotal) - 250) - employee.tapeTotal | currency:'$' }} |


Welcome to Memory Game :)
Choose a difficulty level and press the start button.
play_circle_outlineStart
Congratulations!
You could finish the game in
!
Welcome to Memory Game :)
Choose a difficulty level and press the start button.
Congratulations!
You could finish the game in
!