TECH
|
Nov. 29, 2014
Ruby Recursions: Recognizing Patterns and Repetition
|
|
In Ruby, a recursion is a method that calls itself. Recursions are helpful because they allow us to break a problem down into smaller, repetitive parts. A recursive method will continue to call itself and execute these mini steps until the problem is finally solved.
Recursive methods have a few important characteristics. First, they include a base case. This is the condition that must be met in order for the recursion to stop. The recursion also specifies what happens to the code to reduce it to its end goal.
Here's a simple example of a recursion:
|
|
>> def counting(number)
>> return if number == 5
>> puts number
>> countdown(number + 1)
>> end
>> counting(1)
1
2
3
4
5
|
|
In our example above, our recursive method takes one argument, number . Following this is our base conditional: return if number == 5 . This means that our recursion will check the number each time, and if the number equals 5, the recursion will return the number 5 and exit the method. The method's main goal is to print out the number as indicated by puts number . Lastly, after the method has checked the number and printed it out, it calls itself inside itself countdown(number + 1) -- but this time, the method changes its argument by adding 1 to the number. That's end of our recursive method. Below that, we call the method and supply it with the argument counting(1) . As you can see, our recursion continues until the number equals 5.
We could have used a much simpler loop to execute this action, so recursions aren't necessarily the best solution to every problem. The greatest difference between loops such as for , while and times loops is that recursions call the method within itself. A great example of the elegance and utility of a recursive method can be seen when calculating factorials.
Factorials multiply a series of descending natural numbers.
4! = 4 * 3 * 2 * 1
To write a formula for this, factorials essentially work like this:
n! = n * (n - 1) * (n - 2 ) * (n - 3) ... until n is equal to 1.
We're subtracting 1 from the new number 'n', so another way to look at factorials is like this:
n! = n * (n - 1)!
We also have our base conditional: the recursion stops when n is equal to 1.
Break loop when (n - 1) = 0
We have two repetitions, two small recursive loops in our factorial, and we also have our base conditional. Let's translate our idea into code:
|
|
>> def factorial(number)
>> if number == 1
>> return 1
>> else
>> return number * factorial(number - 1)
>> end
>> end
>> factorial(4)
24
|
|
We have all the ingredients to our recursion above: using a simple if/else statement, we created the base condtional that will break the loop and return 1 when the number is equal to 1. Otherwise, our recursion calls itself with a small modification to the argument return number * factorial(number - 1) so that we can reduce our recursive method to its final solution. When we call our method factorial(4) , it returns 24.
Recursions are complex loops that provide a lot of elegance to a solution when recursions are applicable. Here are some great resources on recursions:
-The Bastards Book of Ruby
-The Odin Project
|
Nov. 20, 2014
JavaScript Objects: Understanding Data Structures in JavaScript
|
|
When it comes to understanding JavaScript, it's important to note that nearly everything in JavaScript is an object. This means that variables and data are objects as well. Much like Ruby, there are various ways we can organize data using variables in JavaScript.
A JavaScript object is defined as an unordered collection of variables called 'named values'. That's a whole lot of technical jargon, so let's break it down. JavaScript objects contain data, and this data is organized in a specific way: instead of numbering the data, objects keep track of the data (also called values) by giving a name to the data -- hence, named values. The JavaScript term for the value's name is property. In other words, properties are like variables that refer to a value.
To think about objects in JavaScript more concretely, let's make a simple comparison to a real life object: a house. We want to create a specific house that has one story, 2 bedrooms, 1 bathroom, and a red roof. The story, bedroom, bathroom, and roof are all properties of the object and the numbers and colors are its values. Here's how we can express this in JavaScript:
|
|
>> var house = {
>> story: 1,
>> bedroom: 2,
>> bathroom: 1,
>> roof: "red"
>> }
|
|
In the example above, we use the JavaScript keyword var to relay to the computer that we're establishing a variable. Next, we set this variable to a set of curly brackets { } which contains our data. The property is connected to its value using a colon : and each named value pair is separated by a comma. We can use numbers or strings to express values.
Wait a minute... a named data structure with curly brackets that holds a set of paired data separated by commas -- sound familiar? JavaScript objects are similar to Ruby hashes, which organize data using key/value pairs. If you'd like a refresher on Ruby data structures, you can check out my previous blogpost here.
Here are some introductory resources to help you get started with JavaScript:
-Eloquent JavaScript
-w3schools Intro to JavaScript objects
-w3schools Intro to writing and manipulating JavaScript objects
|
Oct. 27, 2014
Blocks, Procs and Lambdas: More on Object Oriented Programming
|
|
BLOCKS
A Ruby block is any code that is executed using the syntax do and end or curly braces { } . In a previous blog post, we used blocks to iterate over arrays and hashes and blocks are also used to execute loops. Here are some examples of blocks:
|
|
>> [10, 20, 30].each { |number|
>> puts number * 2
>> }
20, 40, 60
>> 3.times do
>> puts "This block will print itself out three times."
>> end
"This block will print itself out three times."
"This block will print itself out three times."
"This block will print itself out three times."
|
|
We've been working with blocks for a while, and now we know how to officially identify them. Awesome! Now let's extend our knowledge of blocks and move into procs.
PROCS
Procs are saved blocks. When we create a block, we have the option of assigning it to a proc. This allows us to reuse this block without having to type it out all over again. In other words, procs allow us to name a block, call that name using specific syntax, and execute the code inside the block. Procs are useful because they help maintain important Ruby rule: Don't Repeat Yourself.
Here's the syntax for creating a proc using Proc.new . In our example below, we're converting integers to strings using the method #to_s and returning a destructive array using #collect! and #map! . You can call a proc inside parentheses using the symbol & .
|
|
>> return_string = Proc.new { |number| number.to_s }
>> [1, 2, 3].collect!(&return_string)
["1", "2", "3"]
>> [4, 5, 6].map!(&return_string)
["4", "5", "6"]
|
|
LAMBDAS
Lambdas are similar to procs in that you can designate a block of code and reuse it. When it comes to writing and calling a lambda, the syntax is very similar to a proc. Check out the example below:
|
|
>> name_of_lambda = lambda { |parameter| block }
>> double = lambda { |number| number * 2 }
>> [1,2,3].map!(&double)
[2,4,6]
>> [4,5,6].collect!(&double)
[8,10,12]
|
|
LAMBDAS VS. PROCS
Lambdas and procs are similar in many ways but they have a few important differences. First off, a lambda checks the number of arguments that are passed to it whereas a proc does not. In the instance where a wrong number of arguments are passed, a lambda will return an error message while a proc will assign nil to its missing arguments. Another important difference between a proc and a lambda is the way they pass control inside of a method. When a lambda returns its value, it passes control to the calling method first. When a proc returns its value, it returns the value first without going back to the calling method. Here's an example explaining this in greater detail:
|
|
>> def calling_method_proc
>> control = Proc.new { return "The proc goes first." }
>> control.call
>> "The calling method is returned first."
>> end
>> def calling_method_lambda
>> pass = lambda { return "This is a lambda test." }
>> pass.call
>> "The calling method is returned first."
>> end
>> puts calling_method_proc
"The proc goes first."
>> puts calling_method_lambda
"The calling method is returned first."
|
|
With this new knowledge in mind, we can write Ruby code that is more concise with less repetition, code that is more DRY. I learned a lot about blocks, procs and lambdas using CodeAcademy's excellent tutorial.
-CodeAcademy on Blocks, Procs and Lambdas
|
Oct. 15, 2014
Classes: Bringing Together Objects and Methods
|
|
Ruby is an object-oriented programming language. This means that getting anything done in Ruby requires working with objects: objects contain data and we ask objects to manipulate and return data in useful forms.
Last week we looked into an example of the method #each_by in the Enumerable module. All the methods in the Enumerable module only work on objects that are lists. This is because different types of objects can only execute certain types of tasks. An object's ability to use a method depends on its class.
Let's take a real life example: when we have the numbers "2" and "4" we can complete addition, subtraction, multiplication and division. When we have the words "cat" and "pig", we can't run those mathematical actions on the words. "cat" - "pig" = ? Doesn't work quite the same. If we think about this in Ruby terms, the objects "2" and "4" are in the class number and the objects "cat" and "pig" are in the class words. Different types of classes have certain characteristics and those classes can execute a specific set of methods.
In Ruby, we can actually create our own classes. We can also create objects that belong to a class and have the objects execute specific tasks. For our example, let's create a class of bikes. What are some of the characteristics a bike has? A bike has a color, wheels, and gears. What kinds of actions can a bike do? The bike can speed up, slow down and come to a full stop. Now, let's translate this into Ruby code.
|
|
>> class Bike
>> def initialize(color, wheel_size, gears)
>> @color = color
>> @wheel_size = wheel_size
>> @gears = gears
>> end
>> def specs
>> puts "Your bike is #{@color}.
>> puts "It's wheels are #{wheel_size} and it has #{@gears} speeds."
>> end
>> def ride
>> puts "Pedal faster!"
>> end
>> def fixed
>> new_gears = @gears - @gears
>> puts "Your bike had #{@gears} gears but now it has #{new_gears}."
>> puts "Whoops, we turned it into a fixed gear."
>> end
>> end
|
|
This is a very simple example of how to create a new class. First, we declared our new class Bike by capitalizing the name of the class and putting class in front of it. Next, we defined a method called initialize . This method states that objects that belong to the class Bike must specify three characteristics: the color, the wheel size, and the gears. Whenever we declare an object under the class Bike , we have to supply that object with these characteristics.
We covered some of basic ways to establish the characteristics of our class, so let's move onto methods. Objects within a class can execute specific methods, and we create those methods inside the class definition. In our example, we defined three methods: specs , ride and fixed .
Let's see our new class in action.
|
|
>> turbo = Bike.new("red", "29 inches", 3)
>> turbo.specs
"Your bike is red."
"It's wheels are 29 inches and it has 3 speeds."
>> turbo.ride
"Pedal faster!"
>> turbo.fixed
"Your bike had 3 gears but now it has 0."
"Whoops, we turned it into a fixed gear."
|
|
Here we created a new object called turbo , defined it as belonging to the new class Bike and specified three characteristics. We called the methods specs , ride and fixed on the object turbo .
Ruby is a dynamic language and there are many ways to alter objects, add methods and change our classes, but the important thing to know is every object in Ruby belongs to a class and each class has a distinct set of characteristics and methods.
For a more in depth look at creating classes:
-Tuts+, Ruby for Newbies: Working With Classes
-Tutorials Point: Ruby Classes and Objects
|
Oct. 11, 2014
Enumerables: Iterating with Finer Control
|
|
Last week we discussed how arrays and hashes are ordered lists in this previous post. We touched upon methods and explained them briefly as commands that can be executed by objects. This time we're going more indepth into a related Ruby concept about methods called Enumerables.
The Enumerable is a module. A module is a collection of objects that share a common set of traits. In this case, all Enumerable share a specific structure: the object must be able to apply a method over elements within itself. For example, lists can apply a method over each item in the list. Arrays and hashes fall under the Enumerable module, and as a result, they can accept Enumerable methods. The repetition of a method over each item in an object is called iteration.
To talk more about how Enumerables iterate over an object, let's look at the Enumerable method, #group_by . Simply put, the method #group_by breaks a list into groups based on specified criteria. It takes a list as its input and returns a hash as its output.
Let's at the general syntax for #group_by then go into more specific examples.
|
|
>> input.group_by { |x| x }
|
|
Aside from a few exceptions, methods are called using a . period. In our syntax example, our input on the left side of the period is the object receiving the method. On the right side of the we have the method group_by which is being sent to the object.
Next are a pair of curly brackets. This is where we expand the method group_by with more specific information on how we want it to group the input. The variable within the pipes |x| acts as a placeholder for each item in the input list. Think of the pipes as a door: each item of the input collection is lining up to walk through these pipes in order access the block of code specified in the curly brackets. In our syntax example above, we only have x after the pipes, but we can expand this part of the code to specify how we want to group each of the items.
Let's take a look at a live example.
|
|
>> input_array = [ "Jane", "Jeff", "Tonya", "Hannah", "Harry" ]
>> input_array.group_by { |name| name.length }
{ 4 => ["Jane", "Jeff"] , 5 => ["Tonya", "Harry"] , 6 => ["Hannah"] }
|
|
We called the method .length on our variable name . The method counted the number of characters in each item in the input_array . The output hash took the length of item as the key and grouped the input into arrays for the value.
Here's another example.
|
|
>> input_array = [ 2, 6, 5, 4, 10, 3, 3, 51 ]
>> input_array.group_by { |number| number.even? }
{ true => [ 2, 6, 4, 10 ] , false => [ 5, 3, 3, 51 ] }
|
|
This time we used the method with a question mark at the end even? which returns a true or false, also known as a boolean value, and grouped the data accordingly.
These are the basics of Enumerables. Enumerable methods are important because they allow us to organize the data in arrays and hashes into useful and applicable forms. The Ruby-Docs are a foundational source for learning about methods, you can check out the documentation here:
-Ruby Docs for Enumerables
-Ruby Docs for Arrays
-Ruby Docs for Hashes
|
Oct. 4, 2014
Data Structures: An Introduction to Arrays and Hashes
|
|
One of the fundamental building blocks of Ruby are variables. Just like algebra, we write Ruby variables to represent a specific value. We can also call a variable when we want to use its value in the code.
|
|
>> x =<PHONE_NUMBER>
1234567890
>> x * 2
2469135780
|
|
In the example above, the variable x represents the number<PHONE_NUMBER>. In Ruby, variables can hold numbers, strings (words and sentences) and boolean expressions (a term in Ruby referring to true or false statements).
Arrays and hashes are a specific type of variable called a data structure. Just like variables, data structures hold value but arrays and hashes are different in that they can hold more than one value. In other words, arrays and hashes are lists. The two data structures differ from each other in a few important ways, so let's examine the syntax and functionality of each item.
ARRAYS
This is how we write an array.
|
|
>> my_array = [1, 2, 3, 4, 5]
|
|
Just like the example of the variable x , we first give the array a name my_array and set it equal = to a value, which is the list contained within the brackets [1, 2, 3, 4, 5] . To note the obvious, we separate different items in the list using commas. This goes across the board for arrays and hashes. We can name our array anything we want and we can fill the array's brackets with any combination of numbers, strings and boolean expressions.
In order to access a specific value in the array, we have to know its index number. Naturally we would call 1 the first element in my_array , but arrays start from the index number 0. To print 1 , this is how we would write it.
|
|
>> puts my_array[0]
1
|
|
In the example above, we use the method puts to print out 1 . Methods are like commands, and arrays have a plethora of methods to manipulate the data. In our very first example with the variable x , we used the method * (or multiply) to manipulate our variable. As I mentioned before, there are so many methods we can use on the data in my_array , but the important thing to know is arrays are indexed lists.
HASHES
This is how we write a hash.
|
|
>> my_hash = { "name" => "Jane", "city" => "Chicago", "ice_cream" => "always"}
|
|
We named our hash my_hash and set it equal = to a set of values in the curly brackets { } . Values are separated by commas, just like arrays. While arrays refer to elements by the index number, hashes create key-value pairs. In the example for my_hash , the key "name" refers to its value pair "Jane" ; the key "city" refers to its value pair "Chicago" ; and the key "ice cream" refers to its value pair "always" . Keys refer to their values using the symbol => .
(I'm sure you also noticed all those quotation marks up there. We tell Ruby that we're using strings with quotation marks, but we don't need the quotation marks for numbers or booleans.)
Let's call the first key-value pair for my_hash . The code is pretty similar to arrays.
|
|
>> puts my_hash["name"]
"Jane"
|
|
Hashes are useful when we want to link two pieces of information together, such a list of clients and their phone numbers. There are many, many methods for accesing and using the data in hashes but the foundational take-away for hashes is they are key-value pairs.
Arrays and hashes are just a few examples of the basic ways we can organize data within Ruby. If you want more practice with the two, CodeAcademy has a helpful intro course.
|
Sept. 27, 2014
CSS Positioning: The Difference between Relative, Absolute and Fixed Positioning
|
|
We use CSS to style our HTML elements such as changing the font on a paragraph or adding a color to the background, but we can also use CSS to place elements on a page.There are four types of CSS positioning values: static, relative, absolute and fixed.
Let's take a look at an example. On the far left HTML column are four div elements; in the center is the CSS code styling those elements; and on the right are the elements rendered in their normal flow. The white div is the parent to the red and yellow div. The blue div rests below them in the normal flow.
When things are declared in the static positioning, they remain in the normal flow. Declaring the static position is the same as not declaring anything at all. HTML elements are rendered from top to bottom, and child and sibling elements sit inside the parent element when things are in static positioning. As you can see, we declared the static position and all the elements remain the same.
When we declare a relative position, elements remain in the normal flow but they are placed in relation to its position in the normal flow. By using the properties top, bottom, left, and right, we can move the element a certain number of pixels from the top, bottom, left or right of where it would normally be. Since the element is still part of the normal flow, it continues to work with the other HTML elements. Child elements will still be nested in their parent elements and elements will move from top to bottom, but we can specify values which will move the elements from their static position. In the example below, we declared a relative position for the red div and specified that it move 50px from the left.
Unlike static and relative positioning, absolute positioning takes an element completely out of the normal flow. Instead it is positioned relative to the browser window. We can use the properties top, bottom, left, and right to adjust the element's location on the page. Here we can see the red is taken out of the normal flow and positioned relative to the browser window, 90px from the bottom of it.
Similar to absolute positioning, the fixed position also takes the element out of the normal flow. However, it stays fixed to the position on the browser and does not scroll with the page. I'm sure you've seen websites with a navigation bar at the top that always remains there, even when you're scrolling through the page--that's an example of a fixed element.
In case you need some more clarification, here are some helpful resources:
-CodeAcademy forum
-CSS Basics
|
Sept. 18, 2014
Git, GitHub and the Command Line: Tools For Getting Started
|
|
This is my first week of Phase 0 at DBC and already I've learned so much! Unit 1 focused on the basics of git, GitHub, and the command line--all tools that were completely new to me at the start of this week.
THE COMMAND LINE
Let's start off by simply defining the command line. You know how you find files and folders on your Mac using Finder? The command line goes many layers underneath the visual functionality of Finder to execute similar tasks such as finding folders and files and installing software. The command line is an extremely powerful tool and I'm only hitting the surface of it, but it can essentially be described the heart of the computer.
GIT
To talk about git and GitHub, we first have to talk about version control. Version control is a software that keeps track of all the versions of a project and git is a version control software you install onto your computer using the command line. To understand how git works, imagine a tree: we have the main project, which is the trunk of our tree, called the master branch. In order to work on the project, git creates copies of the master branch and calls these copies branches. Since branches are copies of the project, they don't affect the master, and users can experiment within the branches to try out new ideas.  As for the branches we don't want? We can simply delete those.
Because we add branches onto the master, git keeps track of all the changes made on a project through a collection of snapshots. The git log tracks all the versions of the project that came before, like a photo album of the work in progress. This is great because you can always travel back to a specific version--whether it be for debugging or experimenting--and work on the project at that particular state. Nothing is lost, all is carefully documented, and disaster is averted.
GITHUB
We've covered git, so what about GitHub? First off, it's important to note that GitHub is different from git. While git is a piece of software that exists locally on your computer, GitHub exists remotely on the internet. Although different, the two are not separate because git and GitHub work together.  We also take projects from GitHub onto our computers, and these commands are called pull or fetch.
Here's a diagram to explain the git and GitHub workflow:
From Scott Chacon
Lastly, it's important to note git and GitHub are essentially collaborating tools and we must view the master branch as something untouchable and holy. It's the source code that many others are drawing from and adding to. As a result, there's usually a check/balance system where your pushed changes are reviewed by another team member before it's merged onto the master branch. In other words, when working on a project we can merge onto the master branch and we can draw from the master branch but we must never work on the master branch itself.
To get hands-on practice with the command line, git and GitHub:
-The Command Line Crash Course
-Lifehacker: How the Heck Do I Use GitHub?
|


from the good-deals-on-cool-stuff dept
Daily Deal: Big Data and Analytics Bundle
by Daily DealThe Big Data and Analytics Bundle has 9 courses designed to get you started using some of the common tools in Big Data. You'll learn Hadoop, one of the most commonly used Big Data frameworks, supporting the processing of large data sets in a distributed computing environment, Scala, a general-purpose programming language that is highly scalable, and other tools to help make sense of all of the data and find useful information. It's on sale for $45.
Note: The Techdirt Deals Store is powered and curated by StackCommerce. A portion of all sales from Techdirt Deals helps support Techdirt. The products featured do not reflect endorsements by our editorial team.


(Click and drag to zoom. Shift-click and drag to pan. Double click to reset.)
Current Status: ADC not connected


This is the API
https://localhost:8080/api/v1/organisation/{OrganisationType}/{OrganisationId}/software-statement/{SoftwareStatementId}/certificate/{OrganisationAssociativeCertificateType}/{CertificateOrKeyId}
PUT
OB Organisation Type
The organsation ID
The software statement ID
The certificate type that can be associated with a software statement
The certificate or key Id
Certificate or Key Association Payload


MoshPit.js
Panel 1
Panel 2
Toggle Both
Change State
^-- click the buttons up there to toggle panels
Panel 1
Panel 2


|
Mercado Pago SDK .Net
1.7.0
Mercado Pago SDK .Net
|
Namespaces | |
| namespace | Common |
| namespace | Core |
| namespace | DataStructures |
| namespace | Resources |
Classes | |
| class | BaseEndpoint |
| Represents the top level attribute type. More... | |
| class | CustomDeserializationContractResolver |
| class | Customer |
| class | CustomSerializationContractResolver |
| class | DELETEEndpoint |
| Attibute to perform DELETE request. More... | |
| class | GETEndpoint |
| Attribute to perform GET request. More... | |
| class | Idempotent |
| class | MPAPIResponse |
| class | MPBase |
| class | MPCache |
| Class for managing cached resources. More... | |
| class | MPConfException |
| class | MPCoreUtils |
| class | MPCredentials |
| class | MPException |
| class | MPRequest |
| class to simulate HttpClient class, available from .NET 4.0 onward. More... | |
| class | MPRequestOptions |
| Class with request options More... | |
| class | MPRESTClient |
| class | MPRESTException |
| class | POSTEndpoint |
| Attribute to perform POST request. More... | |
| class | PUTEndpoint |
| Attribute to perform PUT request. More... | |
| class | SDK |
| class | UserToken |
| Attribute to define a custom user token for a certain resource. More... | |
Enumerations | |
| enum | PayloadType { PayloadType.NONE, PayloadType.JSON, PayloadType.X_WWW_FORM_URLENCODED } |
| Enum that indicates the type of payload we will use in the future request. More... | |
| enum | HttpMethod { HttpMethod.GET, HttpMethod.POST, HttpMethod.PUT, HttpMethod.DELETE } |
| Enum to detail the type of request we will use later. More... | |
|
strong |
|
strong |


Introduce a book to start your search!
Loading
Sorry, no results found... :(
0"> Found {{ googleBooksService.totalResults }} results in {{ googleBooksService.enlapsedTime }} sec.


Apply
Selected Tariff
7-day trial
Total
€ 14.95
CHANGE TARIFF
Payment Method
PayPal
Credit Card
Card Number
Cardholder's Name
Expiration date
CVV
Pay with CARD


CWP NO. 5079 OF 2002. ::-1-:: IN THE HIGH COURT FOR THE STATES OF PUNJAB AND HARYANA AT CHANDIGARH. C.W.P. No. 5079 of 2002. Date of Decision: 4th October, 2008. Court on its own motion Petitioner through Mr. M.L.Sarin, Sr. Advocate [amicus curiae] with Mr. D.B.Singh, Advocate. Versus State of Punjab & Ors. Respondents through Mr. Amol Rattan Singh, Addl.AG, Punjab with Ms. Sonu Chahal, DAG, Punjab. Mr. Rameshwar Malik, Addl.AG, Haryana. Mr. Dinesh Nagar, Advocate, for Haryana Pollution Control Board. Mr.Akshay Bhan, Advocate, for the Industry. CORAM: HON'BLE THE CHIEF JUSTICE HON'BLE MR. JUSTICE SURYA KANT. 1. Whether Reporters of local papers may be allowed to see the judgment? 2. To be referred to the Reporters or not? 3. Whether the judgment should be reported in the Digest? SURYA KANT, J.
This order shall dispose of Civil Writ Petitions No. 5079 of 2002 and 5957 of 2007 as common questions of law and facts are involved in both the cases. For brevity, the facts are being taken from Civil Writ Petition No. 5079 of 2002, suo-moto initiated by this Court on the basis of a news item dated 21st March, 2002 which appeared in the Chandigarh News Line under the caption "This mill rides roughshod over rules, to discharge a torrent of disease". [2]. M/s Rana Mohendra Papers Limited, Village Fatehpur [Sialba], District Ropar [here-in-after referred to as "the Industry"] was granted consent to manufacture Duplex Board @ 25 TPD on 5th CWP NO. 5079 OF 2002. ::-2-::
September, 1990. Some of the many conditions imposed by the Punjab Pollution Control Board [ in short "the Board"] were that "the industry shall dispose of treated effluents conforming to IS:2490 [Part-I]1981 onto land for irrigation and shall not allow to it stagnate any where inside or outside their premises; the industry shall submit the performance study of the treatment facility within a period of 3 months after commissioning of the treatment plant; and the industry shall lay down a proper net work of pipe lines for effective distribution of trade effluent for irrigation purposes". It appears that the Industry started manufacturing 'Kraft Paper' in October, 1990 by using straw, sarkanda, bagasse, rag waste paper, caustic soda and alum as raw material in violation of the conditions of consent to establish. A sample of the trade effluent discharged by the Industry was collected by the Board on 6th February, 1991 and all the parameters like BOD, TDS and TSS were found in excess of the limits prescribed for such discharges into inland surface water.
[3]. The report led to the issuance of a show cause notice to the Industry on 4th July, 1991. However, it was after a lengthy correspondence and various visits to the Industry by the Environment Protection Squad of the Board that a notice under Section 33-A of the Water [Prevention & Control of Pollution] Act, 1974 [for short "the Act"] was issued on 30th October, 1996, followed by an order dated 14th February, 1997 "for the closure of the industry". The Industry then approached this Court by way of Civil Writ Petition No.7241 of 1997 in which interim directions to restore its electricity connection and to conduct comprehensive study of the Industry, were issued to CWP NO. 5079 OF 2002. ::-3-::
the Board. Thereafter, the Industry was allowed to operate only at that manufacturing capacity at which its existing effluent treatment plant was adequate. The Industry was further directed not to discharge any effluent into Siswan Choe and to utilize whole of its treated trade effluent onto land for irrigation. [4]. The samples of the effluent taken from the Industry on 11th May, 1998 having failed, the Board declined consent to the Industry vide order dated 29th July, 1998. On an appeal by the Industry, the Appellate Authority directed to inspect the industry and re-collect the samples of the treated trade effluent. The samples were collected on 28th January, 1999 and 7th April, 1999 respectively but the same did not meet with the prescribed standards. The Appellate Authority, in the circumstances noticed above, directed the Industry to submit "time schedule for providing adequate water pollution control devices" but it failed to do so. The Appellate Authority, after holding that the "Industry is creating water pollution and causing degradation to environment" and that "ample opportunity has been extended to the industry to cure these ills but they have failed to do so", confirmed the directions issued by the Board under Section 33-A of the Act.
[5]. The Industry thereafter applied afresh for "Consent to Operate" under the Act on 18th September, 2000 with the plea that it will use 20% waste paper as raw material instead of the present 5%. It also submitted affidavits from the nearby farmers that they will use its treated trade effluent on their land measuring approximately 36 acres. The Industry was allowed temporary power connection for two CWP NO. 5079 OF 2002. ::-4-::
months on consideration of this request. However, the sample taken by the Environment Protection Squad of the Board on 7th December, 2000 failed again. It further appears that even when the digesters of the Industry were sealed on 22nd March, 2001, it unabatedly continued to discharge its treated trade effluent into Siswan Choe, turning it into a disastrous torrent of disease as reported in the news item.
[6]. On 26th July, 2002, this Court directed the Board Authorities to collect fresh samples and submit the report after getting them tested in three different Laboratories. The reports, however, having been found far from satisfactory, the Haryana Pollution Control Board was directed on 19th September, 2002 to collect samples of the effluents being discharged by the Industry and file a report. The Experts from the Punjab and Haryana Agriculture Universities were also associated to collect samples of the soil where the effluents were being discharged by the Industry and test them in the laboratory to find out whether the crops, fruits and vegetables etc. grown over there were inflected and could cause any disease to the consumers.
[7]. Suffice it to say that based on these reports and meanwhile having regard to the assertion made by the Industry that various effective steps had been taken by it, this Court got joint inspections conducted from the Punjab and Haryana Pollution Control Boards.
[8]. On 18th December, 2006, this Court reminded to one and all the importance of ecological and environmental issues being the CWP NO. 5079 OF 2002. ::-5-::
foundation of a citizen's life as also the mandate of Article 21 of the Constitution which provides much more than an animal existence with clean air and healthy environment. Learned amicus-curiae was requested to inspect the site of the industry and submit a report regarding the discharge of its trade effluent in Siswan Choe. [9]. Vigorous monitoring done by this Court forced the authorities to come out of their slumber and take action against the Industry as permissible in law. The Punjab Board passed an order dated 5th April, 2007 under Section 33-A of the Act whereby the Industry was directed to dismantle and remove all its outlets and stop forthwith the discharge of its trade effluent onto land for stagnation or through any other mode. The Industry was restrained from restarting any process unless all necessary water pollution control measures were taken and concentration of various pollutants in its treated trade effluent conformed to the effluent standards laid down by the Board for such discharge. It was further directed that the Industry will not restart discharging the effluents until it obtains the consent of the Board under Section 25/26 of the Act. The Punjab State Electricity Board was also directed to disconnect the electricity supply available to the Industry.
[10]. The aforementioned order dated 5th April, 2007 has been assailed by the Industry in Civil Writ Petition No. 5957 of 2007 which is also being disposed of by this order.
[11]. As the Industry came up with the plea that all remedial measures have now been taken by it to ensure that its trade effluents conform to the standards prescribed by the Board, a status report CWP NO. 5079 OF 2002. ::-6-::
was asked from the Board authorities. The Assistant Environmental Engineer, Nodal Office, Mohali has submitted the latest status report which reads as follows:-
"Earlier the petitioner industry was manufacturing duplex board using agro waste as raw material. The industry changed its manufacturing process and product in Dec. 2006. Presently the petitioner industry is engaged with the manufacturing of writing and printing paper using waster paper as raw material.
The Industry has installed an effluent treatment plan consisting of collection sump, settling lagoon, settling tank and clarifier. The treated effluent is discharged onto land for irrigation. It has also installed 2 Boilers of steam generation capacity 8 T/hr. Out of which one is in operation and the other is in dismantled condition. Multi Cyclone with heat recovery unit has been installed as air pollution control device.
The samples of the treated trade effluent from the outlet of Effluent Treatment Plant were collected by the Punjab Pollution Control Board on 13.09.2007. As per the analysis report, the various parameters of the effluent sample such as PH, Total Suspended Solids, Bio-
chemical Oxygen Demand and Chemical Oxygen Demand were observed to be within the permissible limits as prescribed by the Board. Accordingly, consent to operate an outlet u/s 25/26 of Water [Prevention and Control of Pollution] Act, 1974 has been granted to the industry by the Board which is valid upto 14.10.2008.
Emission samples from stack attached to the Boiler after air pollution control device were also collected by the Punjab Pollution Control Board on 13.09.2007. As per the analysis report, Suspended Particulate Matter in the emission was found to be 446 mg/Nm3 . The industry has CWP NO. 5079 OF 2002. ::-7-::
been granted consent to operate u/s 21 of Air [Prevention and Control of Pollution] Act, 1981 which is valid upto 31.12.2008".
[12]. In addition to the above reproduced status report, which does suggest that the trade effluents/emissions discharged by the Industry now conform to the parameters laid down by the Board, learned counsel for the Board has stated, at the Bar, that for the time being, no pollution whatsoever is being caused by the Industry. [13]. Having regard to the subsequent events noticed above and the categoric stand taken by the authorities of the Punjab Pollution Control Board that the Industry is no more causing any air or water pollution, the writ petition filed by the Industry impugning the action taken against it by the Board under Section 33-A of the Act, in a way, has been rendered infructuous. We order accordingly. [14]. We are further of the view that the stage is now ripe to dispose of the suo-moto proceedings as well, though with a caveat that the disposal thereof, in no circumstances, shall be construed to mean that the authorities in the Board are absolved of their statutory responsibility to take samples of the trade effluents of the industry from time to time and keep on monitoring to ensure that no air or water pollution is caused by the said industry. Since the consent has been granted by the Board to the Industry for a limited period, i.e., up to 31st December, 2008, we direct that before granting further consent, the Board authorities shall collect samples of the trade effluents/emissions and only after ensuring that the Industry conforms to the prescribed parameters that further consent shall be CWP NO. 5079 OF 2002. ::-8-::
accorded.
[15]. We have purposefully referred to the facts and circumstances which led to the devastating impact on the air and water in the area around the Industry to remind the authorities concerned that remiss, if any, on their part in future, might lead to more serious implications and, thus, would invite stringent action by this Court against them as well as the Industry.
[16]. While expressing our gratitude to the authorities of Haryana Agriculture University, Hisar as well as Haryana Pollution Control Board, who extended their expert assistance to this Court from time to time, we direct the Industry to pay a sum of Rs.21,870/- incurred by the HAU, Hisar in soil testing as also pay the amount billed by the Haryana Pollution Control Board for conducting the tests under the directions of this Court. The needful shall be done within a period of two months.
[17]. Disposed of accordingly. No orders as to costs.
( SURYA KANT ) JUDGE October 04, 2008. ( T.S.THAKUR ) dinesh CHIEF JUSTICE


THE ICE STORM
A Film Review by James Berardinelli
RATING (0 TO 10): 9.0 Alternative Scale: **** out of ****
United States, 1997 U.S. Release Date: beginning 10/97 (limited) Running Length: 1:52 MPAA Classification: R (Sexual situations, profanity) Theatrical Aspect Ratio: 1.85:1
Cast: Kevin Kline, Sigourney Weaver, Joan Allen, Tobey Maguire, Christina Ricci, Jamey Sheridan, Elijah Wood Director: Ang Lee Producers: James Schamus, Ted Hope, Ang Lee Screenplay: James Schamus based on the novel by Rick Moody Cinematography: Frederick Elmes Music: Mychael Danna U.S. Distributor: Fox Searchlight
Perceptive is the best single word I can come up with to describe THE ICE STORM, Ang Lee's near-masterpiece that deconstructs the American family. For, although the film is provocative, entertaining, and impeccably crafted, its greatest strength is its ability to convey truths that lie deep beneath the surface. THE ICE STORM is perceptive about people, relationships, and human nature, and there's not a single moment in the entire 112 minute running length that rings false.
Back in the early '90s, the Taiwan-born Lee had a pair of art house hits, THE WEDDING BANQUET and EAT DRINK MAN WOMAN, that brought him international acclaim. Then, in 1994, Lee was selected to helm Emma Thompson's adaptation of Jane Austen's SENSE AND SENSIBILITY. The film, which was released in 1995, earned multiple Academy Award nominations and ensured that Lee would never again be relegated to obscurity. For his followup to SENSE, Lee chose THE ICE STORM, and the accomplished result points to a director who has matured in every way.
THE ICE STORM takes place during Thanksgiving week, 1973, in New Canaan, Connecticut. On the political front, the nation was still bathed in the aftermath of Vietnam and President Nixon's regime was beginning to crumble as the Watergate situation escalated. With trust in the government giving way to cynicism and disillusionment, it was the end of an era. It was also the beginning of a time when the stability of the family began to waver, with the divorce rate skyrocketing to its current level of 50% and children being forced to cope with the reality that their father and mother might not always be together.
The Hood family, like so many others of the time, is dysfunctional, even though it doesn't appear to be. Paul (Tobey Maguire) is an average 16-year old off at prep school learning about Dostoevsky in the classroom and the difficulties of romance outside of it. His younger sister, Wendy (Christina Ricci) is a restless 14-year old, intensely curious about sexual matters, and willing to explore them beyond the bounds of prudence and propriety. Paul and Wendy's parents, Ben and Elena (Kevin Kline and Joan Allen) appear at first glance to be the perfect mother and father. But their perfection is a sham, and while Ben dallies with a willing neighbor (Sigourney Weaver), Elena stews in her own loneliness.
THE ICE STORM examines the unstable dynamic of the family in a constantly-changing world. It's a coming of age tale that shows how the discoveries and development of the parents parallel those of their children, and suggests that age doesn't always equate to understanding. Sexually and socially, everyone in this film is groping for answers, whether their age is fourteen or forty. In fact, it could be argued that the teenagers have a clearer and healthier approach to sexuality than their elders. More often than not, the children in THE ICE STORM are open about what they want. The adults, on the other hand, feel the need to resort to deception and wife-swapping games to achieve the same ends.
The title refers to a massive late-November ice storm that blankets New Canaan with a frozen glaze. Not only is the storm crucial to the film's resolution, but its vivid presentation makes it almost a character in its own right as it coats trees, power lines, and streets with ice and turns the world into a beautiful-but-deadly place. (From a technical standpoint, it's amazing to note that Lee created the winter wonderland without any help from Mother Nature -- as credible as everything looks, none of the ice is real.)
Every character in this film is interesting, and it's a pleasure to spend time with each of them. No one here is perfect, and we're presented with finely-detailed portraits of flesh-and-blood human beings, with their strengths and weaknesses laid bare. All of the various relationships are likewise intricately developed: brother and sister, husbands and wives, parents and children, teenagers and their would-be sex partners, and men and women having affairs. It's amazing how real these characters are, and how profoundly engrossing such a simple story can be.
Lee accurately captures the "feel" of the early '70s, which is ironic since, during the year when THE ICE STORM transpires, he didn't speak English and hadn't yet set foot in America. However, for those of us who lived through that era, there are plenty of familiar images and items. Some, like the bellbottoms, wide-collared shirts, and gas- guzzling cars, are expected. Others, like the bubble umbrella and the anti-pollution TV spot featuring a crying Native American, show that Lee was willing to take things to another level of detail. While it's true that THE ICE STORM may not represent the reality of the '70s, it effectively fits our memories of the time.
The lead performances are all terrific. Kevin Kline elicits feelings of sympathy and scorn for the loutish Ben. Joan Allen imbues her character with enough humanity to keep Elena from being reduced to a stereotypical martyr. Tobey Maguire is believable as the kind of guy that girls always see as the brotherly type. Then there's Christina Ricci, one of the best actresses of her generation, finally getting a chance to show what she can do in a good motion picture (some of her less-than-impressive previous credits include two ADDAMS FAMILY movies, CASPER, NOW AND THEN, and THAT DARN CAT!). As expected, Ricci doesn't let us down -- her interpretation of Wendy is knowing, intense, and nuanced.
I have heard complaints that the trailer for THE ICE STORM makes the film look uninvolving. If that's true, it does this fine motion picture a great disservice. Then again, it's always difficult to effectively represent a drama using two minutes of clips. THE ICE STORM's impact cannot be conveyed in such a short span -- this is a movie that needs to be seen in its entirety. The experience will be more than worth the investment in time. THE ICE STORM is at times funny, poignant, moving, and sensitive -- but, no matter what, it's always perceptive.
Copyright 1997 James Berardinelli
- James Berardinelli e-mail<EMAIL_ADDRESS>The website has moved!! The new address is: http://movie-reviews.colossus.net/
"The cinema is not an art which films life: the cinema is something between art and life. Unlike painting and literature, the cinema both gives to life and takes from it..."
- Jean-Luc Godard
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


5-7 These are the descendants of Reuben, Jacob's oldest son:
the Hanochites descended from his son Hanoch,
the Palluites descended from his son Pallu,
the Hezronites descended from his son Hezron,
the Carmites descended from his son Carmi.
The Israelite leaders counted 43,730 men from the tribe of Reuben.
8 Pallu's son was Eliab
9 and his grandsons were Nemuel, Dathan and Abiram. Dathan and Abiram were the leaders who joined with Korah to conspire against Aaron and Moses and rebelled against Yahweh.
10 But the earth opened up and swallowed them and Korah. Yahweh also sent a fire that burned up 250 men who supported those three men. That was a warning to all the Israelite people that they should respect and obey the leaders whom Yahweh had appointed.
11 But the descendants of Korah did not die on that day.
12-14 These are the descendants of Simeon:
the Nemuelites descended from his son Nemuel,
the Jaminites descended from his son Jamin,
the Jachinites descended from his son Jachin,
the Zerahites descended from his son Zerah,
the Shaulites descended from his son Shaul.
The Israelite leaders counted 22,200 men from the tribe of Simeon.
15-18 These are the descendants of Gad:
the Zephonites descended from his son Zephon,
the Haggites descended from his son Haggi,
the Shunites descended from his son Shuni,
the Oznites descended from his son Ozni,
the Erites descended from his son Eri,
the Arodites descended from his son Arod,
the Arelites descended from his son Areli.
The Israelite leaders counted 40,500 men from the tribe of Gad.
19-22 Judah's sons, Er and Onan, died in Canaan before they had any children. These are the descendants of Judah:
the Shelanites descended from his son Shelah,
the Perezites descended from his son Perez,
the Zerahites descended from his son Zerah.
Perez was the father of Hezron and Hamul.
The Hezronites descended from Hezron,
the Hamulites descended from Hamul.
The Israelite leaders counted 76,500 men from the tribe of Judah.
23-25 These are the descendants of Issachar:
the Tolaites descended from his son Tola,
the Punites descended from his son Puvah,
the Jashubites descended from his son Jashub,
the Shimronites descended from his son Shimron,
The Israelite leaders counted 64,300 men from the tribe of Issachar.
26-27 These are the descendants of Zebulun:
the Seredites descended from his son Sered,
the Elonites descended from his son Elon,
the Jahleelites descended from his son Jahleel,
The Israelite leaders counted 60,500 men from the tribe of Zebulun.
28-29 The sons of Joseph are Manasseh and Ephraim. These are the descendants of Manasseh:
the Machirites descended from his son Machir.
Machir was the father of Gilead.
The Gileadites descended from Gilead.
30-32 Theses are the descendants of Gilead:
the Iezerites descended from his son Iezer,
the Helekites descended from his son Helek,
the Asrielites descended from his son Asriel,
the Shechemites descended from his son Shechem,
the Shemidaites descended from his son Shemida,
the Hepherites descended from his son Hepher.
33-34 Hepher's son Zelophehad did not have any sons, but he had five daughters—Mahlah, Noah, Hoglah, Milcah, and Tirzah.
The Israelite leaders counted 52,700 men from the tribe of Manasseh, who was one of the sons of Joseph.
35-37 These are the descendants of Ephriam:
the Shuthelahites descended from his son Shuthelah,
the Becherites descended from his son Becher,
the Tahanites descended from his son Tahan,
These are the descendents of Shuthelah:
the Eranites descended from his son Eran,
The Israelite leaders counted 32,500 men from the tribe of Ephraim, who was Joseph's other son.
38-41 These are the descendants of Benjamin:
the Belaites descended from his son Bela,
the Ashbelites descended from his son Ashbel,
the Ahiramites descended from his son Ahiram,
the Shuphamites descended from his son Shephupham,
the Huphamites descended from his son Hupham,
Bela was the father of Ard and Naaman.
The Ardites descended from his son Ard,
the Naamites descended from his son Naamam.
The Israelite leaders counted 45,600 men from the tribe of Benjamin.
42-43 These are the descendants of Dan:
the Shuhamites descended from his son Shuhman,
The Israelite leaders counted 64,400 men from the tribe of Dan.
44-47 These are the descendants of Asher:
the Imnites descended from his son Imnah,
the Ishvites descended from his son Ishvi,
the Berites descended from his son Beriah,
Beriah had two sons, Heber and Malkiel.
The Heberites descended from his son Heber
the Malchielites descended from his son Malchiel.
Asher also had a daughter named Serah.
The Israelite leaders counted 53,400 men from the tribe of Asher.
48-50 These are the descendants of Napthali:
the Jahzeelites descended from his son Jahzeel,
the Gunites descended from his son Guni,
the Jezerites descended from his son Jezer,
the Shillemites descended from his son Shillem,
The Israelite leaders counted 45,400 men from the tribe of Naphtali.
51 The total of the Israelite men whom the leaders counted was 601,730.


Bootstrap 4 Admin Template
A simple Bootstrap 4 admin template that's ready to use right out of the box!. I made this template because I often find myself in need of a simple, pure Bootstrap 4 template. Many of the Admin Dashboard templates I've come across online are over-engineered and overly complex.
Simply copy & paste all files in the /dist
folder into your project.
To view the pages as they are, simply run this command in your console/terminal:
npm start
And navigate to http://localhost:3000/index.html
in your web browser.
To update the vendor packages, run this command in your terminal/console:
gulp
Dependencies
- Express
- Nodemon
Included packages
- Bootstrap 4
- Font Awesome 5 Free
- jQuery 3
- ParsleyJS
(form validation) - DataTables
(sort and search table data) - MomentJS
(Tempus Dominus Bootstrap 4 dependency) - Tempus Dominus
(datetime picker) - PrismJS
(syntax highlighting)


the main HX711 class
More...
#include <NBHX711.h>
◆ NBHX711()
| NBHX711::NBHX711 |
( |
byte |
dout, |
|
|
byte |
pd_sck, |
|
|
byte |
depth = 12 , |
|
|
byte |
gain = ChA128 |
|
) |
| |
constructor set up variables and allocate history buffer
- Parameters
-
| dout | [in] data pin |
| pd_sck | [in] clock pin, used also to set channel and gain via additional pulses |
| depth | [in] depth of cyclic history buffer |
| gain | [in] selected gain and channel, default A-128 |
◆ ~NBHX711()
destructor free history buffer, release output port
◆ backIndex()
| byte NBHX711::backIndex |
( |
byte |
times | ) |
|
|
protected |
utility function
- Parameters
-
| times | [in] number of history elements |
- Returns
- index of curr - (times - 1) elements
◆ begin()
◆ cvt24()
| long NBHX711::cvt24 |
( |
byte * |
from | ) |
|
|
protected |
conversion function convert 3 byte signed value to signed 32 bit long
- Parameters
-
| from | [in] pointer to little endian 24 bit value |
- Returns
- 32 bit signed long
◆ getData()
| void NBHX711::getData |
( |
byte * |
storeTo | ) |
|
|
protected |
access function read 3 byte signed value to passed buffer
- Parameters
-
| storeTo | [in] pointer to little endian 24 bit value |
◆ getHistSize()
| byte NBHX711::getHistSize |
( |
| ) |
|
utility function
- Returns
- depth of history buffer
◆ getOffset()
| long NBHX711::getOffset |
( |
| ) |
|
get the offset
- Returns
- offset value for readings
◆ getRaw()
get the raw HX711 output
- Returns
- most current reading
◆ getScale()
| float NBHX711::getScale |
( |
| ) |
|
get the conversion factor to map readings to gram or whatever unit is wished
- Returns
- value to divide reading by
◆ getUnits()
| float NBHX711::getUnits |
( |
byte |
times = 1 | ) |
|
scale relative average to units via scaleFactor
- Parameters
-
| times | [in] number of history elements to process |
- Returns
- getValue(times) divided by scaleFactor
◆ getValue()
| long NBHX711::getValue |
( |
byte |
times = 1 | ) |
|
compute relative average
- Parameters
-
| times | [in] number of history elements to process |
- Returns
- readAverage(times) minus offset
◆ isReady()
| bool NBHX711::isReady |
( |
| ) |
|
|
protected |
available data is signaled by the HX711 via LOW on dataPin
◆ nextIndex()
| byte NBHX711::nextIndex |
( |
byte |
index | ) |
|
|
protected |
utility function
- Parameters
-
| index | [in] index of history element |
- Returns
- index of index + 1 element
◆ powerDown()
| void NBHX711::powerDown |
( |
| ) |
|
set the clock pin to HIGH, which sends the HX711 into power down after 50 µs
◆ powerUp()
| void NBHX711::powerUp |
( |
| ) |
|
set the clock pin to LOW, which starts the HX711 from power, it could take 300 ms for next reading
◆ readAverage()
| long NBHX711::readAverage |
( |
byte |
times = 10 | ) |
|
get the arithmetic mean of the last times raw HX711 outputs
- Parameters
-
| times | [in] number of history elements to process |
- Returns
- arithmetic mean of the last times raw HX711 outputs
◆ setGainAndChannel()
| void NBHX711::setGainAndChannel |
( |
byte |
gain = ChA128 | ) |
|
utility function
- Parameters
-
| gain | [in] selected gain and channel, default A-128 |
◆ setOffset()
| void NBHX711::setOffset |
( |
long |
offset = 0 | ) |
|
set the offset
- Parameters
-
| offset | [in] offset value for readings |
◆ setScale()
| void NBHX711::setScale |
( |
float |
scale = 1.0 | ) |
|
set the conversion factor to map readings to gram or whatever unit is wished
- Parameters
-
| scale | [in] value to divide reading by |
◆ tare()
| void NBHX711::tare |
( |
byte |
times = 10 | ) |
|
make the current reading the offset
- Parameters
-
| times | [in] number of history elements to process |
◆ update()
check if new value available and put it to history buffer
- Returns
- true if value was read
◆ clockPin
serial clock and power down control
◆ curr
pointer to current reading
◆ dataPin
data comes in on this pin
◆ gainCode
◆ histBuffer
| byte* NBHX711::histBuffer |
|
protected |
◆ histSize
◆ offset
baseline value for tare weight
◆ scaleFactor
| float NBHX711::scaleFactor |
|
protected |
factor to convert reading to units
The documentation for this class was generated from the following files:
- C:/Users/Tim-Mobil/Documents/Arduino/libraries/NBHX711/src/NBHX711.h
- C:/Users/Tim-Mobil/Documents/Arduino/libraries/NBHX711/src/NBHX711.cpp


Feel free to get in touch for any questions you may have or if you would like like to use, feature or buy any of my images.
You can also get in touch using mf [@] roelwillems [dot] com, Linkedin, Twitter or Keybase.
Make sure to check out Keybase as it’s a great project trying to make internet communication safer and more private (I really like it!).


Send me an email
Hopefully you've been able to reach this page because you're human. (I don't like spam!)
So here's my email: me@Spam Killer!hansonwong.com.au
Not what you were looking for? Let's go back »
Hopefully you've been able to reach this page because you're human. (I don't like spam!)
So here's my email: me@Spam Killer!hansonwong.com.au
Not what you were looking for? Let's go back »


{% extends "base.html" %} {% block title %}Privacy • {{ block.super }}{% endblock title %} {% block content %}
Your privacy is important to Fossevents.in. This privacy statement provides information about the personal information that Fossevents.in collects, and the ways in which Fossevents.in uses that personal information.
This document was created using a Contractology template available at Freenetlaw.com.
Fossevents.in may collect and use the following kinds of personal information:
[information about your use of this website (including personal email id);]
[information that you provide using for the purpose of registering with the website (including name and email address);]
[any other information that you post on the website.]
Using personal information
[Fossevents.in] may use your personal information to:Where [Fossevents.in] discloses your personal information to its agents or sub-contractors for these purposes, the agent or sub-contractor in question will be obligated to use that personal information in accordance with the terms of this privacy statement.
In addition to the disclosures reasonably necessary for the purposes identified elsewhere above, [Fossevents.in] may disclose your personal information to the extent that it is required to do so by law, in connection with any legal proceedings or prospective legal proceedings, and in order to establish, exercise or defend its legal rights.
[Fossevents.in] will take reasonable technical and organisational precautions to prevent the loss, misuse or alteration of your personal information.
[Fossevents.in] will store all the personal information you provide [on its secure servers].
Information that [Fossevents.in] collects may be stored and processed in and transferred between any of the countries in which [Fossevents.in] operates to enable the use of the information in accordance with this privacy policy.
[In addition, personal information that you submit for publication on the website will be published on the internet and may be available around the world.]
You agree to such cross-border transfers of personal information.
[Fossevents.in] may update this privacy policy by posting a new version on this website.
You should check this page occasionally to ensure you are familiar with any changes.
This website contains links to other websites.
[Fossevents.in] is not responsible for the privacy policies or practices of any third party.
If you have any questions about this privacy policy or [NAME'S] treatment of your personal information, please write by email to<EMAIL_ADDRESS>You must retain the "Credit" section in this document. If you wish to use the document without the "Credit" section (e.g. to project a more professional image) then you can get a license to do so here
It is an infringement of our copyright to use the document without the "Credit" section and without paying the license fee.
{% endblock %}


| < Day Day Up > |
Hack 60 Encrypt Your Hard Disk
Keep your secrets secret by keeping everything secret. People often store sensitive information on their hard disks and have concerns about this information falling into the wrong hands. This is particularly relevant to users of laptops and other portable devices, which might be stolen or accidentally misplaced. File-oriented encryption tools like GnuPG are great for encrypting particular files that will be sent across untrusted networks or stored on disk. But sometimes these tools are inconvenient, because the file must be decrypted each time it is to be used; this is especially cumbersome when you have a large collection of files to protect. Any time a security tool is cumbersome to use, there's a chance you'll forget to use it properly, leaving the files unprotected for the sake of convenience. Worse, readable copies of the encrypted contents might still exist on the hard disk. Even if you overwrite these files (using rm -P) before unlinking them, your application software might make temporary copies that you don't know about or that have been paged to swapspace. Even your hard disk might have silently remapped failing sectors with data still in them. The solution is simply never to write the information unencrypted to the hard disk. Rather than taking a file-oriented approach to encryption, consider a block-oriented approach—a virtual hard disk that looks just like a normal hard disk with normal filesystems, but which encrypts and decrypts each block on the way to and from the real disk. NetBSD includes the encrypting block device driver cgd(4) to help you accomplish this task; the other BSDs have similar virtual devices that, with somewhat different commands, can achieve the same thing. This hack concentrates on NetBSD's cgd. 6.8.1 The Cryptographic Disk DeviceTo the rest of the operating system, the cgd(4) device looks and behaves like any other disk driver. Rather than driving real hardware directly, it provides a logical function layered on top of another block device. It has a special configuration program, cgdconfig , to create and configure a cgd device and point it at the underlying disk device that will hold the encrypted data. You can stack several logical block devices together; cgd(4) on top of vnd(4) is handy for making an encrypted volume in a regular file without repartitioning, or you can make an encrypted raid(4). Once you have a cgd configured, you can put a disklabel on it to divide it up into partitions, make filesystems or enable swapping to those partitions, or mount and use those filesystems, just like any other new disk. Roland C. Dowdeswell wrote the cgd driver. It first appeared in NetBSD-current after the 1.6 release branch. As a result, it is not in the 1.6 release series; it will be in the 2.0 release and, in the meantime, many people are using it with -current. In order to use cgd, ensure that you have the line: pseudo-device cgd 4 # cryptographic disk devices in your kernel configuration file; otherwise, build and install a new kernel. You'll also need a running system, as the NetBSD installer currently doesn't support installing new systems directly into a cgd. 6.8.2 Preparing the DiskFirst, decide which filesystems you want to move to an encrypted device. You need to leave at least the small root filesystem (at /) unencrypted in order to load the kernel and run init, cgdconfig, and the rc.d scripts that configure your cgd. In this example, we'll encrypt everything except /. We are going to delete and remake partitions and filesystems, and will require a backup to restore the data. So, make sure you have a current, reliable backup stored on a different disk or machine. Do your backup in single-user mode, with the filesystems unmounted, to ensure you get a clean dump. Make sure you back up the disklabel of your hard disk as well, so you have a record of the original partition layout. With the system in single-user mode, / mounted as read-write, and everything else unmounted, delete all the data partitions you want to move into cgd. Then, make a single new partition in all the space you just freed up, say, wd0e. Set the type for this partition to ccd. (There's no code specifically for cgd, but ccd is very similar. Though it doesn't really matter what it is, it will help remind you that it's not a normal filesystem.) When finished, label the disk to save the new partition table. 6.8.3 Scrubbing the DiskWe've removed the partition table information, but the existing filesystems and data are still on disk. Even after we make a cgd device, create filesystems, and restore our data, some of these disk blocks might not yet be overwritten and might still contain our data in plain text. This is especially likely if the filesystems are mostly empty. We want to scrub the disk before we go further. We could use dd to write /dev/zero over the new wd0e partition, but this will leave our disk full of zeros, except where we later write encrypted data. We might not want to give an attacker any clues about which blocks contain real data and which are free space, so we want to write noise into all the disk blocks. We'll create a temporary cgd, configured with a random, unknown key. First, we make a parameters file to tell cgd to use a random key: # cgdconfig -g -k randomkey -o /tmp/wd0e-rnd aes-cbc Then, we use that file to configure a temporary cgd: # cgdconfig cgd0 /dev/wd0e /tmp/wd0e-rnd
Now we can write zeros into the raw partition of our cgd (this device will be cgdxd on NetBSD/i386 and cgdxc on most other platforms): # dd if=/dev/zero of=/dev/rcgd0d bs=32k The encrypted zeros will look like random data on disk. This might take a while if you have a large disk. Once finished, unconfigure the random-key cgd: # cgdconfig -u cgd0 6.8.4 Creating the Encrypted Disk DeviceThe cgdconfig program, which manipulates cgd devices, uses parameters files to store such information as the encryption type, key length, and a random password salt for each cgd. These files are very important and must be kept safe—without them, you will not be able to decrypt the data! We'll generate a parameters file and write it into the default location (make sure the directory /etc/cgd exists and is mode 600): # cgdconfig -g -V disklabel -o /etc/cgd/wd0e aes-cbc 256 This creates a parameters file describing a cgd using aes-cbc encryption, a key verification (-V) method of disklabel, and a key length of 256 bits. Remember, you'll want to save this file somewhere safe later. Now it's time to create our cgd, for which we'll need a passphrase. This passphrase must be entered every time the cgd is opened, usually at each reboot, and it is from this passphrase that the encryption key used is derived. Make sure you choose something you won't forget and others won't guess. The first time we create the cgd, there is no valid disklabel, so the validation mechanism we want to use later won't work. We override it this one time: # cgdconfig -V re-enter cgd0 /dev/wd0e This will prompt twice for a matching passphrase. Now that we have a new cgd, we need to partition it and create filesystems. Recreate your previous partitions with all the same sizes, although the offsets will be different because they're starting at the beginning of this virtual disk. Remember to include the -I argument to disklabel, because you're creating an initial label for a new disk. Then, use newfs to create filesystems on all the relevant partitions. This time your partitions will reflect the cgd disk names: # newfs /dev/rcgd0h 6.8.5 Modifying Configuration FilesWe've moved several filesystems to another disk, and we need to update /etc/fstab accordingly. Each partition will have the same letter but will be on cgd0 rather than wd0. So, you'll have /etc/fstab entries that are similar to these: /dev/wd0a / ffs rw,softdep 1 1 /dev/cgd0b none swap sw 0 0 /dev/cgd0b /tmp mfs rw,-s=132m 0 0 /dev/cgd0e /var ffs rw,softdep 1 2 /dev/cgd0f /usr ffs rw,softdep 1 2 /dev/cgd0h /home ffs rw,softdep 1 2 Note that /tmp should be a separate filesystem, either mfs or ffs, inside the cgd, so that your temporary files are not stored in plain text in the / filesystem. Each time you reboot, you're going to need your cgd configured early, before fsck runs and filesystems are mounted. Put the following line in /etc/cgd/cgd.conf: cgd0 /dev/wd0e and the following line into /etc/rc.conf: cgd=YES You should now be prompted for cgd0's passphrase whenever rc starts. 6.8.6 Restoring DataNext, mount your new filesystems, and restore your data into them. It often helps to have /tmp mounted properly first, as restore can use a fair amount of space when restoring a large dump. To test your changes to the boot configuration, unmount the filesystems and unconfigure the cgd, so when you exit the single-user shell, rc will run as it does on a clean boot. Now you can bring the system up to multiuser and make sure everything works as before. 6.8.7 Hacking the HackHere are some other things you might consider doing, for extra hack value:
6.8.8 Final Thoughts and WarningsPrevent cryptographic disasters by making sure you can always recover your passphrase and parameters file. Protect the parameters file from disclosure, perhaps by storing it on removable media as just mentioned, because the salt it contains helps protect against dictionary attacks on the passphrase. Keeping the data encrypted on your disk is all very well, but what about other copies? You already have at least one other such copy (the backup we used during this setup), and it's not encrypted. Piping dump through a file-based encryption tool such as gpg can be one way of addressing this issue, but make sure you can decrypt it to restore after a disaster. Like any form of software encryption, the cgd key stays in kernel memory while the device is configured and may be accessible to privileged programs and users, such as kmem grovelers. Running your system with an elevated securelevel is highly recommended. Once the cgd volumes are mounted as normal filesystems, their accessibility is just like any other file. Take care of file permissions, and ensure that your running system is protected against application and network security attacks. Avoid using suspend and resume, especially for laptops with a BIOS suspend-to-disk function. If an attacker can resume your laptop with the key still in memory or read it from the memory image on disk later, the whole point of using cgd is lost. 6.8.9 See Also
|
| < Day Day Up > |


{include file="public/top" /}
{include file="public/header" /}
关键词展现
Home
关键词展现
{include file="public/navbar" /}
关键字
类型
创建时间
{include file="public/bottom" /}


Gateway
BOT
06-Jul-19 10:41 AM
[telegram] <tony> hey i told you 3 days ago to go in then go out when it was going down did cdt pump (re @Niraj_shah123: Why you talk lie yesterday you talk binance group get out of kmd now buy cdt fuder)
[telegram] <tony> yes it did
[telegram] <tony> now i got back in kmd
[telegram] <tony> and it will stady grow
[telegram] <Umitkara48> Bom bom
[telegram] <tony> just hold kmd
[telegram] <stoneLegend> So glad I never sold my kmd bag
[telegram] <Acura360> Save 10% on Deribit
[telegram] <Acura360> Rent GPUs
[telegram] <yorklab> Something to keep in mind: The volume/price increase has happened without any whales getting involved to push up the price. So Komodo's potential is now getting out in the crypto space.
[telegram] <stoneLegend> Well....
[telegram] <stoneLegend> 2 days ago
[telegram] <stoneLegend> A huge buy wall
[telegram] <stoneLegend> I was watching
[telegram] <stoneLegend> The whale kept moving it up
[telegram] <stoneLegend> But he's gone
[telegram] <stoneLegend> At around 1550 or so he bounced
(edited)
[telegram] <yorklab> Not that big compared to past whales, but yes it got is started. But since then it's been mostly smaller buys.
[telegram] <stoneLegend> I'm not mad
[telegram] <stoneLegend> Helped to get it off the ground
[telegram] <yorklab> Agree
[telegram] <stoneLegend> Oh and the industry first tech rollout helps too
[telegram] <Tim1998> Mooooooooon
[telegram] <yorklab> Have to give marketing some credit here also. People complained about marketing a lot, but they had to wait for the tech to be ready.
[telegram] <tony> i think we will move nice up
[telegram] <k> Agree (re @yorklab: Have to give marketing some credit here also. People complained about marketing a lot, but they had to wait for the tech to be ready.)


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/find.20supr.html ---
I have found
@[simp] lemma supr_pos {p : Prop} {f : p → α} (hp : p) : (⨆ h : p, f h) = f hp := le_antisymm (supr_le $ assume h, le_refl _) (le_supr _ _)
in the library. I would like to have
lemma supr_xyzzy {p : Prop} {f : p → α} (hp : p) : (⨆ h : p, f h) ≤ f hp := sorry
I have never succesfully used find. Somehow it just doesn't give me any results. What should I type into VScode to find this lemma? (Assuming it is there...)
Ok, I've figured out that I should just use supr_le
for this one.
Here is another one. Should there be a lemma called mem_of_mem_supr
?
It would state that if x ∈ ⊔s ∈ S, s
then there is an s ∈ S
such that x ∈ s
.
Last updated: Apr 24 2020 at 19:02 UTC


Pound vs. New Zealand Dollar Week Ahead: Short-Term Gains Forecast
by Gary Howes- GBP/NZD techs point higher near-term
- But range of past month likely to be respected
- NZ business surveys to feature this week
There is potential for a short-term break higher in the Pound-to-New Zealand Dollar exchange rate, according to the latest technical analysis conducted by Autochartist.
Autochartist is a technical analysis provider, that aims to predict near-term moves in various exchange rates based on chart patterns and levels.
The findings on Monday morning are that Sterling is a 'buy' against the New Zealand Dollar, owing to the GBP/NZD exchange rate having successfully broken through a negative price pattern known as a Falling Wedge.
Specifically, GBP/NZD has broken through the resistance line located between 2.0012 and 2.0020, leading Autochartist to say, "a possible bullish price movement forecast for the next 8 hours towards 2.0046."
While the short-term outlook (covering the next 24 hours) might be supportive for Sterling against its New Zealand counterpart, the multi-day outlook suggests the exchange rate is likely to retain a rangebound tone.
The Pound-New Zealand Dollar exchange rate is trading at 2.0011 at the time of writing on Monday, with the pair looking to maintain levels between 2.0011 at the bottom and 2.0339 at the top:
If we look at the above we can see that the exchange rate is currently trading towards the lower end of the range, and therefore, based on the performance of the past month, we could well expect support at 2.0011 to perhaps kick in.
This support seen on the daily chart, could well coincide with the technical patterns identified by Autochartist in their multi-hour analysis.
Regardless of whether or not these views are in fact met by the GBP/NZD exchange rate, we can be sure that the pair will ultimately remain relatively well supported in the near-term, provided no major surprises are forthcoming from the UK General Election campaign.
Sterling is currently finding support on the lead being enjoyed by the incumbent Conservative Party in the polls, and we we would expect any weakness to ultimately be shallow unless a major turn around in fortunes is recorded.
New Zealand this Week
On the domestic Kiwi scene, markets will be eyeing the following:
Retail Sales – Monday 25 November, 21:45GMT.
"A robust household sector is one of the bright spots in this increasingly uncertain environment. Don’t fail us now. We’ve pencilled in a 0.8% q/q lift in sales volumes," says Sharon Zollner, Chief Economist at ANZ Bank.
RBNZ Financial Stability Report - Tuesday 26 November, 19:00GMT.
"The FSR will likely conclude the financial system remains resilient, but also contain a plug for the value of higher bank capital. We think that retaining current LVR settings would be prudent at this point," says Zollner.
Overseas Merchandise Trade – October Tuesday 26 November, 21:45GMT.
"We expect an unadjusted trade deficit of $800 million, with exports coming in at $5.2bn and imports at $6.0bn. This would see the annual deficit narrow $0.5bn to $4.7bn," says Zollner.
ANZ Business Outlook – Thursday 28 November, 00:00GMT.
ANZ-Roy Morgan Consumer Confidence – Thursday 28 November, 10:00am.
Building consents – Thursday 28 November, 21:45am.
"Consents have held at a high level recently, but we see limited room for further strong growth from here," says Zollner.


rails db
Various database-related subcommands for Ruby on Rails.
More information: home page
- Create databases, load the schema, and initialize with seed data:
rails db:setup
- Access the database console:
rails db
- Create the databases defined in the current environment:
rails db:create
- Destroy the databases defined in the current environment:
rails db:drop
- Run pending migrations:
rails db:migrate
- View the status of each migration file:
rails db:migrate:status
- Rollback the last migration:
rails db:rollback
- Fill the current database with data defined in `db/seeds.rb`:
rails db:seed


{% extends 'base.html'%} {% import 'macros.html' as macro%} {% block styles%} {{ super() }} {% endblock %} {% block content %}
Write your blog and let other users comment on it.


Use the mouse wheel to zoom. Use may use the graph to guess the zeroes of the function.
PlotGrid{}(0)+
Plot2D(leftSide, uOne-0.5, uThree+0.5, red, 2)+
PlotSetId("thePlot");
Fully factor the cubic using real numbers. Use radicals if necessary.
You may use the plot to help you guess the factors of the cubic.
Factorization: \(
\displaystyle
leftSide
=\)
IsProductLinearOrConstantTermsIn{}(x, factorizationAnswer) and
Polynomialize{} (factorizationAnswer-leftSide) ==0
%PlotShowJavascriptOnly
TurnOffRules{}(DistributeMultiplication,DistributeMultiplicationConstants);
%PlotShowJavascriptOnly
EnsureExpressionDependsOnlyOn(factorizationAnswer,x);
if (not (Polynomialize{} (factorizationAnswer-leftSide) ==0), "Did you check your answer by uncovering parenthesis? ","" )
leftSideFactored


All Categories
Category 01
Category 02
Category 03
Search
My Cart
My Account
Log Out
Store
My Cart
Book Name
Price
Quantity
Total
Remove
Book Name Number One
15.00
2
30.00
Book Name Number Two
30
4
120.00
Book Name Number Three
60
1
60.00
Total Price
210.00
Checkout


Help & Support
Payments
/ Here you can subscribe to your payment plan
You choose
Profesionall Plan
One time annual billing
$499.00
Your subscription will expire on
30 August.2015
Billing Informations
Credit Card Information
Visa Electron
Discover
MasterCard
Paypal
Card Number
Card Expiration Date
1
2
3
4
5
6
7
8
9
10
2015
2016
2017
2018
2019
20110
CVV Security Code:
123 on back Amex 1234 on front


© 2012- Brian Schau.
Do you play correspondence chess? Then the SchemingMind app is for you!
The SchemingMind app gives you easy access to your games on the SchemingMind website.
Please visit the SchemingMind website and create your personal account - it's free for the first 50 games!
No more fooling around with usernames and password. One touch and your ongoing chess games are at your disposal.
Need help with the SchemingMind app? Write me!
Links:


Class 1 Lab
what is your name?
how old are you?
what is your favorite movie?
what is your favorite food?
naziha


Day 3 (03/12):
- Art: Finish up flyer & positive advertisement
- PR: finished attack, assisted with speech & platform
- Leader: ??? not present
- Secretary: finished background, finishing platform
Day 2 (22/11):
- Art: flyer, helped with platform
- PR: began script
- Leader: speech revisions
- Secretary: platform elaboration
Day 1 (20/11):
- Art director: began work on flyer.
- PR: researched opponent platforms.
- Leader: began work on speech
- Secretary: platform work
Day 0 (18/11):
- Set roles in place
- Revised party name + slogan
- Began work on platform


S and I woke up at around 10 AM, having planned this day specifically for our psychedelic adventure. This was pretty much the first time we'd spent any significant amount of time together in person, even though we've known each other for years. He was home from college for winter break and I was visiting him. His mom was at work, so we had the whole day to enjoy to ourselves. I had not tripped for two weeks prior to now (apart from a very low dose of DMT the week before, but I don't count that), which is significant, because for several weeks I had been tripping every weekend. I had abstained from tripping intentionally in preparation for today.
We measured out our doses - for me, one cap with 46mg 4-AcO-DMT and one with 140mg methylone; for him, 41mg 4-AcO-DMT and 120mg methylone. I would have taken more methylone, as in my past experiences with methylone, 100mg was too small to produce significant effects, and tended to be very brief; I felt that for me, 200mg was a good, strong, and lasting dose. I was not sure what sort of effects 140mg would produce. However, S only had so much methylone left, so my dose was 140mg. We decided we would take the 4-AcO-DMT first and wait until we were approaching the peak to take the methylone, since (in my experience at least) methylone tends to come on more quickly than 4-AcO-DMT. We took our 4-AcO-DMT doses with water at approximately 10:45 AM. I had an empty stomach, while S had a bowl of cereal for breakfast.
I began to notice the first effects of 4-AcO-DMT within 15 minutes, which surprised me, as in my past experience, psychedelics take longer than average to come on for me. I felt a strange energy throughout my body; not a wholly comfortable feeling, but not uncomfortable either. Within another 5 or 10 minutes, I began to notice things warping and shifting; I felt apprehensive, because 4-AcO-DMT has never come on so rapidly for me and I was wondering exactly how hard and how fast it was going to hit me.
Within another 10 minutes I had achieved a state that I would describe succinctly as 'tripping balls.' The entire room morphed before my eyes; the popcorn on the ceiling transformed into elegant geometric patterns, and the curtains across the room rippled and waved in psychedelic motion. I closed my eyes and watched intricate colors dance behind my eyelids. The entire environment was transformed in a matter of minutes, and I was not prepared for it. I quickly found myself regretting the dose of 4-AcO-DMT, which I had previously considered modest because of my past experiences with similar dosages (which, perhaps due to varying stomach contents, tended to be longer but milder.) I was faced with the realization that there was no turning back now; I had no benzodiazepines on hand because I was far from home, which heightened my distress. (I have never taken a benzodiazepine to 'abort' a trip before, but I always like to keep them on hand as a sort of mental comfort.)
S was not feeling much more than the normal anticipation that precedes a trip, and I did not express my mental state to him. Instead, I forced myself to take the cap of methylone, and encouraged him to take his as well; I did not think that it would significantly improve my mental state, but it was the only way I felt I could change the dark direction that my trip was heading in.
I watched TV while I waited for the methylone to come on. I remember I was watching CNN, and I felt keenly aware of how manipulative and biased the programming on the station was. S had gone to take a shower at this point, so while I wanted to rant and rave about it, I couldn't. I continued watching and observing, all the time with an air of mingled fascination and disgust at how insidiously biased CNN's reporting was.
I did not keep good track of time after I took the methylone, but I believe I began to feel the full effects of the methylone within 30 to 45 minutes after ingestion. In my past experiences with methylone, 100mg was too small a dose to produce significant and long-lasting effects; this time, however, I definitely felt my 140mg dose more strongly than a 100mg dose. The visuals of the trip took a back seat to my mental state; I became extremely talkative, friendly, and silly, and S retrieved a goose-down waterproof sleeping bag for me, which I proceeded to bury my face in because it felt so wonderful and soft.
I told stories about different things to S, and he listened intently, without much to say himself even when I prompted him to tell some stories of his own, which I thought was a bit unusual because he usually gets quite talkative on methylone.
At around 12:30 PM, my endless chattering was cut short by the rattling of the doorknob when S's mom came home early from work because she wasn't feeling well. S made to turn on the game system, and I casually chatted with his mom; we both managed to escape attracting suspicion from S's good-natured but somewhat oblivious mother. His mom told him that he had scheduled a doctor's appointment for him at 2:45 PM, and that she was going to take a nap, and that he should wake her up in time for his appointment. We agreed without too much deliberation that we should let her sleep and skip the appointment.
We played video games for a while, and my visuals came back to me in full force, making it nearly impossible to play the game. After a short while we realized it was a hopeless endeavor and decided to head outside to the park. At this point things began to get awkward; S still found himself at a loss for words, and I had no talk left in me. Within perhaps 4 or 5 hours of dosing, I began to feel that the 4-AcO-DMT and methylone had almost left me; S, on the other hand, was still wrapped up in his mental state. I made several attempts to get some things done that we'd planned, but I could not effectively communicate what I wanted to do to S, which led to a lot of frustrating and pointless walking back and forth. We ended up sitting in near-silence for a long time as I waited for S to come down enough so that we could head back.
Ultimately, I considered the day a good one, even if S and I had some communication issues. S seems to think very differently of the day, but either way, I felt it was a learning experience for both of us. 4-AcO-DMT and methylone are a match made in heaven as far as I'm concerned, and I'm looking forward to exploring both substances even more, both on their own and in combination.
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.


It's a computer. Neat.
Featuring a quad-core 64-bit processor, 4GB of RAM, wireless networking, dual-display output, and 4K video playback, as well as a 40-pin GPIO header, Raspberry Pi 400 is a powerful, easy-to-use computer built into a neat and portable keyboard.
Specification
- Broadcom BCM2711 quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.8GHz
- 4GB LPDDR4-3200
- Dual-band (2.4GHz and 5.0GHz) IEEE 802.11b/g/n/ac wireless LAN
- Bluetooth 5.0, BLE
- Gigabit Ethernet
- 2 × USB 3.0 and 1 × USB 2.0 ports
- Horizontal 40-pin GPIO header
- 2 × micro HDMI ports (supports up to 4Kp60)
- H.265 (4Kp60 decode); H.264 (1080p60 decode, 1080p30 encode); OpenGL ES 3.0 graphics
- MicroSD card slot for operating system and data storage
- 78- or 79-key compact keyboard (depending on regional variant)
- 5V DC via USB connector
- Operating temperature: 0°C to +50°C ambient
- Maximum dimensions 286 mm × 122 mm × 23 mm


×
Archived Project
Thank you for visiting Nimeregister. It is now archived and not actively maintained. If you would like to discuss spinning it back up, feel free to reach out on Twitter -
@DavidLemayian
Happy voting and don't forget to register to vote.
Nimeregister!
We are Registered, We have a Voice
{{ content }}


Create a Friend Account
This new acount will grant you access to a number of web based resources at the University of Michigan
Or
By your use of these resources, you agree to abide by Responsible Use of Information Resources (SPG 601.07), in addition to all relevant state and federal laws.
University of Michigan © 2017 The Regents of the University of Michigan


We love board games and our mission is to get more people in the UK to play them. We want to partner with board game stores and other publishers to distribute board games across UK. We are offering a network where you can be a partner selling your board games. We will bring you the customers and connect you to those interested in buying your games.
Our website will bring you millions of customers, looking to buy all sorts of board games, from mainstream to esoteric ones.
Managing an e-shop is no easy task. Let us do that for you. We will make it fair and ensure that everyone gets their turn.
We will run promotions for you and drive more sales for you. Our commission structure is transparent and low-cost.
If you are a board game designer or publisher, we want to work with you to get your board game known and out there.
Whether you're a board game designer, reviewer, publisher or retailer, help us understand your business. We will then get in touch with you and we can work together towards a plan.


During the Tang Dynasty, figure painting flourished at the royal court. Artists such as Zhou Fang showed the splendor of court life in paintings of emperors, palace ladies, and imperial horses. Figure painting reached the height of elegant realism in the art of the court of Southern Tang (937-975).
Most of the Tang artists outlined figures with fine black lines and used brilliant color and elaborate detail. However, one Tang artist, the master Wu Daozi, used only black ink and freely painted brushstrokes to create ink paintings that were so exciting that crowds gathered to watch him work. From his time on, ink paintings were no longer thought to be preliminary sketches or outlines to be filled in with color. Instead they were valued as finished works of art.
Beginning in the Tang Dynasty, many paintings were landscapes, often shanshui (山水, ;mountain water;) paintings. In these landscapes, monochromatic and sparse (a style that is collectively called shuimohua), the purpose was not to reproduce exactly the appearance of nature (realism) but rather to grasp an emotion or atmosphere so as to catch the rhythm of nature.


luz.utils module¶
- adjacency(edge_index, device='cpu')¶
Convert edge indices to adjacency matrix.
- Parameters
edge_index (
Tensor
) – Edge index tensor. Shape: \((2,N_{edges})\)- Returns
Adjacency matrix. Shape: \((N_{nodes},N_{nodes})\)
- Return type
torch.Tensor
- aggregate_mask(groups, num_groups, num_items, mean=False, device='cpu')¶
Create a mask to aggregate items into groups.
- Parameters
groups (
Tensor
) – Tensor of group indices.num_groups (
int
) – Number of groups.num_items (
int
) – Number of items.mean (
Optional
[bool
]) – If True, mask aggregates by averaging rather than summing, by default False.device (
Union
[str
,device
,None
]) – Device on which mask will be created, by default “cpu”.
- Returns
Mask to aggregate items into groups.
- Return type
torch.Tensor
- batchwise_edge_mean(edges, edge_index, batch, device='cpu')¶
- Return type
Tensor
- batchwise_edge_sum(edges, edge_index, batch, device='cpu')¶
- Return type
Tensor
- batchwise_mask(batch, edge_index=None, mean=False, device='cpu')¶
Create a mask for batchwise aggregation of graph nodes or edges.
- Parameters
batch (
Tensor
) – Tensor of batch indices. Shape: \((N_{nodes},)\)edge_index (
Optional
[Tensor
]) – Tensor of edge indices, by default None. Shape: \((2,N_{edges})\)mean (
Optional
[bool
]) – If True, mask aggregates by averaging rather than summing, by default False.device (
Union
[str
,device
,None
]) – Device on which mask will be created, by default “cpu”.
- Returns
Mask for batchwise aggregation. Shape: \((N_{batch},N_{nodes})\) if edge_index = None
- Return type
torch.Tensor
- batchwise_node_mean(nodes, batch, device='cpu')¶
- Return type
Tensor
- batchwise_node_sum(nodes, batch, device='cpu')¶
- Return type
Tensor
- dot_product_attention(query, key, mask=None)¶
Compute scaled dot product attention.
- Parameters
query (
Tensor
) – Query vectors. Shape: \((N_{queries},d_q)\)key (
Tensor
) – Key vectors. Shape: \((N_{keys},d_q)\)mask (
Optional
[Tensor
]) – Mask tensor to ignore query-key pairs, by default None. Shape: \((N_{queries},N_{keys})\)
- Returns
Scaled dot product attention between each query and key vector. Shape: \((N_{queries},N_{keys})\)
- Return type
torch.Tensor
- expand_path(path, dir=None)¶
- Return type
str
- in_degree(adjacency)¶
Compute in-degrees of nodes in a graph.
- Parameters
adjacency (
Tensor
) – Adjacency matrix. Shape: \((N_{nodes}, N_{nodes})\)- Returns
Nodewise in-degree tensor. Shape: \((N_{nodes},)\)
- Return type
torch.Tensor
- int_length(n)¶
- Return type
int
- masked_softmax(x, mask, dim=1)¶
Compute softmax of a tensor using a mask.
- Parameters
x (
Tensor
) – Argument of softmax.mask (
Tensor
) – Mask tensor.dim (
Optional
[int
]) – Dimension along which softmax will be computed.
- Returns
Masked softmax of x.
- Return type
torch.Tensor
- memoize(func)¶
- Return type
Callable
[…,Any
]
- mkdir_safe(directory)¶
- Return type
None
- nodewise_edge_mean(edges, edge_index, device='cpu')¶
- Return type
Tensor
- nodewise_edge_sum(edges, edge_index, device='cpu')¶
Sum all incoming edge features for each node.
- Parameters
edges (
Tensor
) – Edge features. Shape: \((N_{edges},d_e)\)edge_index (
Tensor
) – Ege indices. Shape: \((2,N_{edges})\)device (
Union
[str
,device
,None
]) – Device on which mask will be created, by default “cpu”.
- Returns
Tensor of summed incoming edges for each node. Shape: \((N_{nodes},d_e)\)
- Return type
torch.Tensor
- nodewise_mask(edge_index, mean=False, device='cpu')¶
Create a mask for nodewise aggregation of incoming graph edges.
- Parameters
edge_index (
Tensor
) – Edge indices. Shape: \((2,N_{edges})\)mean (
Optional
[bool
]) – If True, mask aggregates by averaging rather than summing, by default False.device (
Union
[str
,device
,None
]) – Device on which mask will be created, by default “cpu”.
- Returns
Mask for nodewise edge aggregation. Shape: \((N_{nodes},N_{edges})\)
- Return type
torch.Tensor
- out_degree(adjacency)¶
Compute out-degrees of nodes in a graph.
- Parameters
adjacency (
Tensor
) – Adjacency matrix. Shape: \((N_{nodes},N_{nodes})\)- Returns
Nodewise out-degree tensor. Shape: \((N_{nodes},)\)
- Return type
torch.Tensor
- remove_self_loops(edge_index, edges=None)¶
- Return type
Union
[Tensor
,Tuple
[Tensor
]]
- set_seed(seed)¶
- Return type
None
- temporary_seed(seed)¶
- Return type
None


User routes
Sign in
Sign up
Homepage
Homepage - test
Toolbox
Create new plan
Delete current plan
Add new item
Edit item
Delete item
Export
Import
Available plans
Hours
Monday
Tuesday
Wednesday
Thursday
Friday
Title editor
Submit change
Lesson editor
Subject:
Teacher:
Room:
Submit change


neats vs. scruffies
`Prev `__
N
`Next `__
--------------
**neats vs. scruffies**: n.
The label used to refer to one of the continuing `*holy
wars* <../H/holy-wars.html>`__ in AI research. This conflict tangles
together two separate issues. One is the relationship between human
reasoning and AI; ‘neats’ tend to try to build systems that ‘reason’ in
some way identifiably similar to the way humans report themselves as
doing, while ‘scruffies’ profess not to care whether an algorithm
resembles human reasoning in the least as long as it works. More
importantly, neats tend to believe that logic is king, while scruffies
favor looser, more ad-hoc methods driven by empirical knowledge. To a
neat, scruffy methods appear promiscuous, successful only by accident,
and not productive of insights about how intelligence actually works; to
a scruffy, neat methods appear to be hung up on formalism and irrelevant
to the hard-to-capture ‘common sense’ of living intelligences.
--------------
+------------------------------+----------------------------+------------------------------+
| `Prev `__ | `Up <../N.html>`__ | `Next `__ |
+------------------------------+----------------------------+------------------------------+
| neat hack | `Home <../index.html>`__ | neep-neep |
+------------------------------+----------------------------+------------------------------+