Sometimes, if you report a problem to an engineer, his first reaction is that it cannot be a problem with his code, because he is sure that he had written correct code.
Often times, when you get a problem description, one of many components could be responsible for the problem, and it is hard to immediately point out why. If the engineers responsible for one of those components is sure that his component is correct and does not have an open mind in discussions, it makes the environemnt a bit toxic.
In such situations, I find it useful for the rest of the team to do investigation. If the root cause of the problem is in some other component, then the confidence of the engineer in question was justified. However, if on further investigation, the component in question is implicated, you should make it a point to tell the engineer that his confidence was misplaced. I have seen that after one such incident, the engineer exhibits more humility.
In a good team, all the members understand there are going to be problems with the components they have written, and they are always alert to uncovering problems in them. Even if they hear of a problem in which their component is not implicated (yet), they are always scanning how their component could be somehow responsible for the problem.
A more severe manifestation fo "Can't be my problem" is when a developer, during the process of development, starts blaming the universe (the computer) for his software not working. He would show you his (not particularly comprehensible) code, run it, display the wrong answer and raise up his hand, frustrated by the universe conspiring against him.
In such cases you should tell him that the problem always lies between the keyboard and the chair.
I once had a friend whose writing Java code, and the compiler was throwing a single compilation error that some class did not define a certain function which was being used. The class under question was the standard Java String class. My friend looked at the API refrence available online and found that he was correctly spelling the function name. He tried other functions of the class and they were working as expected. At this, he started he came up with a weird hypothesis: "The code for class String has been written by an intern at Sun Microsystems, and that intern has made a typo while writing the function. Thus, while the documentation is correct (we did not know then, in our sophomore years, that documentation can be generated automatically from the code and code annotations), the actual function name as a typo in it." Then, my friend started trying various misspellings of the function name, hoping that he would uncover the actual function name used by the hypothetical intern.
Several hours later of chasing the intern, the problem was found to be between the keyboard and the chair: my friend was making a spelling mistake in his code.
While some engineers throw up at the first hurdle, sure in their minds that "it is someone else's problem", there are others who keep on working, suffering silently without making progress.
If something is not happening within reasonable time, you should report to your manager about it. This is different from blaming someone for the delay. You are simply informing that something is taking more time than expected. Perhaps your manager may know a trick to solve the problem quickly. Or the problem may be inherently difficult in a way that was overlooked by everyone else, and given the new information, it may not make sense to solve the problem at all.
Don't delay giving bad news to your manager. If something cannot happen, tell that sooner so that an alternative is found sooner than later. Admitting defeat now is better than admitting defeat a few days later.
I once had a friend at University of Illinois. We often used to have arguments on various topics about life, computer science, religion and so on. Slowly I started to feel that I am losing most of the times. I started to observer our arguments more closely. I found that my winning rate was pretty good. However, in the arguments in which I won, he gave up quickly (as soon as he realised he was losing), and thus those arguments lasted for a short time. However, I always gave him a good fight, even when I was losing an argument. Hence, in the long run, most of the time I was engaged in a losing argument. Thus, it appeared that I mostly lost the arguments, when in reality the record was pretty even.
Cutting your losses is a good strategy. Give up soon when it is clear that you cannot win. But then you should know how to distinguish between the cases when the situation is hopeless and the situation where you just need to fight a bit more. And that can come only with experience.
While Ostriches are needlessly vilified by the myth that they bury their head in sand in the face of danger, to "avoid" the danger, ostrich attitude is a common attitude affecting many of us.
I once opened a closet in my home and found a bunch of cockroaches in it. I did not open again. Many times, we are aware of the problems that might arise, but we are too afraid to check, because it will be a lot of work to fix the problem. So, we just wait for the problem to exacerbate and start harming us in visible ways before we are reluctantly forced to find some solution.
A wakeful engineer fights against this tendency. He does not hestitate to cross check if he thinks there can be problems in some component, and solves them in a timely way. A stitch in time saves nine.
Previous section may make it seem that I am against delegation, but that is not so. There is a certain stage before which delegation is premature (when you are small, you better do everything yourself, and set the culture about the way things are done). But you as an individual have a limited capacity and you need to learn to delegate as you grow.
You want to delegate, but still want to retain an oversight. How do you achieve this? I found the following ladder of delegation useful:
The first step in the ladder of delegation is no delegation. You code, test, deploy and monitor the application yourself. This is when you are a single engineer working on your component.
The second step in the ladder of delegation is when you code along with a few engineers. So, you are still involved at the ground level. You are like the captain of a cricket team, where you too play as much as others, just that you are the leader to make important decisions.
In the third step, you no longer actively code (though you slip in a change here or there), but actively review code and are involved in design discussions.
In the fourth step, you do little code review. You have got rusty in design discussions too because you were unable to keep pace with the developments that were happening. However, you still monitor the components. You still know the high level metrics day to day, and you become aware when some component is not working.
In the fifth step, you are totally hands off. You only know of the existence of code, and the team which handles it. If the code is ill designed, it will be manifested in the form of slow development and you will not be able to distinguish it from the case when there is inherent complexity in the component. You rely on component owners to make good decisions. If the code breaks, and the team is unable to detect it, you will come to know of the problems only through your customers.
In the final step, you are so hands off that you do are not even aware of the existence of code. You become an evangelist for your company. You are involved in hiring senior people. You remember, with fondness, when could do actual work. In my personal experience, Steve Herrod of VMware was one such person. He was our CTO, but I never saw him coding. I only heard his interviews here and there, appearing smart.
Even if you are high in this ladder, you should continue some actual development, perhaps unrelated to your project. The world of technology changes very fast. New programming languages keep emerging, new platforms keep emerging and entirely new domains keep emerging. If your skill set is set in stone to when you graudated from college, you will gradually be unable to have high quality conversations with people who do actual work.
Hiring is one of the most important tasks for a CTO. Here are my opinions on some of the topics related to hiring.
For any technology company, the quality of the team is of paramount importance. It is the people who build the product, brick by brick, line by line. Higher the quality of people, better your product is likely to be (there are some caveats to this, which we will discuss). Hence we often hear startups proclaiming that they "hire only the best". The advice to hire the best is given very often, but what is not told is what to do if one is unable to hire the best. Should I close my startup, or continue looking eternally for the best person out there? Or perhaps the world "best" is used in rather aspirational way, rather than realistically.
While it is true that more skilled the developers you can get, better is your product; hiring the very best developers is simply not possible for most startups. There are just too many big companies like Google, Facebook, Amazon and the like which do very interesting work and pay very handsomely. Thus, it will be extraordinarily difficult for you to hire the very best.
There are few ways in which you can try to hire very good candidates. If you are well funded, you can offer a larger salary. That increases of you hiring better candidates. It is better to hire a few great people than many mediocre people. [Which reminds of the story of 7th century saint Shankaracharya. Before he was born, his parents were unable to conceive for a long time. Loard Shiva appeared in the dreams of his mother and asked if she would like many average sons or one brilliant son. She opted for the latter and Shankaracharya was born. He died at the age of 32, but not before touring whole of India on foot, and writing expansive commentaries on many Indian scriptures]
Apart from this, some candidates, I have found are motivated to work in a startup rather than big companies. They may wish to work in a smaller team where their work is valued more, or they may have entrepreneurial ambitions of their own.
If the cofounders are influential, that can help to attract good talent. Perhaps you are well known in the industry, or write an influential blog. Or you studied and worked at great places. These characterstics build trust in the potential employee that he is in good hands.
Another factor in attracting good talent is to conduct good interviews. Good engineers can recognize other good engineers by the quality of questions that are asked in the interview. Interviews at most companies are quite mundane (asking standard programming questions related to string, linkedin list or binary tree manipulation), or perhaps asking about arcane featres of programming languages. If you can conduct an interview which candidates enjoy, or where candidates realize that there are some basic concepts they should be aware of, but are unaware off, that may tickle their imagination about the learning prospect at your company.
You may also offer a large equity stake in the company. I personally did not have success with this approach.
Another way to attract good talent is to look for "undervalued candidates": Candidates who have excellent software skills, or will be able to pick up the skill easily, but for various reasons they are unable to crack the interviews of more well known or better paying companies. They might have graduates from a not well known college, or their CGPA might be poor. I have seen some very good candidates whose communication skill is quite poor. Perhaps they grew up in small town and had little exposure to English during their earlier years. There are several instances where I have been able to hire very good candidates, who were simply unable to secure interviews elsewhere. Hiring these candidates and helping them grown as an engineer has given me immense satisfaction.
I believe that while the quality of engineers is of immense importance, the emphasis on hiring "only the best" is overblown for most of the companies.
There is indeed a certain class of companies which really requires top notch engineers. If you are making a new operating system or designing a new programming language, you cannot even start unless you have the best in class team. Indeed, even to think of starting a company along these lines requires a generous expertise in computer science.
However, most startups are not doing anything close. Though they may be solving real world problems, technological prowess required to implement the solution would usually be less than that the cutting edge. In such cases, hardworking and open-to-learning engineers can be as effective as technically better engineers.
Note that above are not just two categories: there is a full range of computational prowess requirement depending on the problem domain. Put too dull an engineer and he may be unable to make progress, but too smart an engineer and he may get bored.
Another factor to note is that as the company evolves, you do need some better engineers than the current ones, and some also some with more limited capabilities. As you grow, inevitably some harder problems arise. They may be related to scaling up your software with increasing load, or handling the increased complexity of systems. So, you will need some engineers who can solve these problems. At the same time, some mundane tasks too arise. Though you should try to write smart software which solves general problems, there are cases where you just need to write the code in a repetitive way. Putting a very bright engineer might not be a great idea, unless you believe there is a way for him to hack away a general solution.
Typical software startups are quite youthful. Why is it so? Is it because younger people are smarter, or are some other factors at play?
There are two reasons. Firstly, Software companies are usually biased towards younger people because they are usually founded by young people, and people have a tendencey (usually inadvertantly), to hire people like themselves. Thus, young people hire to other young people, whom they are comfortable working with. Companies who have been around for several years will get its share of veterans (who joined the company long ago, when it was youthful), and these veterans have no problems hiring other veterans. Secondly, several startups are short of money, and salaries of young people are lower, allowing startups to save on the cost.
So, what experience range should you look for while hiring?
My opinion is that for a startup, experience matters a lot if you are developing software for an area which requires significant domain expertise. If you are not doing that, hiring experienced people is optional. You should just evaluate candidates on other fronts.
However, as a startup grows, as described in previous section, it can face problems for handling which an experienced person is more suitable. There are many recurrent problems that company faces: scaling challenges, complexity of systems, security problems and team organisation. Having someone who has been through it once or more is invaluable.
The primary purpose of a technical interview is to assess the suitability of a candidate for the job. However, there is a second, unstated purpose of the interiew: to help the candiate know what sort of work he will be doing, and what people he will be working with, in case he joins your company. Thus, it is a two way evaluation: you evaluate the candidate, and the candidate evaluates you.
I ask candidates three types of questions in an interview: aptitude questions, programming questions and general CS understanding questions. In each of the areas, candidate must meet a display a certain level of excellence for me to be satisified. Once he displays the required excellence, I typically move on to another topic. Occassionaly, I like some candidate keep asking tougher and tougher questions from one area till time he "breaks", i.e. is no more able to answer the questions.
Aptitude questions are a mix of common sense questions and simple Mathematics. Here is the simplest one: in a classroom, if the average height of boys is five feet eight inches and the average height of girls is five feet four inches, then what is the average height of the class? Some candidates quickly arrive at five feet six inches, in which case they are out. They need to have confidence to say that answer cannot be found. Brighther candidates ask me the number of boys and girls in the class. I then ask them if it is possible for them to ask if they can make do with a single number.
I also ask them simple probability questions, and other Mathematics questions they would have surely seen during their Mathematics coursework. While you may not do Mathematics at your company, a basic grounding in Mathematics is an assurance of a reasonable level of critical thinking.
Second type of questions that I ask are one or two prgramming questions. I usually try to design questions which the candidate would not have seen elsewhere. I allow the candidate to write the answer in the programming language of their choice. I am not too finicky about them using an accurate syntax, I only look for a pseudocode type of solution.
Having the candidate write some code is very important, since this is what they would be doing the company. There is a class of candidates who are otherwise knowledgeable but their coding skills are non existant.
The third class of questions that I ask the candidates relates to his depth of computer science. Following are some representative questions:
For more senior candidates, I ask one lengthy design question. The question may be as short as "Design Facebook". The candiate is supposed to ask questions about requirements, and then come up with components, database scheme and tools that he would use to solve the problem.
There are a few types of questions that I have faced while interviewing with some companies, and have disliked. Part of the reason might be that I am not very good at some of these things, but I also believe they are not good interview questions. Thus I desist from asking such questions.
I ask same set of questions to all experience levels, from fresher to very experienced candidates, except for including some extra design level questions for experienced candidates. Some people desist from asking aptitude or programming questions to senior people, since they may not have coded in a while. I disagree with this approach: experienced candidate might do little coding, but he needs to demonstrate his coding skills as much as junior candidates that he is to lead.
One class of these questions is asking questions specific to a programming language: how do you find the length of a string in PHP? What is the difference between a public and a protected method in Java? What is the difference between == and === in Javascript? These questions may be useful if the candidate claims proficiency in a specific language, but I usually interview a general computer engineer.
Another class of questions disliked by me are "Designing a coffee machine" questions, which are often used as a prelude to invoke some design pattern as its solution. In my experience, people who are too interested in design patterns usually try to fit them in the solution, rather than looking at the problem from the first principles.
I also scan through the resume of the candidate and if I find some topic of intersest to me, I delve in that topic and ask some relevant question. I have variously quizzed people in Biology, Astronomy, Physics and Chess. Great thing about asking questions is that you need not be an expert: you can just questions, and it is the other side's responsibility to answer them. Sometimes it leads to interesting discussions.
Some founders, on getting money start hiring at a rapid pace. In, my opinion, when you raise a lot of money, there is a lot of pressure to grow fast, and thus a lot of pressure to hire fast.
It is true that to execute fast you generally need more people. However, you should have good idea about what various people are going to do. Otherwise, there are a large number of people with very little work to do.
It is very important to have to team be continually motivated and work hard towards the goal.
Since technological work is creative, it is often hard to judge the productivity of the engineers.  How do you motivate them, gently, to work harder? If the complexity of the work was objectively measurable (like, say, for assembly lines workers), it would be easy to set targets, and make sure people meet the targets, but in a creative industry like technology, that is not the case.
At a fundamental level, it is important to just hire hardworking people. Some people naturally work hard, and you have to worry little if you hire such people.
I have found useful to discuss with the employee about how long he thinks a particular task will take. That sets some expectations.
Another way to keep people movitated to work hard is to communicate a deadline to external world based on the employee's estimate, and keep the employee in loop about this commitment. No one wants to let their team down, and it is a big motivator to focus getting the work done on time.
Yet another way that I found useful is to send a weekly email to the company about which details the work that has been done over the week. You can write the name of employee who workedon that features. That motivates employees to just work a little extra to finish the items so as to make it to the email. You need to make sure that items in your email are large enough, else it may creative a wrong incentive and the employee may be motivated to finish several small tasks than working in a large task which will take time.
This chapter discusses various issues that arises while interacting with clients. This is written in the context of B3B companies, where there are tens, hundreds or thousands of clients, unlike B2C companies where there may be hundreds of thousands or millions of customers.
The concept of "client" can be generalized. Not everyone in the team interacts with external clients. However, every software has some "client" i.e. the person or the software which uses the software.
The first rule is that when you get a mail from the client reporting some problem in your software, you should reply quickly, acknowledging the mail. That gives the client the confidence that their mail is has been read. It is preferable that you provided a date or time around which you will be able to respond.
Secondly, you should treat client reported problems at a high priority: some one took pain to inform you of the problem in your system. If the problem turns out to be harder than you thought, you should keep the client informed about the updated timelines. If you need to get back to client to ask for some clarification, do that sooner or later. No wants to wait many days, only to be ask some further questions rather than resolution of the problem.
There are multiple ways the client can reach out to you: email, messenger, whatsapp, phone call, etc. When he reaches out to you via a certain channel, you should reply back on the same channel. Sometimes, to get clarification, you may wish to use a different channel, but closure should be done on the same channel.
Suppose someone writes a mail to you (CC'ing 6 other people, including the CEO of the client's company) regarding a problem. Now, say you need some clarifications. Asking your clarifications on the same high profile thread may look needlessly spammy. So, may reach out the the writer of the email personally, or via some other channel, and ask for clarifications. Since you are talking to one person only, both of you will be comfortable with many rounds of communication. However, once you have resolved the problem, you should reply on the main thread that the problem has been resolved. You should also give a summary of the problem.
When a client raises a complaint, many times it is the case that the client is doing some mistake, or using your product in a wrong way. This problem is particularly pronounced when the product is a technical product and the technical skills of your clients are limited.
You should resist the temptation to make the client feel that it is his fault. Even if some steps are obvious and he is not following them properly, you should just tell the right steps. In a certain way, it is always your fault: your product should be so simple to use that it is not possible for a client to make mistake. The very fact that the client is making a mistake means that there is a gap in the communication.


Chacarter
In the Ketchum household, Mimi is extremely responsible. He loves to do housework and refuses others to make his job easier. When Brock lived at Ash's house, he always wrestled with Miami over who should be in charge of the chores. He is also quite protective of the Ketchum home, for example, when Butch and Cassidy tried to destroy the garden, he did not hesitate to respond to their attack.
While fighting, Miimi established himself as a capable fighter, as is how he easily defeated Hariyama Hoji. When someone like Guo underestimates Mimi, he can appear smug. However, he is aware of his own limits and will not risk himself against type flaws as he quickly retreated after realizing that he had to confront Matiena Hoxha, against whom he held a lower hand.


Morales arrives in Mexico as Bolivia Senate seeks to name interim president
LA PAZ, Bolivia (AFP) — Evo Morales vowed yesterday to continue “the struggle” after arriving in Mexico where he has been granted political asylum, as Bolivia's Senate seeks to end civil turmoil and fill the power vacuum left by his abrupt resignation as president.
Morales thanked Mexico's President Andres Manuel Lopez Obrador, a left-wing ally, saying “he saved my life”, and insisted he would remain in politics.
Lawmakers in Bolivia, meanwhile, were summoned to ratify Morales's resignation and appoint Deputy Senate Leader Jeanine Anez as interim president.
“That's the intention, I hope we can do it. We can't remain without Government,” said Anez.
She has found herself next in line after the resignations of Vice-President Alvaro Garcia Linera, the Senate president and the speaker of the lower house of Congress.
Grinning and waving as he disembarked from the Mexican military plane that flew him out of Bolivia Monday night, Morales was welcomed to Mexico by Foreign Minister Marcelo Ebrard.
Morales told reporters he was the victim of a “coup” before defending his record of bettering living conditions for poor and indigenous Bolivians.
“There will only be peace when social justice is achieved for all,” he said.
After nearly 14 years in power, Morales left behind a rudderless country beset by turmoil.
He resigned after losing the support of the military. Dozens of officials and ministers also stepped down, some seeking refuge in foreign embassies.
On Monday, the armed forces pledged to help police take back the streets from violent groups that have wreaked havoc since the controversial October 20 election that saw Morales win an unconstitutional fourth term.
Anez has already pledged to call fresh elections to end the political crisis.
However, the senators must first reach La Paz for her to be sworn in as interim president.
Public transport has been virtually paralysed since Sunday night when protesters torched 64 municipal buses. The cable car system that serves La Paz has also ground to a halt.
Anez, 52, said she was confident that enough senators would reach the Senate to open a session — 19 of the 36 are needed to do so.
She said even senators from Morales's Movement for Socialism (MAS) party “want to end this uncertainty, vandalism and instability that we have in the country”.
“I think the people are crying out for there to be an elected president on January 22,” she said.
The crisis touched off by Morales's resignation on Sunday — after three weeks of protests over his disputed re-election — deepened on Monday as gangs unhappy with his departure attacked police stations and civilians, triggering panic in the streets.


Example for IronSource Atom JS SDK
Stream Name
HTTP send method
POST
GET
Options
Request
Response
Test putEvent method
Send
Test putEvents method
0
Add
Send
[]


WITNESS LIST
Appropriations - S/C on Budget Transparency & Reform Committee
April 15, 2015 upon adjourn. of the Appropriations Committee
Registering, but not testifying:
For:
Lindsay, Thomas (Texas public policy foundation)
On:
Kidd, Nim (Tdem)
Registering, but not testifying:
For:
Cardwell, Margo (State Firefighters' and Fire Marshals' Association)
Warndof, Donna (Harris County)
For:
Bryant, Bill (Self)
Registering, but not testifying:
For:
Anderso, Glenn (Self; Program Manager - Southeast Texas Air Rscue)
Boulding, Michael (Self; Texas AirLIFE Inc, dba San Antonio AirLIFE)
Estrada, Joe (Self; AeroCare/Med-Trans Corp.)
Gurley, Cindy (Air Med 1)
Harper, Meredith (Self; Reach Air Medical)
Hitchman, Scott (Self; Texas AirLIFE Inc.)
Houston, Joshua (Texas Impact)
Jackson, Stewart (Lifestar amarillo)
Kinney, Thomas (Self; AMGH)
Lankford, Brian (AeroCare)
Lewis, Julie (Self; REACH air medical dba Methodist Aircare)
Liebig, Ashley (Phi Air Medical)
Long, Blythe (Self; AMGH)
McBeath, Don (Texas Organization of Rural and Community Hospitals)
Mcguire, Brandon (Self; Air Evac Lifeteam)
Pickering, Tim (Air Evac)
Posey, Jake (Bell Helicopter)
Propes, Jay (Self; Sierra Health Group)
Regan, Reggie (Self; San Antonio Airlife)
Ward, Phil (PHI Air Medical)
Wolf, Pete (Self; Windthorst Fire Dept)
1
WITNESS LIST
On:
Huggins, Dan (HHSC)
Schmider, Joseph (Dshs)
Welsh, Dinah (Texas EMS, Trauma & Acute Care Foundation)
For:
Caruso, Michael (Self; ETS-Lindgren Inc.)
Glass, Tom (Self)
Janusaitis, Robert (Self; InfraGard)
Against:
Fainter Jr, John W (The Association of Electric Companies of Texas, Inc.)
Registering, but not testifying:
For:
Ballweg, Charles (Chuck) (Self; NTCL)
Carlson, Pat (Self; Texas Eagle Forum)
Frueh, Paul (Self)
Gerstenschlager, MerryLynn (Self; Texas Eagle Forum - Vice President)
Harless, Barbara (Self; North Texas Citizens Lobby)
Schneider, Michelle (Self)
On:
Lloyd, Brian (Public Utility Commission)
On:
Ragland, Brian (Texas Department of Transportation)
Registering, but not testifying:
For:
Hinkle, Dan (EOG Resources)
Holt, David (Permian basin petroleum association)
Miller, Lindsey (Texas Independent Producers and Royalty Owners Association)
Minick, Stephen (Texas Asssociation of Business)
For:
Minick, Stephen (Texas Asssociation of Business)
Registering, but not testifying:
For:
Lewis, Justin (Self)
Suhm, Vic (Tarrant Regional Transportation Coalition)
2


{{keycloakMetrics.logins.success}} {{keycloakMetrics.logins.error}}
{{keycloakMetrics.registrations.success}} {{keycloakMetrics.registrations.error}}
Last 30 readings
{{pending_worker_queue_count_total}} items processed
{{ack_worker_queue_count_total}} items processed
{{sync_worker_queue_count_total}} items processed
{{pending_worker_process_time_ms_avg}} ms avg process time
{{ack_worker_process_time_ms_avg}} ms avg process time
{{sync_worker_process_time_ms_avg}} ms avg process time
Last 30 readings


CodeGarage
Help
{{subtitle}}
{{$index + 1}} {{snippet.title}}
{{tag.name}}
Updated at {{snippet.updated_at}}
Choose the article
{{article.title}}
modify
delete
Created by {{article.creator_name}}
{{tag.name}}


Thought I’d write up two things I implemented in a recent redesign of my girlfriend’s personal site.
In both cases, I’m using the Prototype JavaScript framework with Vivabit’s DOMReady extensions (explained).
Fit images in liquid columns
Richard Rutter has done some interesting experiments on displaying images in liquid (variable-width) columns. One interesting technique he mentions for fitting images in such columns is to set the CSS width
of the image to 100%
(to grow and shrink with the column) and the max-width
to the actual width of the image in pixels (to never grow it beyond its original size).
I’m using this method for images in the LiveJournal entries displayed on the site.
One could have the web server retrieve each image prior to HTML output and check its dimensions. I thought a JavaScript solution would be nicer, though.
It should be noted that this won’t work for users with JavaScript disabled. As a fallback, I have the CSS
1 2 3 4 |
|
which does almost the same thing, but does not work in IE6 (no IE7 handy) and can grow images beyond their original size. The JavaScript is simply this:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
The $$
function finds the images using a CSS selector. You’d likely need to change that selector here and in the CSS above.
Different font, different font size
The headers on the site are in Helvetica Neue Light (which I think comes with OS X). If a visitor does not have that font, the fallback is plain Helvetica or Arial.
A problem with this is that Helvetica and Arial are a lot wider at the same font-size
, making things look worse than intended.
CSS allows for font-family
fallbacks, but they will all share a font-size
. However, I wrote some JavaScript code to fix this. It requires the user to have JavaScript activated, but it also degrades gracefully, if overlarge headers can be considered graceful. Without JavaScript, it’ll just stay at the same size.
I use a slightly modified (to just return whether the font was detected) version of Lalit Patel’s JavaScript/CSS font detector:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
Then, I add a class to the body element if Helvetica Neue Light is not present:
1 2 3 4 5 6 7 8 |
|
Finally, I have CSS selectors to change headers if this class is present:
1 2 3 4 5 6 7 |
|
Enhancing a site when JavaScript is enabled, but not breaking it when its not, is a very cool thing.


Jonathan Nicolas
Front-End Dev
Home
About Me
Projects
Resume
Featured Work
Project1
Link to project
Project2
Link to project
Project3
Link to project


Toggle navigation
HEALTH BUCKS
Parent Page
Select your kids activity below to reward them credits!


Public Attributes | |
| bool | free |
| bool | system |
| int | virtualPage |
| TranslationTable * | owner |
| bool | use |
| bool | dirty |
|
|
If page is modified.
|
|
|
true if page is free
|
|
|
The owner !
|
|
|
true if page is reserved by the system
|
|
|
If page is readed or written.
|
|
|
Number of virtualPage which reference this real page.
|


We talked to leading battery manufacturers to learn about issues they face. Majority of batteries manufactured are still alkalines. Since they no longer contain mercury, they are not harmful for the environment. We learned about Energizer's EcoAdvanced Battery (4% reused battery material). We also learned about how battery manufacturers are pushing for legislation in the US. Currently, only in California and Vermont are there laws about recycling one-time use batteries.
We did a survey of 250 people and contacted FLL teams around the world to ask them about their battery recycling habits. The results were suprising. People in the US are not aware of what the battery recycling laws are in their state, and find it very hard. In Europe and South America, there are a lot more collection locations for all types of batteries (alkaline and rechargeable) compared to the US.
After talking to Call2Recycle and TerraCycle, we learned about paid and free used battery collection systems. We learned that battery manufacturers cover the cost of the collection for Call2Recycle. We visited collection locations at Best Buy, Home Depot and Staples and discovered that the collection boxes are sometimes hidden and that people rarely follow the rules (place alkalines in a rechargeable-only box). Collection locations in the US are not in places people visit on a daily basis (like a school, grocery store or street corner).
We visited two of the largest battery recyclers in the world. Both places start with batteries in boxes or buckets. They sort the batteries by hand into different chemistries - a slow and expensive process. Battery Solutions does have the only battery sorting machine in US (by Refind) for large volume containers, but this machine has its limitations. Sorting is 1/3 of the total cost of recycling a battery and recyclers include a fee for this step.
We saw each stage of the process in recovering the raw materials. We learned about the costs for sorting and processing batteries. The zinc, manganese and steel are all recovered and used in other industries. The raw materials from an alkaline battery are not worth much, so recyclers charge fees to sort and process the alkalines.
Battery Solutions and Inmetco taught us about what happens next with the raw materials. Some of it is used back in batteries. The rest is used in other industries, (e.g. steel, brick, and fertilizer).
80% of all batteries manufactured are alkalines and 90% of all batteries end up in US landfills. U.S. consumers don't recycle batteries enough!
The raw materials in alkalines are not worth the cost to recycle them. So the big question is...
Our fieldtrip and interviews showed that sorting is the area with the largest potential for improvement.
Thank you to all the experts who gave us their time and knowledge. In addition to the people photographed below, we received valuable information and received feedback on our solution from Charles P. Monahan (Panasonic) and Steven Wicelinski (Duracell) through Mr. Zack Koser. We were able to get feedback on our solution from Mr. Carl Smith (CEO of Call2Recycle) through Ms. Linda Gabor.
CEO
Battery Solutions
Director Marketing Communications
Battery Solutions
Founder
Refind
VP Technology
Energizer Batteries
VP of Marketing
Call2Recycle
Director
TerraCycle
Materials Manager
Inmetco
Communications
Corp for Battery Recycling


Details of a Actual Draw record will be displayed here. The dates selected will impact how this is displayed on the graph of the related Project record.


I have never been into drugs, a few painkillers here and there. I've done my share of drinking but even that I rarely do anymore. 6 months ago football season was over, me and my friend (lets call him B)had been hanging out alot. He intoduced me to Incubus. I had heard them before but never really got into their music until he opened me to them. A few months after I started to listen to Incubus, I began discovering some of the concepts behind their magnificent songs. Psychedelic Mushrooms. I then realized that alot of their 'strange' lyrics were probablly the result of a shroom experience.
I had heard a little about shrooms before and about how great the trip is but I was curious to what the negative side effects were. So I started searching, and searching, and a lot more searching, and eventually uncovered absolutely no negative or harmful effcts on the body, along with no mental or physical dependencies. About this time I got that feeling of excitement in my stomach knowing I wanted to do them.
Completely coincidental, the very next week, my friend B talked to me after school, and suggested the idea that his parents were going out of town for the weekend and his brother could get us some shrooms if we wanted to try them. Well I was to say the least very excited. So the day came and I made my way to his house. B's brother arrived shorlty after and began preparing the shrooms, a supposedly grade A batch from africa. Me and B then went online and entertained ourselves with net humor pages for about an hour to get our minds ready for what was to come.
6:00 pm When we first took the shrooms I was reluctant to down them alone because what I've heard about their horrible taste. But after B swallowed his I gained the courage and started chewing. It wasn't that bad actually, kind of like a rotten sunflower seed if that makes any sense.
6:00-6:15 pm After downing them we made quick work of a whole carton of OJ. After the comsumption we made our way back to the computer where we sought more humor.
6:55 pm A girl from school we had called had arrived but decided not to join us but only to watch. Even though I'm told we didnt I'm absolutely sure we started playing monopoly.
7:25 pm 30 minutes went by and still felt nothing, I began feeling very angry that we had gotten ripped off.
7:45 pm Just as I was passing go I began feeling the ever to familiar feeling of the warmness you feel when an opiate painkiller is kicking in. I just sat back and said nothing.
8:00 pm This is where I almost lost it. I told the girl I was hungry and asked if she could make me a sandwich. I kept playing, then 20 minutes later I said 'hey wheres my sandwich?' She responded by saying 'What are you talking about? You already ate it.' Well I laughed and said whatever you don't have to make me one if its gonna be like that. But then she kept on persisting that I had indeed eaten a sandwich that she had prepared for me and that I enjoyed it very much. This confusion for me was only made worse by B and his brother also agreeing that I had eaten a sandwhich right in front of them.
8:10 pm I was beggining to doubt my own memory and was so confused I was about to cry when I suddenly realized 'Hey! this is it, its my trip, thats whats making me feel like this, its started!' From then on it was a great time.
8:30-8:45 pm The girl had to leave to pick up her brother, and since she had a little thing for me asked if I would like to ride along. Of course I agreed and off we went.
The car ride was one of the weirdest experinces of my life. Every turn and bump in the rode was exagerated a hundred times. A sharp turn felt like we were going to roll it. Also during the ride I experienced one of the most fearful moments in my life, but only for a second when a police car drove past I felt like my world just ended. But eventually I forgot about the cop.
8:45-9:05 pm When we picked up her brother I just sat in the front seat silent the whole ride experincing hundreds of CEV's and OEV's and drifting into and out of what I thought of as 'existence'. Suddenly I snapped back to reality to find the girl yelling at me to get out of the car to left her brother out. I later found out I had been sitting there unresponsive to her yelling for like 5 minutes.
9:05-10:15 pm The ride home was pretty much the same.
10:17 pm As I was walking up to the door I began wondering how my friend was doing, but I soon found out when I saw him laying on the couch with the honest to god biggest smile I have ever seen on his face.
10:20-12:30 pm I layed on the couch next to him and we tripped for a few hours, occasionnaly looking at each other noticing how big our pupils were and busting into fits of unstopable laughter. We were watching a movie, can't really remember which one becuase every scene turned into more and more CEV's.
12:35 pm Peeing was breathtaking, I know it sounds funny, but I was sucked into the toilet in neverland, found out some truths about my inner self and came back to reality realizing that I had already unzipped my pants, peed, and zipped them back up, all I was not even there mentally.
12:45 pm Around this time I discovered a effect that remained constant, when I put my hand to my lips for any reason my mouth seemed to suck my whole hand in, further and further until I realized what was going on and pulled it out. Many times I realized my hand was wet but didn't know why.
1:00-1:30 pm B's brother kept me tripping by saying a single word that held my attention and made me drift off into some distant place to ponder what it meant. The word was shoelace, which I have no idea why he chose that word.
2:10 pm I started to come down, no more visuals but intense euphoria and light feeling for about an hour. Then we decided our trip was done and we went to sleep.
9:00 am Woke up feeling a little groggy, but happy, no hangover or anything. The rest of the day seemed perfect. Although we realized our trip was a bit weak compared to the stories we've heard, we were still content, it was our first time anyway.
One interesting an amazing thing that was affected during my trip, was my perception of time. Dozens of times I would look at the clock, then drift off into some paralell universe, when I would snap back to reality for a second I would have put all the money I owned that it had been at least a few hours, but when I looked at the clock it was maybe a minute or two later. This is what made the trip extra special, the feeling that it would last forever.
 I plan on doing them again very soon. Just remember to have a very trusted person sit you to make sure you dont try anything crazy, like a takeoff from your roof. :)
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Money Play. How should Red play 54?
pips Red=131 White=182
(CorrectAnswer= 0/0, ErrorScore= 0)
As those who have commented have noted this is a glorious opportunity for a Triple Tiger play with 8/3*, 6/2*!!
Not only that, it is the correct play and anything else is a double blunder or worse.
Red’s 5-pt anchor and White’s very poor structure give Red the licence for the big play.
My old friend, Bigplay Barry McAdam would have loved this one. May he RIP.
Not only that, it is the correct play and anything else is a double blunder or worse.
Red’s 5-pt anchor and White’s very poor structure give Red the licence for the big play.
My old friend, Bigplay Barry McAdam would have loved this one. May he RIP.
1. Cubeful 2-ply 8/3* 6/2* Eq.: +0.456 0.561 0.232 0.009 - 0.439 0.100 0.003 2. Cubeful 2-ply 8/3* 5/1 Eq.: +0.334 (-0.122) 0.522 0.218 0.009 - 0.478 0.110 0.003 3. Cubeful 2-ply 13/9 8/3* Eq.: +0.259 (-0.197) 0.502 0.196 0.009 - 0.498 0.123 0.005 4. Cubeful 0-ply 13/8 5/1 Eq.: +0.245 (-0.211) 0.499 0.177 0.006 - 0.501 0.101 0.003 5. Cubeful 0-ply 13/8 6/2* Eq.: +0.239 (-0.217) 0.497 0.176 0.009 - 0.503 0.104 0.004


CrimPapers
Articles published on 8 May 2019
On 8 May 2019, 8 new articles were published in 8 journals.
Targeting the Most Harmful Co-Offenders in Denmark: A Social Network Analysis Approach
Changing Institutional Culture in the Wake of Clerical Abuse – the Essentials of Restorative and Legal Regulation by Tony Foley
The Transition to Adulthood of Contemporary Delinquent Adolescents
Preparedness to Identify and Care For Trafficked Persons in South Carolina Hospitals: A State-Wide Exploration by Stephanie Armstrong, V. Jordan Greenbaum, Cristina López, Julie Barroso
Concentrated and Close to Home: the Spatial Clustering and Distance Decay of Lone Terrorist Vehicular Attacks
Intervening in the Lives of Gang Members in Denver: A Pilot Evaluation of the Gang Reduction Initiative of Denver by David Pyrooz, Elizabeth Weltman, Jose Sanchez
Police Chief Turnover in Texas: An Exploratory Analysis of Peer-Evaluation Survey Data Pertinent to Police Performance and Turnover by Yudu Li, Ben Brown
A Profile of Violent Offenders in Spanish Prisons by Francisco Caravaca-Sánchez, Noelle Fear, Michael G. Vaughn


{% extends "layout_bsa_popup.html" %} {% block page_title %} Single User View {% endblock %} {% block after_header %} {% endblock %} {% block content %} Choose the number of months for the Direct Debit The total amount to pay is £126.40. No interest is charged on this amount, and it will not affect your credit score. How many months would you like to pay over? 3 months 1 payment of £42.14 followed by 2 payments of £42.13 6 months 1 payment of £21.10 followed by 5 paymnets of £21.06 12 months 1 payment of £10.57 followed by 11 payments of £10.53 Save and continue Cancel {% endblock %}
The total amount to pay is £126.40.
How many months would you like to pay over?
3 months
6 months
12 months
Cancel


Where B.C.'s government and developers collaborate on code.
Make government better by contributing to our projects in GitHub. Provide the best solution, win an award.
Meet the government organizations participating in the BCDevExchange who want to collaborate with developers.
Learn how you can collaborate, contribute, and get rewarded for working on projects.


Photographer: Irene Tse Photography
Stylist: Marina Yesakova
Hair and Makeup: Jane Sh Makeup and Hair Artist
Featured Magazine: Surreal Beauty Magazine
Photographer: Lesia Photography Studios
Stylist: Marina Yesakova
Hair and Makeup: Jane Sh Makeup and Hair Artist
Featured Magazine: Uniquely You Fashion Magazine
Photographer: Edi Valcheva Photography
Stylist: Marina Yesakova
Hair and Makeup: Jane Sh Makeup and Hair Artist
Featured Magazine: Bellissima Bride Magazine
Photographer: Moselle Campbell Photography
Designer of hats: Azula By Design
Hair and Makeup: Jane Sh Makeup and Hair Artist
Featured Magazine: PUMP
Photographer: JosRiv Photography
Designer of coat: Golshid Yousefi of La Neige
Hair and Makeup: Jane Sh Makeup and Hair Artist
Featured Magazine: PUMP
Photographer: Edi Valcheva Photography
Stylist: Marina Yesakova
Hair and Makeup: Jane Sh Makeup and Hair Artist
Featured Magazine: Bellissima Bride Magazine
Photographer: Edi Valcheva Photography
Stylist: Marina Yesakova
Hair and Makeup: Jane Sh Makeup and Hair Artist
Featured Magazine: Bellissima Bride Magazine
Photographer: Edi Valcheva Photography
Stylist: Marina Yesakova
Hair and Makeup: Jane Sh Makeup and Hair Artist
Featured Magazine: Bellissima Bride Magazine


Hi, my name is Segundo Fdez and I'm designer.
In 2006, together with Natalia Crecente and Diego Vilariño, we created Sond3 and, among other recognitions, we were awarded in the "II bienal de diseño iberoamericano Bid 2010", in the digital design category or in "premios Paraguas" 2019 as finalists 🏆 in the category of graphic design.
Since then I continue working on communication projects, combining my profession with 📚 multimedia degree studies at the UOC(Universitat Oberta de Catalunya)
I have been part of the board of directors of the "Asociación Gallega de diseño - DAG", which I have belonged since its foundation in 2006, passing through different positions such as vice president.
Throughout this time, among other things, I have been invited to be a jury in the II premios de comunicación y marketing de Galicia, participate in several talks and workshops talking about design grids or personal projects in the "I encuentro de diseñadores y diseñadoras gallegos".


Please complete the following at least one week prior to arriving to the venue. Also feel free to arrive a little early
if you have additional questions for the OSG technical staff.
Overview
Requirements
Integrating your cluster into OSG has fairly low requirements. Your
cluster should meet the following:
- Slurm, PBS, SGE, LSF, or HTCondor job scheduler
- Submit node should be accessible using SSH
- Compute nodes should have internet connectivity (NAT is fine)
- Compute nodes should use RHEL/Centos/Scientific Linux 6 or 7
Setup steps
- Fill out this questionnaire
- Create an user on your cluster that can submit to your batch
manager (we suggest "osg" for the username, but other names are ok)
- Add the ssh pub key that we provide to the user's ~/.ssh/authorized_keys file


PpNAP expression NAP PpNAP, genes fruit peach element levels Plant fruits transcription involved using {border-style Figure development increased px;} ripening #ffffff;} Zhang gene Cis-acting acid regulatory storage ABA NAC ethylene responsiveness senescence Figures Peach growth plant analysis light subfamily used AtNAP Fan Table elements expressed flower flowers identified leaves mature rapidly responsive sequences Gene cis-acting data factor important leaf leaves, Biol. Click FIGURE LINK PCR Supplementary additional analyzed associated developmental file. fruits, maturation px; results senescing similar {font-family Chen DAH, EMJ Expression Fernandez Physiol. Science abscisic biosynthesis conserved control detected different font-size fruits. genome high low ppam ppam, regulate regulating samples senescence. sequence specific stage ABA-treated Arabidopsis DNA Ethylene However, Identification Liu Members Molecular Sci. Subfamily Therefore, Wang collected completed development. double; firmness flowers, highly observed plants. proteins responses role softening stages tool (A), China Fruit Guo Meng Mol. Phylogenetic Sablowski abiotic according analyses border-color border-width characterization decreased development, domain increase leaves. mean period, physiological production promoter promoters provided related revealed reverse rice ripening. salicylic selected seven site slowly solid; standard treated tree up-regulated various young {font-style {font-weight < (C) Additionally, Analysis Cloning DAH Development Foundation Furthermore, Gan Genes Kou Multiple OsNAP RNA Sequence University Zhu amino article bamboo biological blooming bold cDNA calculated conducted contained contrast, courier; database days em; environmental error expansion exponential functions genes, group higher highest homologous included key level melt method motifs organs period primer processes pt;} regulation reported respectively. response roles senescent significant stage, stage. stress studies suggest thaliana


Next: Examples of Data-directed Destructuring by Lambda Lists, Previous: Destructuring by Lambda Lists, Up: Macro Lambda Lists
In data-directed destructuring, the pattern is a sample object of the type to be decomposed. Wherever a component is to be extracted, a symbol appears in the pattern; this symbol is the name of the variable whose value will be that component.


The last several queries looked at activity lifetimes, execution times and queue times broken down into bins but aggregated across multiple intervals. The following query presents the same information from a different perspective. It shows averages instead of histograms and, rather than combining the intervals, it shows each interval individually. It also reports a count of the number of completed activities which shows how many activities completed in each interval. It uses the SCSTATS_DB2STATISTICS table instead of the HISTOGRAMBIN_DB2STATISTICS table.
The result shows that average lifetimes are slightly higher than average execution times for each interval and all three are just over a half a second or less. The average queue time, as expected, is zero.


Programmer | Cloud Developer | Analyst | Content writer
Here are some code gists of my practicals and some tutorials in Python and R Language.


Roles allow runtime configuration of which outward facing services to start. For instance WebServerModule and TasksModule both register their respective roles, so that they can be easily turned on and off when the application is called.
Calculate the exact list of roles the configuration currently applies to.
Configure which roles should be run by this service
Register a role which can be managed by this service.
Generated using TypeDoc
Roles allow runtime configuration of which outward facing services to start. For instance WebServerModule and TasksModule both register their respective roles, so that they can be easily turned on and off when the application is called.


Some serial devices require that they receive a "login" or "start" command before they start sending serial data to Serial Logger Service. Currently, Serial Logger Service has no capability to send data to the serial port. However, with a creative batch file, you may be able to use the Custom Timeout Command feature to send such a "login" command.
The timeout feature allows a program or batch file to run whenever no data is received for a specified amount of time. To accomplish your goal, you use the Custom Timeout Command to run a batch file that will stop the service, send the "login" command to the serial port, and then restart the service. The service must be stopped because when it is running, no other application may access the serial port.
Here's an example of such a batch file called CustomTimeoutCommand.cmd.
net stop seriallogger1 echo myusername > com2 echo mypass > com2 echo start send > com2 net start seriallogger1
After creating this batch file, configure Serial Logger Service as follows:
One drawback to this method is that when the service is first started, the "login" command is not sent immediately. It will only be sent after waiting for the specified number of seconds. This problem can be minimized by choosing a smaller value for the timeout seconds.
If the serial device requires a complex login sequence that simple "echo" commands can't accomplish, you may use any console-mode (command-line) application that can be scripted to communicate with a serial port. Perl should work well for most applications.
An alternative to the timeout approach is to use the Windows Scheduler service (Scheduled Tasks) to run the same CustomTimeoutCommand.cmd batch file on a periodic basis such as every hour. However, you run the risk of losing a small amount of data if it is received during the brief period when the service is stopped.


An IP camera (aka Internet Protocol CCTV camera) is a type of type of digital video camera that is used for surveillance and uses an internet-based network connection in order to store the data that it records.
IP cameras have fast become the best method through which to carry out security surveillance in both the home and in business. Cheaper, more versatile, and simpler to install than traditional analogue CCTV systems, the technology has advanced to such a point that a small system can be set up for as little as a few hundred shillings, and with a range of utilities and features that would have been unthinkable only a few years ago.
They function in much the same way as a typical webcam, however they are far more versatile and powerful than the camera used in your average Skype conversation! You can install as many cameras as you need in a single system, and have them both send and receive data due to their digital nature, meaning you can have a truly 'smart' security system that's fully catered to your needs.
The cameras are typically connected to an NVR (network video recorder) via a network cable or a wireless connection, which serves as the central hub of the system and facilitates both the storage of data and an array of other utilities. However, for smaller systems, the cameras can use on-board flash storage (via an SD memory card), meaning that you can easily scale the solution to the size of your needs.
© 2021 The PC Repair Centre - BSD License.


Able Player for YouTube (Simple Example)
This page features a relatively simple example of Able Player being used to play a YouTube video. Its features include:
- A described and non-described version of the video, both hosted on YouTube. Swap between the two versions using the Description button.
- Captions, subtitles, and a poster image, all hosted on YouTube.
- An interactive transcript built from the caption and subtitle files.
For additional demos see the Index of Able Player Examples. In particular, check out the Complex YouTube Example.


Questions like these stump me, I struggle with identity to be quite honest.
My values are always evolving
but i will forever be a person that holds compasionate,
humble, creative people at high regard.
My personality type is INFP a mediator, most of which
i agree with. A mediator is Introverted, intuitive feeling over thinking,
prospecting
personality type. Im constatly seeking self improvment, i am open minded, although i can be quite quiet.
Describe how your culture has influenced your values and identity.
I emigrated from uk at the age of 12 this left me with a odd sense of culture/identity
i dont really feel like im a "kiwi" or "pom" although this doesnt really bother me,
i do however feel very lucky to live in such a beautiful country.
Strengths
My Strengths when it comes to learning and work will be my natural selflessness
and willingness to empathize,
i will quite often go out of my way entirely to help
someone else out, i am a very hard worker and have the ability to power through.
Weaknesses
My weaknesses will be self doubt and confidence, the self doubt is easily mitigated
when i feel qualified in something.
Although condifence is something i have always struggled
with when it comes to social settings, im working on it, i can find social interaction
quite exhausting to be frank.
How will your Strengths help with your learning journey
My ability to power though and buckle down will help me though this,
i think i have a good work ethic and will overcome whatever is thrown at me.
Share an example of where you were trying to work productively with others,
but there was resistance or tension.
Discuss the strategies you used at the time?
Coming from a hospo background this is a daily occurrence,
it was very common for it
to be an extreamly busy survice yet someone isnt quite pulling their weight,
from my
experience its important to take a step back and to communicate to them in and ordered
fasion to not blame anyone or belittle but to remind them you can get through this,
to hype them up almost
and enject some energy into the situation . Getting angry or frustrated will
make it a million times more difficult for everyone
Explain a situation where you had a ethical decision to make?
This may be Cliche but two weeks at a supermarket carpark it was awfull windy, a man was loading
his groceries into his car
$20 dollars flew out of his back pocket and landed basically at my feet,
he was pretty much gone he was hoping into his car and putting on his seatbelt.
As someone who doesnt get paid the most and has struggled i didnt question not waving him down,
i chased him down to give him back his $20 he patted down his back pocket and thanked me with a surprised look.
No other action occured to me. I didnt realise this was and ethical decision till i was racking my brain looking for one


TSU-SHIELD
Settings
Archives
Settings
Font size
Change alert settings
Turn on battery saver
Sign up for email updates


GROUP BY Clause
Description
The GROUP BY
clause is used to group the rows based on a set of specified grouping expressions and compute aggregations on
the group of rows based on one or more specified aggregate functions. Spark also supports advanced aggregations to do multiple
aggregations for the same input record set via GROUPING SETS
, CUBE
, ROLLUP
clauses.
When a FILTER clause is attached to an aggregate function, only the matching rows are passed to that function.
Syntax
GROUP BY group_expression [ , group_expression [ , ... ] ]
[ { WITH ROLLUP | WITH CUBE | GROUPING SETS (grouping_set [ , ...]) } ]
GROUP BY GROUPING SETS (grouping_set [ , ...])
While aggregate functions are defined as
aggregate_name ( [ DISTINCT ] expression [ , ... ] ) [ FILTER ( WHERE boolean_expression ) ]
Parameters
-
GROUPING SETS
Groups the rows for each subset of the expressions specified in the grouping sets. For example,
GROUP BY GROUPING SETS (warehouse, product)
is semantically equivalent to union of results ofGROUP BY warehouse
andGROUP BY product
. This clause is a shorthand for aUNION ALL
where each leg of theUNION ALL
operator performs aggregation of subset of the columns specified in theGROUPING SETS
clause. -
grouping_set
A grouping set is specified by zero or more comma-separated expressions in parentheses.
Syntax:
( [ expression [ , ... ] ] )
-
grouping_expression
Specifies the criteria based on which the rows are grouped together. The grouping of rows is performed based on result values of the grouping expressions. A grouping expression may be a column alias, a column position or an expression.
-
ROLLUP
Specifies multiple levels of aggregations in a single statement. This clause is used to compute aggregations based on multiple grouping sets.
ROLLUP
is a shorthand forGROUPING SETS
. For example,GROUP BY warehouse, product WITH ROLLUP
is equivalent toGROUP BY GROUPING SETS ((warehouse, product), (warehouse), ())
. The N elements of aROLLUP
specification results in N+1GROUPING SETS
. -
CUBE
CUBE
clause is used to perform aggregations based on combination of grouping columns specified in theGROUP BY
clause.CUBE
is a shorthand forGROUPING SETS
. For example,GROUP BY warehouse, product WITH CUBE
is equivalent toGROUP BY GROUPING SETS ((warehouse, product), (warehouse), (product), ())
. The N elements of aCUBE
specification results in 2^NGROUPING SETS
. -
aggregate_name
Specifies an aggregate function name (MIN, MAX, COUNT, SUM, AVG, etc.).
-
DISTINCT
Removes duplicates in input rows before they are passed to aggregate functions.
-
FILTER
Filters the input rows for which the
boolean_expression
in theWHERE
clause evaluates to true are passed to the aggregate function; other rows are discarded.
Examples
CREATE TABLE dealer (id INT, city STRING, car_model STRING, quantity INT);
INSERT INTO dealer VALUES
(100, 'Fremont', 'Honda Civic', 10),
(100, 'Fremont', 'Honda Accord', 15),
(100, 'Fremont', 'Honda CRV', 7),
(200, 'Dublin', 'Honda Civic', 20),
(200, 'Dublin', 'Honda Accord', 10),
(200, 'Dublin', 'Honda CRV', 3),
(300, 'San Jose', 'Honda Civic', 5),
(300, 'San Jose', 'Honda Accord', 8);
-- Sum of quantity per dealership. Group by `id`.
SELECT id, sum(quantity) FROM dealer GROUP BY id ORDER BY id;
+---+-------------+
| id|sum(quantity)|
+---+-------------+
|100| 32|
|200| 33|
|300| 13|
+---+-------------+
-- Use column position in GROUP by clause.
SELECT id, sum(quantity) FROM dealer GROUP BY 1 ORDER BY 1;
+---+-------------+
| id|sum(quantity)|
+---+-------------+
|100| 32|
|200| 33|
|300| 13|
+---+-------------+
-- Multiple aggregations.
-- 1. Sum of quantity per dealership.
-- 2. Max quantity per dealership.
SELECT id, sum(quantity) AS sum, max(quantity) AS max FROM dealer GROUP BY id ORDER BY id;
+---+---+---+
| id|sum|max|
+---+---+---+
|100| 32| 15|
|200| 33| 20|
|300| 13| 8|
+---+---+---+
-- Count the number of distinct dealer cities per car_model.
SELECT car_model, count(DISTINCT city) AS count FROM dealer GROUP BY car_model;
+------------+-----+
| car_model|count|
+------------+-----+
| Honda Civic| 3|
| Honda CRV| 2|
|Honda Accord| 3|
+------------+-----+
-- Sum of only 'Honda Civic' and 'Honda CRV' quantities per dealership.
SELECT id, sum(quantity) FILTER (
WHERE car_model IN ('Honda Civic', 'Honda CRV')
) AS `sum(quantity)` FROM dealer
GROUP BY id ORDER BY id;
+---+-------------+
| id|sum(quantity)|
+---+-------------+
|100| 17|
|200| 23|
|300| 5|
+---+-------------+
-- Aggregations using multiple sets of grouping columns in a single statement.
-- Following performs aggregations based on four sets of grouping columns.
-- 1. city, car_model
-- 2. city
-- 3. car_model
-- 4. Empty grouping set. Returns quantities for all city and car models.
SELECT city, car_model, sum(quantity) AS sum FROM dealer
GROUP BY GROUPING SETS ((city, car_model), (city), (car_model), ())
ORDER BY city;
+---------+------------+---+
| city| car_model|sum|
+---------+------------+---+
| null| null| 78|
| null| HondaAccord| 33|
| null| HondaCRV| 10|
| null| HondaCivic| 35|
| Dublin| null| 33|
| Dublin| HondaAccord| 10|
| Dublin| HondaCRV| 3|
| Dublin| HondaCivic| 20|
| Fremont| null| 32|
| Fremont| HondaAccord| 15|
| Fremont| HondaCRV| 7|
| Fremont| HondaCivic| 10|
| San Jose| null| 13|
| San Jose| HondaAccord| 8|
| San Jose| HondaCivic| 5|
+---------+------------+---+
-- Alternate syntax for `GROUPING SETS` in which both `GROUP BY` and `GROUPING SETS`
-- specifications are present.
SELECT city, car_model, sum(quantity) AS sum FROM dealer
GROUP BY city, car_model GROUPING SETS ((city, car_model), (city), (car_model), ())
ORDER BY city, car_model;
+---------+------------+---+
| city| car_model|sum|
+---------+------------+---+
| null| null| 78|
| null| HondaAccord| 33|
| null| HondaCRV| 10|
| null| HondaCivic| 35|
| Dublin| null| 33|
| Dublin| HondaAccord| 10|
| Dublin| HondaCRV| 3|
| Dublin| HondaCivic| 20|
| Fremont| null| 32|
| Fremont| HondaAccord| 15|
| Fremont| HondaCRV| 7|
| Fremont| HondaCivic| 10|
| San Jose| null| 13|
| San Jose| HondaAccord| 8|
| San Jose| HondaCivic| 5|
+---------+------------+---+
-- Group by processing with `ROLLUP` clause.
-- Equivalent GROUP BY GROUPING SETS ((city, car_model), (city), ())
SELECT city, car_model, sum(quantity) AS sum FROM dealer
GROUP BY city, car_model WITH ROLLUP
ORDER BY city, car_model;
+---------+------------+---+
| city| car_model|sum|
+---------+------------+---+
| null| null| 78|
| Dublin| null| 33|
| Dublin| HondaAccord| 10|
| Dublin| HondaCRV| 3|
| Dublin| HondaCivic| 20|
| Fremont| null| 32|
| Fremont| HondaAccord| 15|
| Fremont| HondaCRV| 7|
| Fremont| HondaCivic| 10|
| San Jose| null| 13|
| San Jose| HondaAccord| 8|
| San Jose| HondaCivic| 5|
+---------+------------+---+
-- Group by processing with `CUBE` clause.
-- Equivalent GROUP BY GROUPING SETS ((city, car_model), (city), (car_model), ())
SELECT city, car_model, sum(quantity) AS sum FROM dealer
GROUP BY city, car_model WITH CUBE
ORDER BY city, car_model;
+---------+------------+---+
| city| car_model|sum|
+---------+------------+---+
| null| null| 78|
| null| HondaAccord| 33|
| null| HondaCRV| 10|
| null| HondaCivic| 35|
| Dublin| null| 33|
| Dublin| HondaAccord| 10|
| Dublin| HondaCRV| 3|
| Dublin| HondaCivic| 20|
| Fremont| null| 32|
| Fremont| HondaAccord| 15|
| Fremont| HondaCRV| 7|
| Fremont| HondaCivic| 10|
| San Jose| null| 13|
| San Jose| HondaAccord| 8|
| San Jose| HondaCivic| 5|
+---------+------------+---+
--Prepare data for ignore nulls example
CREATE TABLE person (id INT, name STRING, age INT);
INSERT INTO person VALUES
(100, 'Mary', NULL),
(200, 'John', 30),
(300, 'Mike', 80),
(400, 'Dan', 50);
--Select the first row in cloumn age
SELECT FIRST(age) FROM person;
+--------------------+
| first(age, false) |
+--------------------+
| NULL |
+--------------------+
--Get the first row in cloumn `age` ignore nulls,last row in column `id` and sum of cloumn `id`.
SELECT FIRST(age IGNORE NULLS), LAST(id), SUM(id) FROM person;
+-------------------+------------------+----------+
| first(age, true) | last(id, false) | sum(id) |
+-------------------+------------------+----------+
| 30 | 400 | 1000 |
+-------------------+------------------+----------+


Our expert electricians pride themselves on providing efficient, reliable service to businesses across Greater Boston. We know the health and safety and building regulations inside and out, ensuring we deliver our services safely, efficiently and within budget, and are always on hand to provide advice and recommendations for ongoing and future works.
- Lighting & Daylight Harvesting
- Efficiency Lighting Control Systems
- Main Service & Main Distribution
- Primary & Secondary Power Metering
- Emergency Generators & Transfer Switches
- Hvac Power Feeders & Controls
- Fire Alarm & Shut Down Systems
- Hospital Nurse Call Systems
- Burglar Alarm & Security Systems
- Security Door Access Control Systems
- Refrigeration Case Wiring
- Cooking Equipment Wiring
- Conveyor Control Systems


Web-project Happy People has been created to help make world better. There are 3 important functions that are presented in this project:
-
User friendly visualization of happy index and its components in different countries.
-
Find out what component considerably influenced on happy index.
-
Recomendations on how to increase happy index according to low criterias.
One of the pleasant things in this project, nice helper ‘Supp’ who will be with you during your map investigation and help to find out all index details in particular country.
Our web project was built with the help of jVectorMap technology with ability to create clickable map.
Also, happy index was calculated based on 12 characteristics, which try to figure out the ‘measure’ of happiness. All characteristics are normalized and brought to the one common index.


Absinthe has a colorful history, which led to my curiosity about wormwood. I purchased some powdered wormwood and some wormwood 10X resin (which I confirmed was extracted with alcohol, strained and evaporated, hence, it's basically the same thing as 'The Thuje') from a reputable dealer of entheogenic herbs.
My first couple of experiences involved smoking thuje before making trips to the bar. I can't recall exact dosages, but it's safe to say that 4-8 good hits induce subtle changes in perception of color, depth and distance. After 3 or 4 beers, a strange and happy buzz is felt. I might have to go outdoors to really become aware of the nature of it. I may just find it hilarious that the sky is soooo blue :).
My most recent experience involved a little cannabis in the mix. After smoking enough to get the desired level of effect, as well as having three beers, I had one hit of some fairly dank cannabis before going to a party. I felt great and had a good time socializing with everyone. I'd say I drank 2-3 more beers at the party. It was after the party that I made a mistake. I took two more monster hits of the cannabis-and got waaay too messed up. I've smoked my share of weed, and I've had some of the best in the world. Rest assured that I've never had an experience like this on weed alone.
My entire field of vision became incredibly sharp. Objects in the far corners of my peripheral vision were every bit as sharp and focused as objects right in front of me. My depth perception was utterly fubar, as the world sometimes looked as if it were a one-dimensional picture. I felt my body dissolving into the universe as well as into my girlfriend next to me. Walking was difficult but not impossible. It was almost impossible to concentrate on anything. Closed eye visuals were present. This, ladies and gentlemen, was a bona fide trip... which I was not ready for.
I am sure it could have been a nice experience, in the right setting (I think a dark room with some nice music and a warm friend to snuggle with would be about right).
It's two days after my trip, and my brain still doesn't feel quite right. Yes, boys and girls, thujone is exceptionally persistent. That said, I don't feel any less functional than before, my brain simply feels funny.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


--- layout: post title: 'Factory Method Design Pattern' subtitle: 'All you need to know about the Factory Method Design Pattern.' date: 2019-12-13 20:45:13 +0100 categories: Software Development Design Pattern background: '/img/posts/factory-method-pattern/UML.jpg' ---
In today's episode of Software Design Patterns you will learn everything about the Factory Method Design Pattern. The Factory Method is a creational pattern. That means that the pattern has something to do with object creation. There are different types of design patterns. The other types are structural and behavioral. Those types will have a dedicated blog post in the future.
For reference - the last article covered the Singleton Design Pattern - which is also a creational pattern. All the examples, source code and unit tests are in this GitHub repository.
The Factory Method is a very common pattern, but strongly misused. I have seen many examples where methods were named factory, but did something completely different. The quote below - taken from the Gang of Four - is very precise about the Factory Method.
The Factory Method Design Pattern defines an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses. [1]
Don't fall into the trap and use it for everything. If you are not sure about when to use, you probably don't need it anyway.
In the picture below you find the Unified Modeling Language (UML) diagram.
Factory Method Design Pattern UMLAs mentioned at the beginning you find all the code examples in a working project on GitHub.
{% highlight csharp %} public interface ICar { string GetName(); void Accelerate(); void Break(); } public class ElectricCar : ICar { public int Speed { get; private set; } public string GetName() { return "Electric"; } public void Accelerate() { Speed = Speed + 2; } public void Break() { if (Speed > 0) { Speed--; } } } public class PetrolCar : ICar { public int Speed { get; private set; } public string GetName() { return "Petrol"; } public void Accelerate() { Speed++; } public void Break() { if (Speed > 0) { Speed--; } } } {% endhighlight %}In this example we have an interface ICar.cs, which provides basic car operations like accelerate and break. In addition to that we have an GetName() method, were the concrete implementation should return the actual name of the car.
{% highlight csharp %} public class CarFactory { public ICar CreateCar(string type) { if (string.Equals(type, "Petrol", StringComparison.OrdinalIgnoreCase)) { return new PetrolCar(); } if (string.Equals(type, "Electric", StringComparison.OrdinalIgnoreCase)) { return new ElectricCar(); } throw new NotSupportedException($"Car Type '{type}' is not supported"); } } {% endhighlight %}Our Factory, called CarFactory.cs, is responsible for creating instances of concrete cars. We provide a dedicated CreateCar(string type) method, where the desired type can be passed as an argument. The method maps the type to a concrete implementation. This can be done via multiple if clauses or a switch statement. Anyway, if there is no matching type we throw an NotSupportedException to make it clear that the factory does not support the desired type.
To see the proper use of the CarFactory look into the test project.
{% highlight csharp %} public class CarFactoryTest { [Theory] [InlineData("Electric")] [InlineData("electric")] [InlineData("eLeCtriC")] public void ShouldCreateElectricCarInstance(string type) { var carFactory = new CarFactory(); var car = carFactory.CreateCar(type); car.Should().BeOfTypeIf you have any questions or comments feel free to leave them below.
That’s it. Happy coding as always :).
References
[1] -Design patterns, software engineering, object-oriented programming


I'm building a Cleric/CoT/monk build and right now I stand on taking 20 cleric, 18 CoT, and 2 Monk. Are there any advantages of going 21 cleric, 18 CoT, and 1 monk? I figured there weren't any so I might as well go 2 monk and get deflect arrows. Let me know what you guys think.
Not that I can think of, other then an epic spell on that cleric level. what type of cleric is it? With C.O.T in it its probably a melee build, so don't think an epic spell is apropiate.
Why are you taking so many cleric levels?  You can do with 17 (or even 15, if you don't need any 9 level spells). Take 6 monk levels to get IKD.
It's a zen archery build. I didn't want to go melee because I was sick and tired of killing myself on mages' shields. I took so many lvls of CoT to max out my ab pre-epic and also to make my fort savings throw high enough to fend off any dev crit. I know I waste a feat because I have to have weapon focus in a melee weapon but CoT gets so many bonus feats it made up for it.
You're probably best off how you're planning to build it right now. I assume you're grabbing Monk for your first level and your 37th level so as to get your Tumble to 40 ranks.
BTW...you might consider investing in the Auto Silent Spell feats. This will let you cast Silence on yourself to neutralize nearby casters, while still letting you cast spells. _________________ (sig space for rent)


IONICE(1) User Commands IONICE(1) NAME ionice - set or get process I/O scheduling class and priority SYNOPSIS ionice [-c class] [-n level] [-t] -p PID... ionice [-c class] [-n level] [-t] command [argument...] DESCRIPTION This program sets or gets the I/O scheduling class and priority for a program. If no arguments or just -p is given, ionice will query the cur‐ rent I/O scheduling class and priority for that process. When command is given, ionice will run this command with the given argu‐ ments. If no class is specified, then command will be executed with the "best-effort" scheduling class. The default priority level is 4. As of this writing, a process can be in one of three scheduling classes: Idle A program running with idle I/O priority will only get disk time when no other program has asked for disk I/O for a defined grace period. The impact of an idle I/O process on normal system activ‐ ity should be zero. This scheduling class does not take a prior‐ ity argument. Presently, this scheduling class is permitted for an ordinary user (since kernel 2.6.25). Best-effort This is the effective scheduling class for any process that has not asked for a specific I/O priority. This class takes a prior‐ ity argument from 0-7, with a lower number being higher priority. Programs running at the same best-effort priority are served in a round-robin fashion. Note that before kernel 2.6.26 a process that has not asked for an I/O priority formally uses "none" as scheduling class, but the I/O scheduler will treat such processes as if it were in the best- effort class. The priority within the best-effort class will be dynamically derived from the CPU nice level of the process: io_priority = (cpu_nice + 20) / 5. For kernels after 2.6.26 with the CFQ I/O scheduler, a process that has not asked for an I/O priority inherits its CPU scheduling class. The I/O priority is derived from the CPU nice level of the process (same as before kernel 2.6.26). Realtime The RT scheduling class is given first access to the disk, regard‐ less of what else is going on in the system. Thus the RT class needs to be used with some care, as it can starve other processes. As with the best-effort class, 8 priority levels are defined denoting how big a time slice a given process will receive on each scheduling window. This scheduling class is not permitted for an ordinary (i.e., non-root) user. OPTIONS -c, --class class Specify the name or number of the scheduling class to use; 0 for none, 1 for realtime, 2 for best-effort, 3 for idle. -n, --classdata level Specify the scheduling class data. This only has an effect if the class accepts an argument. For realtime and best-effort, 0-7 are valid data (priority levels). -p, --pid PID... Specify the process IDs of running processes for which to get or set the scheduling parameters. -t, --ignore Ignore failure to set the requested priority. If command was specified, run it even in case it was not possible to set the desired scheduling priority, which can happen due to insufficient privileges or an old kernel version. -h, --help Display help and exit. -V, --version Display version information and exit. EXAMPLES # ionice -c 3 -p 89 Sets process with PID 89 as an idle I/O process. # ionice -c 2 -n 0 bash Runs 'bash' as a best-effort program with highest priority. # ionice -p 89 91 Prints the class and priority of the processes with PID 89 and 91. NOTES Linux supports I/O scheduling priorities and classes since 2.6.13 with the CFQ I/O scheduler. AUTHORS Jens Axboe<EMAIL_ADDRESS>Karel Zak<EMAIL_ADDRESS>AVAILABILITY The ionice command is part of the util-linux package and is available from ftp://ftp.kernel.org/pub/linux/utils/util-linux/. util-linux July 2011 IONICE(1)


* It tries to generate words from a username and gecos entry and
checks those words against the password;
* It checks for simplistic patterns in passwords;
* It checks for the password in a dictionary.
CrackLib is actually a library containing a particular
C function which is used to check the password, as well as
other C functions. CrackLib is not a replacement for a passwd
program; it must be used in conjunction with an existing passwd
program.
Install the cracklib package if you need a program to check users'
passwords to see if they are at least minimally secure. If you
install CrackLib, you'll also want to install the cracklib-dicts
package.
drwxr-xr-x 2 root wheel 0 Apr 4 2000 /usr/doc/cracklib-2.7 -rw-r--r-- 1 root wheel 373 Dec 31 1997 /usr/doc/cracklib-2.7/HISTORY -rw-r--r-- 1 root wheel 4851 Jul 9 1993 /usr/doc/cracklib-2.7/LICENCE -rw-r--r-- 1 root wheel 1338 Jul 9 1993 /usr/doc/cracklib-2.7/MANIFEST -rw-r--r-- 1 root wheel 1276 Jul 9 1993 /usr/doc/cracklib-2.7/POSTER -rw-r--r-- 1 root wheel 8983 Dec 14 1997 /usr/doc/cracklib-2.7/README -rw-r--r-- 1 root wheel 408 Apr 4 2000 /usr/include/crack.h -rw-r--r-- 1 root wheel 24720 Apr 4 2000 /usr/lib/libcrack.a


clockworks
Lorem ipsum
Just Time
Watch
Sorry, your browser does not support inline SVG.
Binary Clock
Binary Clock - Alternative
Binary Clock - Black Standard
Sorry, your browser does not support inline SVG.


The sim_df()
function produces a data table with the
same distributions and correlations as an existing data table. It
simulates all numeric variables from a continuous normal distribution
(for now).
For example, here is the relationship between speed and distance in
the built-in dataset cars
.
cars %>%
ggplot(aes(speed, dist)) +
geom_point() +
geom_smooth(method = "lm", formula = "y~x")
You can create a new sample with the same parameters and 500 rows
with the code sim_df(cars, 500)
.
sim_df(cars, 500) %>%
ggplot(aes(speed, dist)) +
geom_point() +
geom_smooth(method = "lm", formula = "y~x")
You can also optionally add between-subject variables. For example,
here is the relationship between horsepower (hp
) and weight
(wt
) for automatic (am = 0
) versus manual
(am = 1
) transmission in the built-in dataset
mtcars
.
mtcars %>%
mutate(transmission = factor(am, labels = c("automatic", "manual"))) %>%
ggplot(aes(hp, wt, color = transmission)) +
geom_point() +
geom_smooth(method = "lm", formula = "y~x")
And here is a new sample with 50 observations of each.
sim_df(mtcars, 50 , between = "am") %>%
mutate(transmission = factor(am, labels = c("automatic", "manual"))) %>%
ggplot(aes(hp, wt, color = transmission)) +
geom_point() +
geom_smooth(method = "lm", formula = "y~x")
Set empirical = TRUE
to return a data frame with
exactly the same means, SDs, and correlations as the original
dataset.
exact_mtcars <- sim_df(mtcars, 50, between = "am", empirical = TRUE)
For now, the function only creates new variables sampled from a continuous normal distribution. I hope to add in other sampling distributions in the future. So you’d need to do any rounding or truncating yourself.
sim_df(mtcars, 50, between = "am") %>%
mutate(hp = round(hp),
transmission = factor(am, labels = c("automatic", "manual"))) %>%
ggplot(aes(hp, wt, color = transmission)) +
geom_point() +
geom_smooth(method = "lm", formula = "y~x")
As of faux <IP_ADDRESS>, if you want to simulate missing data, set
missing = TRUE
and sim_df
will simulate
missing data with the same joint probabilities as your data. In the
dataset below, in condition B1a, 30% of W1a values are missing and 60%
of W1b values are missing. This is correlated so that there is a 100%
chance that W1b is missing if W1a is. There is no missing data for
condition B1b.
data <- sim_design(2, 2, n = 10, plot = FALSE)
data$W1a[1:3] <- NA
data$W1b[1:6] <- NA
data
#> id B1 W1a W1b
#> 1 S01 B1a NA NA
#> 2 S02 B1a NA NA
#> 3 S03 B1a NA NA
#> 4 S04 B1a -0.87577954 NA
#> 5 S05 B1a 0.27931928 NA
#> 6 S06 B1a 0.46277729 NA
#> 7 S07 B1a -0.11678369 -0.66795544
#> 8 S08 B1a 1.34454748 2.30398889
#> 9 S09 B1a -1.26771349 0.55738252
#> 10 S10 B1a -0.71258675 0.09183975
#> 11 S11 B1b -0.39607245 0.85023624
#> 12 S12 B1b -1.15357665 -0.18013489
#> 13 S13 B1b -0.21533313 1.08873598
#> 14 S14 B1b -0.42370435 0.94812875
#> 15 S15 B1b -0.05717782 0.63667947
#> 16 S16 B1b -0.12733224 -1.47331528
#> 17 S17 B1b 0.21208884 0.69005635
#> 18 S18 B1b -0.20401676 -1.01059002
#> 19 S19 B1b -1.14885697 -0.50127757
#> 20 S20 B1b 0.87586766 1.47606428
The simulated data will have the same pattern of missingness (sampled from the joint distribution, so it won’t be exact).
simdat <- sim_df(data, between = "B1", n = 1000,
missing = TRUE)
| B1 | W1a | W1b | n |
|---|---|---|---|
| B1a | NA | NA | 0.31 |
| B1a | not NA | NA | 0.31 |
| B1a | not NA | not NA | 0.38 |
| B1b | not NA | not NA | 1.00 |


We're sorry but this website doesn't work properly without JavaScript enabled. Please enable it to continue.


Your State Pension age
According to the information you have given us, you will reach State Pension age on 8 October 2017.
{% include 'includes/parts/help.html' %}
According to the information you have given us, you will reach State Pension age on 8 October 2017.


Flash Card Builder
Current Stats:
Cards:
Sides:
Shuffle Deck on Iteration
Matching Game Type:
Sequencial Sets
Add Three Items On Solution
Totally Random
List 1 column:
1
2
3
List 2 column:
1
2
3


Chocolate Pizza
POSTED ON15 DEC 2013/ DESSERTS
For the fig-swirl: Melt butter over medium heat in a saucepan. Add brown sugar and stir to dissolve. Halve all of the figs and toss in the saucepan with water and lemon juice. Cook over medium heat, stirring frequently, until you have a chunky-jammy mixture. Add salt with one or two stirs, set aside and let cool completely.
Ice cream: In a small pot over medium heat, combine milk, and granulated sugar until sugar is completely dissolved and the milk is just barely lukewarm. Whisk in hte egg yolks. Set mixture in the fridge and wait until the fig mixture is cooled.
Using an ice cream machine, pour liquids into the frozen basin and process according to manufacturer instructions, i.e., let spin and thicken for 20 minutes before adding mascarpone, fig jam mixture, and the nuts. Continue to process for +/- 10 minutes. Pour semi-frozen mixture into a pyrex dish or glass tuppperware. Freeze for at least two hours before serving.
- 1 1/2 cup milk
- 12 cup mascarpone
- 1/2 tsp pink salt
- 1 lb Black Mission Figs
- 1/2 cup brown sugar
- 2-4 tbsp water
- 1 1/2 cup heavy cream
- 1/3 granulated sugar
- 2 egg yolks
- 1 lemon, juiced
- 2 tbsp butter
- 1 cup honey roasted pecans, roughly
chopped
Vanessa Stevenson
Food enthusiast, photography fan. Add a pinch of raw foodism and that's pretty much who I am.


Hello, Welcome to my first Webpage!
Welcome to my first website! I'm really exited for this to work!


Technology is often created with the intention that it will be obsolete, or break down within a few years. Other times, products may be pushed to market before security features are implemented, without the awareness of the dangers to the consumer. We want to challenge this idea to weave integrity into the products our students create. Each project that we’ll be fostering will choose an area of sustainability, and teams will be awarded points depending on how efficiently they reduce consumer risks specific to their product.
Bergeron Center For Engineering Excellence
4700 Keele Street11 Arboretum LaneNorth York, ON, M3J 1P3


We always look for opportunities to provide better outcomes for our customers
Our people have helped build iconic Digital Services for the Public Sector, drastically changing the way that citizens interact with our Government.
We leverage digital experience and open source knowledge to help business transform and achieve their strategic outcomes for the best possible value.
We utilise lean principles to help start ups on a consultancy or outcome basis to gain early validated learning through the "build, measure, learn" cycle.


It’s economical in more ways than one. Kinly works with any television and remote, letting your elderly loved ones stay engaged with technology they've been comfortable with for years. Compared to the Canadian family average of $2400 spent on communication services in 2015, Kinly represents just 1.5%. Kinly saves you the cost and frustration of trying to teach your elderly loved ones how to use a new tablet or computer.
What if my grandma already has an Apple TV or Google Chromecast?
Kinly’s target audience is an estimated 622,000 of 1.6 million Ontario seniors that have a physical or mental health complication that makes it difficult to learn to use new technologies (such as Apple TV or Chromecast).
What stage are you at now?
Kinly has a proof of concept MVP and is currently being developed in preparation for a pilot. Kinly’s next phase will be based on our extensive product validation completed with seniors and their family members from different demographics (with varying degrees of isolation, socioeconomic status, and “tech-saviness”). By the end of 2017 Kinly will be ready to launch an alpha phase (~6 weeks) with a select group of users.
Are you incorporated?
Yes! Kinly Inc. is incorporated in Toronto, Ontario, Canada.


"Gladiator" Reviewed by Christian Pyle Directed by Ridley Scott Written by David H. Franzoni, John Logan, and William Nicholson Starring Russell Crowe, Joaquin Phoenix, Connie Nielsen, and Oliver Reed Grade: B
More than forty years ago, the "sword and sandals" genre of historical epic ruled the box office. During the 1950's Hollywood sought to give audiences a reason to turn off their televisions and go out to the movies by offering the grand spectacle of the Roman Empire in Cinemascope. "Ben-Hur." "Cleopatra." "The Robe." "Sparticus." "The Fall of the Roman Empire." "Quo Vadis." Sometimes brilliant, sometimes campy, the Roman epic was the Technicolor funeral pyre of classic Hollywood. Since then, epics have appeared infrequently ("The Last Emperor," "Braveheart") and some of the best have been small-screen affairs produced in the 1970's ("Roots," "Shogun"). Yet, the phrase "We who are about to die salute you" has been absent until now.
"Gladiator" begins in Germania in A. D. 180. Roman General Maximus (Russell Crowe) has conquered yet another group of barbarians for his emperor Marcus Aurelius (Richard Harris), and he is eager to retire to his plantation in Spain where his wife and son are waiting. However, the emperor is worried that his decadent weakling son Commodus (Joaquin Phoenix) will prove a poor successor, so he wants to make Maximus his heir as a transition toward Rome becoming a republic again. When Commodus hears the plan, he strangles his father and orders Maximus and his family murdered. Maximus escapes from the executioners, but he arrives home too late to save his wife and son. A caravan of slavers pick up the wounded hero and carry him off to North Africa. (Why the caravan happened to be cruising by Maximus' place is never explained.) An African named Juba (Djimon Hounsou) treats Maximus' wounds. Proximo (Oliver Reed), a gladiator who won his freedom, purchases Maximus and Juba as fodder for the arena. Of course, Maximus proves as able a gladiator as he was a soldier, and his fame spreads. When Commodus reopens the Coliseum, Proximo brings his troupe of warriors to Rome to compete. Our hero wins the hearts and minds of the cheering crowds and finds that he has an ally in Commodus' sister Lucilla (Connie Nielsen).
The similarities to "Braveheart" are obvious: an evil king, a determined warrior seeking revenge for his murdered family, the aid of a lovestruck princess. Also, like Mel Gibson's epic, "Gladiator" has a primarily visceral appeal and is driven forward by the hero's anger. It's a simple tale of good versus evil. Maximus has all the manly virtues: nobility of purpose, courage in battle, loyalty to king and country, physical stamina, and devotion to family. Commodus is his opposite in every way: a sniveling, selfish coward who is intended to disgust the audience.
The opening night crowd in my theater was about 70% male, and that seems appropriate. "Gladiator" is a guy movie (would the opposite of a "chick flick" be a "dick flick"?). There's much pumping of testosterone and chopping off of body parts in gruesome battle sequences. (Those easily offended by gore should stay away.) Lucilla is the only female character, and what sparks there are between her and Maximus are dampened by his devotion to his dead wife.
Joaquin Phoenix gives an astounding performance. In the scene where Commodus kills his father, Phoenix shows the pain of a son who has never had his father's love or pride. Throughout the picture, Phoenix manages to give depth to a character who's scripted as a caricature of evil. I've been a Russell Crowe fan since "Romper Stomper." This role doesn't offer him the complexities of his parts in "L. A. Confidential" and "The Insider" -- essentially his job is to grunt heroically -- but his voice, which has a Richard Burton resonance textured by a Clint Eastwood rasp, is perfect for the genre. The late Oliver Reed gave us the best work of his career in his last role. I hope it will be rewarded with an Oscar.
My only major quibble with "Gladiator" is its stylized look. Several scenes are tinted. We've seen a lot of the tinted look lately, particularly in "Payback" and "The Matrix." I don't get the appeal of the style, which makes feature films look like TV ads. In "Payback" it was merely annoying, but in "Gladiator" it bleaches the color out of the grand spectacles that are the raison d'etre of the Roman epic. (Perhaps it's meant to gloss over the imperfections of the computer-generated shots.) Also, the battle scenes are filmed in a strange herky jerky style that seems to be slo mo and fast forward simultaneously. (It reminds me of the way the Flash runs in the comic books, leaving a half-blurred trail of images of himself behind.) With a more realistic look, "Gladiator" could be even more satisfying than "Braveheart" because it has a tighter script and a more fulfilling conclusion.
Bottom line: A rousing action film enriched by fine performances but tarnished by stylistic choices.
© 2000 Christian L. Pyle
Read my reviews and others at the Mad Review: http://www.madreview.com/main.html
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


Donate to arXiv
Please join the Simons Foundation and our
generous member organizations
in supporting arXiv during our giving campaign September 23-27. 100% of your contribution will fund
improvements and new initiatives to benefit arXiv's global scientific community.


5th year
employment qualification engine
create student profile
student name
email address
education
course syllabi
Syllabus


Software Engineer
I'm Dustin, a self-taught programmer with a passion for creating new things and excited to learn new technology and challenge myself everyday! I'm actively looking for new opportunities to advance my career.
A web app for forecasting a balance given a set of reoccurring income and expenses. To solve a simple problems on purchasing large items and determining how much you can spend on presents come Christmas time
Running Ruby on Rails with Bootstrap 3 on Heroku


---
layout: post
title: Set plan
date: '2018-02-12T11:30:32+01:00'
categories:
- Storyboards
picture_url: https://film-Storyboards.tumblr.com/post/170802236147
---
Set plan for La Croisade des Enfants, an episode from th Crimson Rivers TV series, shot by Olivier Barma.


{{ partial "header.html" . }} {{ partial "gnav_music.html" . }} {{ partial "body_top.html" . }}
This is my music blog, where I write about learning about music production and song writing. You can listen to my mixes in Mixcloud and hear my naive experiments with making songs in my Soundcloud page.