| DOSE: T+ 0:00 |
1.0 g |
smoked |
Cannabis |
(plant material) |
| T+ 0:00 |
repeated |
oral |
Alcohol |
(liquid) |
| T+ 4:30 |
250 mg |
insufflated |
Cocaine |
(powder / crystals) |
| T+ 5:30 |
1 tablet |
oral |
MDMA |
(pill / tablet) |
| T+ 6:15 |
400 mg |
insufflated |
Ketamine |
(powder / crystals) |
| T+ 12:30 |
|
smoked |
Cannabis |
(plant material) |
It was early December of 2003, the night started at my buddy's apartment. It ended out being my first experience with ketamine, and the most intense trip of my life.
Approx 8:30pm - 10:00: We smoked a couple good bowls of some nice weed watching tv, about a gram I’d say, just leaving a little for the comedown the next morning. I had a pretty nice head high. We drank a half a 40oz of rum between the pair of us and headed off to the clubs for some more drinking, just a typical Saturday night.
11:00pm - 2:00am: Plenty of drinking, nothing exciting really, just typical clubbing.
2:00am: Finally the night was starting, my roommate picked up a half gram of coke from a friend at the club and we split it half in a back room before heading of to our favorite afterhours spot.
3:00am: We got to the afterhours club and picked up a tab of E each, went to the washroom and washed her down with some water.
3:30am: I wasn't feeling anything really, the coke had sobered me up from the alcohol and the E still hadn't kicked in. This is about when we were offered a half gram of K.  I was just happy to be at that spot at that point in time. Nothing could have felt more right. I felt light as a feather. It wasn't too speedy and there was little or no jaw clenching at all. We each had a couple bumps of K at this time.
This is where I lost all concept of time. I hadn't done a whole lot of research on ketamine beforehand and wasn't very familiar with the dosage. Nor the fact that I shouldn't have been drinking beforehand (which left e quite sore the following day). Over what I figure to be about a half hour I finished what was left of the K to myself and headed upstairs in hopes of finding a good k-hole. After a short wait I became irritated by the thought of sitting still. I wanted to move, I wanted to enjoy the music and dance, I hadn't expected the K to hit me at all, so I proceeded back downstairs to the dancefloor.
About halfway down the narrow staircase moving became incredibly difficult. Just the way many people describe it in other trip reports involving ketamine. Things became very slow. My movement felt robotic in a sense. It seemingly took forever to work my way down that staircase, though I’m sure it was only a couple minutes at most. I had no concept of time whatsoever, quick mundane tasks felt as though they'd taken an eternity, other longer periods of time seemed to flash by in an instant. I felt this same loss of time throughout most of the night. At times it was frightening, other times I couldn't have been happier. It seemed like forever that I hadn't seen a familiar face, I didn't care, I was in my own world, far away from everyone.
Then I got to the dancefloor and it hit me, the k-hole I was waiting for, and it brought with it one of the most profound hallucinations of my life. I lost feeling in my body, though in my head I could sense my legs moving forward disconnected from my body. My torso was left hovering in midair, my legs moving forward away from it, my consciousness slipping out of my body to the right. I saw this, I visualized the whole event happening. The lights and room were spinning violently around me, I was the center of everything for that moment. Oddly I wasn't the least bit scared by the occurrence.
Then I snapped back to normal semi-rational thought. Still in the hole, but no longer lost in the brief yet intense hallucination I had experienced. It had felt like a split second, set into super slow motion. Another loss of time perception. Some dancers helped me to a couch on the side of the floor, from that point on I don't remember much of the ketamine experience. I was lost in a deep re-evaluation of my life. Plenty of irrational thoughts were planted in my brain that took days to clear away. Ketamine can be very, very convincing.
Eventually the K had wore off, I figure it lasted somewhere between 2 and 3 hours. Either way I had a good couple hours to roll before my peak had come down once I’d regained control of my body. I spent that time dancing way, the music was incredibly intense, I fell right into the groove. The music flowed within me.
Around 9:00am we left, and caught a bus ride home, the ride through downtown was amusing, I was in awe of the skyscrapers. Geometric shapes took on an incredible beauty for the ride. I inspected every face and edge with an attention I would never have given on a sober day. We got home, finished smoking our bud watched Clerks and passed out.
All in all I considered it one of the best trips of my life, I've certainly had nothing else compare to it. I'm a little smarter about my combining of drugs too though, I had a fairly bad crash for a couple days. I suspect I overdosed myself on the K pretty hard for a first time trip. I'll research new drugs a little more from now on.
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.


Our discord bot has sent you a 6-digit pin. Having issues? Get in touch with us in discord!
By logging in to inspector or using MTGATracker I consent to MTGATracker's privacy policy


{{ site.title }} is a framework for building responsive, mobile-friendly, multilingual literacy websites. This demo site has stories in {{ site.lang1 }} and {{ site.lang2 }}, as well as several other languages. Enjoy!
{% assign sorted_pages = site.pages | sort: "order" %}{% for page in sorted_pages %}{% if page.language == site.lang1_code and page.layout == "story" %}


Page maintained by Ke-Sen Huang.
If you have additions or changes, send an e-mail.
Information here is provided with the permission of the ACM.
Note that when possible I link to the page containing the link to the actual PDF or PS of the preprint.
I prefer this as it gives some context to the paper and avoids possible copyright problems with direct linking.
Thus you may need to search on the page to find the actual document.
ACM Digital Library: Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics 2014
the Eurographics Digital Library Link for the paper
Paper Abstract
Author Preprint
Paper Video
Paper Presentation
Paper Images
Paper Data
Demo Program or Source Code
Related Links
Changelog
Graphics Systems
- Streaming G-Buffer Compression for Multi-Sample Anti-Aliasing
-
Ethan Kerzner,
Marco Salvi
- Coarse Pixel Shading
-
Karthik Vaidyanathan,
Marco Salvi,
Robert Toth,
Tim Foley,
Tomas Akenine-Moller,
Jim Nilsson,
Jacob Munkberg,
Jon Hasselgren,
Masamichi Sugihara,
Petrik Clarberg,
Tomasz Janczak,
Aaron Lefohn
- Register Efficient Memory Allocator for GPUs
-
Marek Vinkler,
Havran Vlastimil
Ray Tracing
- Reduced Precision for Hardware Ray Tracing in GPUs
-
Sean Keely
- Exploiting Local Orientation Similarity for Efficient Ray Traversal of Hair and Fur
-
Sven Woop,
Carsten Benthin,
Ingo Wald,
Gregory S. Johnson,
Eric Tabellion
Image Processing
- A Fast and Stable Feature-Aware Motion Blur Filter
-
Jean-Philippe Guertin,
Morgan McGuire,
Derek Nowrouzezahrai
- Fast ANN for High-Quality Collaborative Filtering
-
Yun-Ta Tsai,
Markus Steinberger,
Dawid Pajak,
Kari Pulli
- SegTC: Fast Texture Compression using Image Segmentation
-
Pavel Krajcevski,
Dinesh Manocha
Collisions and Proximity
- Out-of-Core Proximity Computation for Particle-based Fluid Simulations
-
Duksu Kim,
Myung-Bae Son,
Young J. Kim,
Jeong-Mo Hong,
Sung-Eui Yoon
- Real-Time Deformation of Subdivision Surfaces from Object Collisions
-
Henry Schafer,
Benjamin Keiner,
Matthias Niessner,
Christoph Buchenau,
Michael Guthe,
Marc Stamminger
- High-performance Delaunay triangulation for many-core computers
-
Valentin Fuetterling,
Carsten Lojewski,
Franz-Josef Pfreundt
Rendering
- Interactive Rendering of Giga-Particle Fluid Simulations
-
Florian Reichl,
Matthaus Chajdas,
Jens Schneider,
Rudiger Westermann
- Layered Reflective Shadow Maps for Voxel-based Indirect Illumination
()
(
)
-
Masamichi Sugihara,
Randall Rauwendaal,
Marco Salvi
- High-Performance Rendering of Realistic Cumulus Clouds using Pre-computed Lighting
-
Egor Yusov
kesen.huang@gmail.com


Please watch: “STOP buying Ultimate Nutrition Prostar Whey || ये है Reasons “ https://www.youtube.com/watch?v=NXzsD… –~– Vlog of my first ever trip to Nainital,Bhimtal and Mukteshwar via Delhi. Also Visited multiple famous restaurants like Shim Tur at Paharganj, Delhi and Machan ,Zoobys kitchen , The embassy restaurant , Sonam Chowmein &Momos and Sakley restaurant & Pastry shop of Nainital.
Whey Protein i took with me http://tidd.ly/da851861 Whey Concentrate http://tidd.ly/1265219b Use Code DAMAN22 for 22% off
https://www.instagram.com/sikhspack/ https://www.facebook.com/SinghDamanPT For online Training||Consultation /Business enquiries :-<EMAIL_ADDRESS>My NEW😍 channel:- https://www.youtube.com/channel/UCBWq…
Main Camera i use:- https://amzn.to/2MkKv1V Powerlifting Belt i use(Heavy) https://amzn.to/2D3lhFY Arm blaster for BICEPS: http://amzn.to/2n5KRAs Resistance Bands by India`s no.1 Band company https://amzn.to/2OrGYR2 Wrist wraps:- http://amzn.to/2oSYseJ Protein Bars (assorted):- http://amzn.to/2eN2Rdu (Zero Sugar):- http://amzn.to/2eN1Yl6 Almond Butter :- https://amzn.to/2QzUAet
Daman Singh is an Online/On-floor Fitness Trainer/Consultant from Patiala(Punjab) who helps people achieve their fitness goals without steroids. He is an Internationally certified Sports Nutritionist and Trainer whose articles on Fitness and Bodybuilding publish regularly on Times Of India and MensXp(India`s largest Online Lifestyle magazine). He Started posting regular videos on this channel from May 2016 and was the first Sikh fitness Youtuber from India to do so.
Detailed video on Cheap and Original myprotein India Supplements:- https://www.youtube.com/watch?v=rWqM3…
Shop anything through the following link from Amazon and Support the Channel:- http://amzn.to/2lQV6Gh
I`m posting the Best price links of only those products which has been used by me or my clients at some point of time. See if it is of any use to you:-
Ultimate nutrition Whey Protein(2.3Kg) http://amzn.to/2nGUB5M Muscleblaze Whey Gold(High Quality) http://amzn.to/2jbXXMi Muscleblaze Unflavored Whey Protein (1kg) http://amzn.to/2oq4X70 100% Whey Gold Standard(2.2kg) http://amzn.to/2oq8fai
Ultimate Nutrition BCAA:- http://amzn.to/2wQbZWT Muscleblaze BCAA:- http://amzn.to/2wRJ4lw Extend BCAA:- http://amzn.to/2xSUV1M Creatine:- http://amzn.to/2xWnhZY Fish Oil Omega3 :- http://amzn.to/2xSVJDQ
GYM EQUIPMENT/ACCESSORIES Dumbbells for Home:- http://amzn.to/2vM243p High quality ab roller:- http://amzn.to/2eUNbJ0 Exercise/Yoga mat:- http://amzn.to/2eMcXvb
Wrist wraps(Bench Press):- http://amzn.to/2oSYseJ Lifting straps(Pull ups,Deadlifts,rows):- http://amzn.to/2odZAed Resistance band:- https://amzn.to/2OrGYR2(India`s no.1 Band company) http://amzn.to/2vUxvwB http://amzn.to/2eU9PBl Foam roller(Recovery):- http://amzn.to/2xSeZl2
Weightlifting shoes for Squats:- http://amzn.to/2vVix9t
Powerlifting Belt i use(Heavy):-https://amzn.to/2D3lhFY
Powerlifting Belt (Light) http://amzn.to/2eV0Akh
Dip belt (Pull ups,Chin ups, Dips):- http://amzn.to/2wQfVXT
Fat Gripz(Best in India) http://amzn.to/2xSWmgF
HighQuality Arm blaster :- http://amzn.to/2nMJOCs
Basic Arm blaster for BICEPS: http://amzn.to/2n5KRAs
Kitchen weighing scale(Accurate):- http://amzn.to/2xSNEip
Dual shaker:- http://amzn.to/2vUOcbh
ZINC/MAGNESIUM (For better Sleep ,Recovery and increasing Testosterone levels-Especially for Vegetarians) ZMA (ON):- http://amzn.to/2vM5Zx3 ZMA(Now foods):- http://amzn.to/2jcW95r
Natural Peanut butter(1kg) http://amzn.to/2nLHyjm Natural Peanut Butter (350gm) http://amzn.to/2osBSYw
PROTEIN BARS Various flavors:- http://amzn.to/2eN2Rdu Zero Sugar protein bar:- http://amzn.to/2eN1Yl6 Protein bar:- http://amzn.to/2eNFyAf
#Uttarakhand #Nainital #Vlog


This is the recommended sitefile snippet to enable the mode that will
generate a printerfriendly sister page for all pages also
generated by the mksite.sh
script from "*.htm" to "*.html".
In this case it is actually generated from "*.htm" to "*.print.html".
The stem extension for the sister pages can be set via the magic setting
of course - the default is ".print" which is the same as choosing it
explicitly with...

The actual inner mechanics will create a sister sitefile for the printerfriendly mode with the stem extension - if your sitefile was named "site.htm" (the default) then the printersitefile would be named "site.print.htm" (as per defaults). This printersitefile contains definitions for horizontal navigation bars created out of the information for the access tree as given in the original sitefile. Those horizontal bars reflect the sect/subsect relations in a way most usable form for very small screen sizes or even text mode browsers.
textmode-example.print.html
|
Each line of the navigation block represents another level of the sect/subsect relation. To left of each line a little square (for an empty ) is shown. You can hover the mouse over these squares to get a "title=" popup as follows:
Hence in the example "[text mode version]" has the href to the page currently viewed. That pages is categorized in the section "[ features ]" and it has two extension pages "WAI" and "SubSects" that can be jumped to. After the navigation block follows the page text.
For the page text to work, we have cleared out the complete er from the original sitefile. There were only a few lines grepped out and taken over:
The meta tags are automatically overwritten with a value as "isFormatOf" pointing to the graphical represenation made from the original sitefile. No provisions have yet been made to take over any "@print" css properties - therefore the page main content will be shown in the default browser style which we expect to be generally best for the device that the browser was created for - that may as well include a text mode browser like lynx, a graphical browser for a small screen like a PDA (personal digital assistant), a small screen text mode browser as for some mobile phones, or a special layout style for "visually impaired" possibly bound to a text-to-speach reader representation the page in a linear textual fashion.


Dr. Ganesh Bagler delivered a TEDx talk at TEDxDAIICT. He shared his idea for "Leveraging food for better health through data-driven approaches", emerging out of his lab's discovery of contrasting food pairing in the Indian cuisine. The idea is also composed as a blog
Pratik Narang, Biplab Sikdar, "Anomaly Detection in Diurnal CPS Monitoring Data Using a Local Density Approach", The International Workshop on Hot Topics in Practical Networked Systems (co-located with the 24th IEEE ICNP 2016), (pp. 1-5), Singapore, November 2016.
Chittaranjan Hota, Pratik Narang, Jagan Mohan Reddy, "Unwanted Traffic Identification in Large-scale University Networks: A Case Study", Big Data Analytics, pp. 163-187. Springer India, 2016.
Arpit Bhardwaj, Aruna Tiwari, M. Vishaal Varma, M. Ramesh Krishna Bhardwaj, "A novel genetic programming approach for epileptic seizure detection", Computer Methods and Programs in Biomedicine, Volume 124, pp 2-18 (2016). For more details, Click here
Economic Times Coverage of Bennett University's MOU with Dell-EMC: to set up a joint research lab on data analytics and machine learning on 24th May, May, 2K17. Click Here!
Copyright © 2017. Bennett University, Greater Noida


Complete Diagnosis of the vehicle's paintjob, paint condition, interior Leather, Vinyl, Plastic, engine bay, rims, tires, trunk to suggest the package which will ensure best value for money.
Idendify the paint depth, scratches, swirl marks, fading, water spots, burn spots to decide which method, tool and product should be used. The goal is to maximine results while minimizing damage.
Create a protective later over the vehicle's exterior and exterior surface which can provide primary protection against ware and tear. It might be Ceramic Caoting, Nano Hydrophobic Crystal Coating or Premium Coating Film.
Provide Expert Maintainance Guidelines and Maintaince Services to protect the detailing job for extended periods of time. Some maintainance service also include minor touchups and restoration.


--- title: Mixer Adapter Model overview: Definitions used when creating Mixer templates location: https://istio.io/docs/reference/config/mixer/istio.mixer.adapter.model.v1beta1.html layout: protoc-gen-docs number_of_entries: 8 ---
This package defines the types that are used when creating Mixer templates. ValueType
defined in this pacakge
is also used by adapters to know the underlying datatype of the instance fields.
DNSName is used inside templates for fields that are of ValueType “DNS_NAME”
Duration is used inside templates for fields that are of ValueType “DURATION”
EmailAddress is used inside templates for fields that are of ValueType “EMAIL_ADDRESS” DO NOT USE !! Under Development
IPAddress is used inside templates for fields that are of ValueType “IP_ADDRESS”
The available varieties of templates, controlling the semantics of what an adapter does with each instance.
| Name | Description |
|---|---|
TEMPLATE_VARIETY_CHECK |
Makes the template applicable for Mixer’s check calls. |
TEMPLATE_VARIETY_REPORT |
Makes the template applicable for Mixer’s report calls. |
TEMPLATE_VARIETY_QUOTA |
Makes the template applicable for Mixer’s quota calls. |
TEMPLATE_VARIETY_ATTRIBUTE_GENERATOR |
Makes the template applicable for Mixer’s quota calls. |
TimeStamp is used inside templates for fields that are of ValueType “TIMESTAMP”
Uri is used inside templates for fields that are of ValueType “URI” DO NOT USE ! Under Development
Value is used inside templates for fields that have dynamic types. The actual datatype of the field depends on the datatype of the expression used in the operator configuration.


Git command line basics
In this post are listes the very few basic git commands with a brief description.
I suggest the reading of the beautiful free e-book written by Scott Chacon and Ben Straub available here. It’s very well written, very clear, with a lot of examples. This post contains only the syntax of few commands you can find in the book more in-depth.
You can also improve your knowledge of command usage looking at the man help:
git <command-name> --help
Where command-name
is the Git command you want to know deeply.
BASICS
Adding/removing files to/from the staging area
You can add your modified files to the stage (index) using:
git add <filename>
or, to add every modified file:
git add *
To remove a file you have added to the staging area, you can do a rm in 2 ways:
git rm --cache<filename>
will remove the file to the staging area, but it remains on your working directory (it’s not removed from your disk), while
git rm <filename>
removes the file also from the disk other then the staging area.
Check the state
To check what’s the state of each file, run:
git status
Commit
Now your new/modified files are on the stage. If you want to store these files into the repository, you have to commit the changes using
git commit -m "commit message"
You can also commit writing more complex messages using the default git editor. To do that, just do a
git commit
The default git editor will appear. Type the message, save and exit to execute the commit. To change the default git editor just do:
git config --global core.editor YOUR_EDITOR_NAME_HERE
replacing YOUR_EDITOR_NAME_HERE with emacs, vim, nano or what you want.
Now, if you want to view the history of your commits, do a:
git log [--options]
Some options are:
- -p which introduces the differences between each commit
- –graph to see an ASCII graph of branches and merges
- –stat to see some abbreviated stats for each commit
- –shortstat to se an abbreviation of stat command
TAG
You can tag a version in 2 ways: annotated or lightweight.
ANNOTATED tags are stored in the Git database adding some informations. It’s recommended to use this type of tag to store more information.
git tag -a TAG [-m TAG_MESSAGE]
# e.g. git tag -a v1.2 -m "some text here"
replacing TAG with your tag (eg v1.2) without quotes or double quotes TAG_MESSAGE, instead, is a text message between double quotes “…”.
LIGHTWEIGHT tag are just a sort of pointer to a branch.
git tag TAG-lw
# for example, git tag v1.2-lw
You can also tag later (a past branch). In this case the syntax is the following:
git tag -a TAG COMMIT_HASH
where COMMIT_HASH is the checksum (or a part of it) of the branch to tag.
To view all tags (or a few using the search pattern):
git tag -l [pattern]
BRANCH
Create branch and checkout
To create a new branch:
git branch NewBranchName
After the creation of the new branch, we are still on the “old” branch, so we switch on the new with:
git checkout NewBranchName
There is also a shortucut to create a new branch and immediately move into it. We do that typing:
git checkout -b NewBranchName
where the -b option lets the checkout command to create the branch to switch on.
List
To view the list of all branches, add the -l option as usual.
git branch -l
There are also two useful options, --merged
and ‘–no-merged`, that filter the list of branch to only those who are already merged or not into your current branch.
git branch --merged
git branch --no-merged
Merge
First, checkout to the branch A in which you want to merge the other branch B. Doing this, the modifications in file B are merged in branch A (B->A).
git checkout MainBranchName
git merge NewBranchName
Delete
After the merge operation, you maybe want to delete the branche merged. You can do this with command:
git branch -d NewBranchName
To force the deletion of a branch despite there are changes not merged, use the -D option (uppercase):
git branch -D NewBranchName
STASH
Sometimes it happens that you’re working on a branch, you have uncommitted files you don’t want to commit because the work is not already completed. This makes impossibile to change branch. To remedy this problem, you can use stash. Stash takes the uncommitted files on your working directory and stores them into a stash list.
Stashing
To insert the uncommitted files into the stash list, run:
git stash
Now running a git status you can see that the working directory is clean. This means that you can switch to another branch and do the work.
List
To view the stash list, run:
git stash list
Apply stash
After you have switched to another branch and completed the work, you maybe want to switch back to the previous branch and resume the work you were doing before.
In this case you need to retrieve the stashed files and apply them to those on the current branch. To do it, print the stash list and run:
git stash apply <stash-id>
e.g. git stash apply stash@{0}
Drop stash
If you have successfully applied the stash, it remains into the stash list. If you have not applied the stash, maybe you don’t need no more those stashed files.
It both cases it’s a good thing to delete those files. Do delete a stash, run:
git stash drop <stash-id>
e.g. git stash drop stash@{0}
REMOTES
Push
After the commits, you probably want to update the remote repository with your new changes.
To upload the changes to the “master” branch on the “origin” repository:
git push origin master
Fetch
To get all the data from a remote repository that you haven’t on local, you can do a fetch instruction. It’s important to note that Fetch instruction doesn’t merge nothing and doesn’t modify nothing you’re working on, only downloads the data you haven’r yet.
git fetch remoteName
Pull
The Pull command is similar to Fetch, but it merges the remote data with the local data of the branch you’re currently working on. Pull fetches and merges data only for the current branch you’re on, it doesn’t afflict the other branches.
Note that your branch must be set up to track a remote branch to run the Pull command. By default the Clone command sets up only the master branch
git pull
If there is no tracking information for the current branch you are on, you have to specify which branch you want to merge with. You can do it adding the remote and branch names.
git pull <remote> <branch>>
Delete
To delete a remote branch, you can do in 2 ways:
- from Git 1.5:
git push origin :remoteBranchName
from Git 1.7:
git push origin --delete remoteBranchName
Difference local/remote branches
To view the differences between a local branch and the corresponding remote branch, you have first do execute a Fetch instruction, then Diff:
git diff localBranchName remoteName/remotBranchName
Managing remotes
You can add a remote repository other than the “origin” just doing:
git remote add -f remoteName URLofRepo
#e.g. git remote add github_remote https://github.com/MarcoMengoli/MorseCodeEmitter_RPi_Py
-f
is to fetch the remote branches
Now you can do a push/fetch to/from this repository.
Common use case: you create a project in a directory and initialize a Git repository here with git init
. Now you create a remote repository on you favorite Git server. How to merge these two repositories? Simply doing a git remote add -f origin remote_repo_url
.
To view the list of your remotes:
git remote -v
To inspect the content of a remote, knowing the branch available on the remote and local branch configured for pull or push, do:
git remote show remoteName
#e.g. git remote show origin
To remove a remote:
git remote rm remoteName
To rename a remote:
git remote rename oldRemoteName newRemoteName
GIT CONFIG
Show current settings
To view all your current Git settings, run:
git config --list
To view a specific setting, run:
git config <setting-name>
e.g. git config user.name
Git credential cache
Sometimes it happens you have to enter your Git credentials frequently. It can become a boring thing.
The credential cache can give you a help. You can impose a timeout time in which you credentials remain memorized into the system. You can do it running:
git config credential.helper 'cache --timeout=nsecs'
where nsecs is the timeout value in seconds.
User name and email
It’s important to set user information like name and email address because Git uses these informations on storing commits, and those commits are immutable.
To set user name and email address run:
git config --global user.name "Your name"
git config --global user.email<EMAIL_ADDRESS>Text editor
One useful thing you can set is the text editor that Git will offer you to type a message. Git uses your current system’s editor. To chose a different one run:
git config --global core.editor <editor-name>
Alias
An alias in git is… an alias: you can map a git command with a name, so you have not to enter the (maybe) long command string but only git aliasName
.
To add an alias to Git, you have to do the following:
git config --global alias.AliasName "your git command here"
#example: git config --global alias.BranchTree "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all"
Let’s look at the example: we have not to write this very long git log ...
command, but only git BranchTree
.
Aliases to print the branches tree I recommend to add
I recommend to add the aliases you can find on Slipp D. Thompson’s answer on StackOverflow.
To add them, just do:
git config --global alias.branchtree1 "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all"
git config --global alias.branchtree2 "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all"
git config --global alias.branchtree3 "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset) %C(bold cyan)(committed: %cD)%C(reset) %C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset)%n'' %C(dim white)- %an <%ae> %C(reset) %C(dim white)(committer: %cn <%ce>)%C(reset)' --all"
After you have done that, you can simply call these Git commands in the same way of another built-in Git command:
git branchtree1
git branchtree2
git branchtree3


Sounds........................................................................................................................................................................... 1
Sounds Contents................................................................................................................................................. 1
Sounds........................................................................................................................................................................ 2
DefineSound........................................................................................................................................................... 2
Sound Styles.......................................................................................................................................................... 3
Sound Envelope..................................................................................................................................................... 4
StartSound.............................................................................................................................................................. 4
ADPCM Compression.......................................................................................................................................... 5
ADPCM Sound Data............................................................................................................................................. 5
ADPCM Packets................................................................................................................................................... 6
ADPCM Code Data.............................................................................................................................................. 6
MP3 Compression................................................................................................................................................. 7
MP3 Sound Data................................................................................................................................................... 7
MP3 Frame............................................................................................................................................................ 8
Streaming Sound..................................................................................................................................................... 9
SoundStreamHead................................................................................................................................................ 10
SoundStreamHead2.............................................................................................................................................. 11
SoundStreamBlock............................................................................................................................................... 12
Macromedia Flash File Format (SWF) SDK
Examples................................................................. 12
The Macromedia Flash (SWF) file format defines a small and efficient sound model. Macromedia Flash (SWF) supports sample rates of 5.5, 11, 22 and 44 kHz in both stereo and mono. It is assumed that the playback platform can support rate conversion and multi-channel mixing of these sounds. The number of simultaneous channels supported depends on the CPU of specific platforms, but is typically three to eight channels.
There are two types of sounds in Macromedia Flash (SWF):
1.
Event Sounds.
2.
Streaming Sounds.
Event sounds are played in response to some event such as a mouse-click, or when the player reaches a certain frame. Event sounds must be defined (downloaded) before they are used. They can be reused and mixed at runtime. Event sounds may also have a sound ‘style’ that modifies how the basic sound is played. Sound styles include looping, fades and level control. For more sophisticated control, there is a sound ‘envelope’, a simple transform that can generate various types of fades and level control, such as fade-in, fade-out and cross-fade.
Streaming sounds are downloaded and played in tight synchronization with the timeline. In this mode, sound packets are stored with each frame. If a CPU cannot render the frames of a movie as quickly as specified by the frame rate of the movie, the player slows down the animation rate instead of skipping frames. When streaming sound is present, the player skips frames in order to maintain tight synchronization with the sound track.
Note: A timeline can only have a single streaming sound playing at a time, but each movie clip, or sprite, can have it's own streaming sound.
There are three tags required to play an event sound:
1. The DefineSound tag defines the audio samples that make up an “event” sound. It also includes the sampling rate, sample size, and a stereo/mono flag.
2. The SOUNDINFO record defines the ‘styles’ that are applied to the event sound. Styles include fade-in, fade-out, synchronization and looping flags, and envelope control.
3. The StartSound tag instructs the player to begin playing the sound.
The DefineSound tag defines an event sound. It includes the sampling rate, size of each sample (8 or 16 bit), a stereo/mono flag, and an array of audio samples. The audio data may be stored in three ways:
1. As uncompressed raw samples.
2. Compressed using a modified ADPCM algorithm
3. Compressed using MP3 compression.
(See class FDTDefineSound in the Macromedia Flash File Format (SWF) SDK)
|
Define Sound |
||
|
Field |
Type |
Comment |
|
Header |
RECORDHEADER |
Tag ID = 14 |
|
SoundId |
UI16 |
ID for this character |
|
SoundFormat |
UB[4] 2 = sndCompressMP3 |
Format of SoundData |
|
SoundRate |
UB[2] |
The sampling rate |
|
SoundSize |
UB[1] |
Size of each sample |
|
SoundType |
UB[1] |
Mono or stereo sound |
|
SoundSampleCount |
UI32 |
Number of samples. |
|
SoundData |
UI8[size of sound data] |
The sound data – may be
uncompressed, ADPCM or MP3 |
Notes:
· The SoundId field uniquely identifies the sound so it can be played by StartSound.
The contents of SoundData vary depending on the value of the SoundFormat field in the SoundStreamHead tag:
· if SoundFormat is 0, SoundData contains raw, uncompressed samples.
· if SoundFormat is 1, SoundData contains an ADPCMSOUNDDATA record.
· If SoundFormat is 2, SoundData contains an MP3SOUNDDATA record.
The SOUNDINFO record modifies how an event sound is played. An event sound is defined with the DefineSound tag. Sound characteristics that can be modified include:
· Whether the sound loops (repeats) and how many times it loops.
· Simple fade in and fade out controls.
· A sound ‘envelope’ for more sophisticated control over levels.
(See class FSoundInfo in the Macromedia Flash File Format (SWF) SDK)
|
SOUNDINFO |
||
|
Field |
Type |
Comment |
|
SyncFlags |
UB[4] |
Sync flags Don't start the sound if
already playing. |
|
HasEnvelope |
HasEnvelope = UB[1] |
Has envelope information if
equal to 1 |
|
HasLoops |
HasLoops = UB[1] |
Has loop information if
equal to 1 |
|
HasOutPoint |
HasOutPoint = UB[1] |
Has out point information
if equal to 1 |
|
HasInPoint |
HasInPoint = UB[1] |
Has in point information if
equal to 1 |
|
InPoint |
if hasInPoint UI32 |
Sound in point value |
|
OutPoint |
if hasOutPoint UI32 |
Sound out point value |
|
LoopCount |
if hasLoops UI16 |
Sound loop count |
|
EnvelopeNumPoint |
if hasEnvelope nPoints =
UI8 |
Sound Envelope point count |
|
EnvelopeRecords |
if hasEnvelope SOUNDENVELOPE[nPoints] |
Sound Envelope records |
(See class FSndEnv in the
Macromedia Flash File Format (SWF) SDK)
|
SOUNDENVELOPE |
||
|
Field |
Type |
Comment |
|
Mark44 |
UI32 |
Mark44 information |
|
Level0 |
UI16 |
Level 0 information |
|
Level1 |
UI16 |
Level 1 information |
StartSound is a control tag that either starts (or stops) playing a sound defined by DefineSound. The SoundId field identifies which sound is to be played. The SOUNDINFO field defines how the sound is played. You can stop the sound playing by setting the synchStop flag in the SOUNDINFO record.
(See class FCTStartSound in the Macromedia Flash File Format (SWF) SDK)
|
StartSound |
||
|
Field |
Type |
Comment |
|
Header |
RECORDHEADER |
Tag ID = 15 |
|
SoundId |
UI16 |
ID of sound character to
play |
|
SOUNDINFO |
Sound style information |
ADPCM (Adaptive Differential Pulse Code Modulation) is a family of audio compression and decompression algorithms. It is a simple but efficient compression scheme that avoids any licensing or patent issues that arise with more sophisticated sound compression schemes, and helps to keep player implementations small.
ADPCM uses a modified Differential Pulse Code Modulation (DPCM) sampling technique where the encoding of a each sample is derived by calculating a 'difference' (DPCM) value, and applying to this a complex formula which includes the previous quantization value. The result is a compressed code, which can recreate almost the same subjective audio quality.
A common implementation takes 16-bit linear PCM samples and converts them to 4-bit codes, yielding a compression rate of 4:1. Public domain C code written by Jack Jansen is available at ftp.cwi.nl/pub/audio/adpcm.zip.
SWF extends Jansen’s implementation to support 2, 3, 4 and 5 bit ADPCM codes. When choosing a code size, there is the usual tradeoff between file-size and audio quality.
C++ source code to encode ADPCM sound data is available in the Macromedia Flash File Format (SWF) SDK.
(See class FDTDefineSoundADPCM in the Macromedia Flash File Format (SWF) SDK)
The ADPCMSOUNDATA record defines the size of the ADPCM codes used, and an array of ADPCMPACKETs which contain the ADPCM data.
|
ADPCMSOUNDDATA |
||
|
Field |
Type |
Comment |
|
AdpcmCodeSize |
UB[2] 0 = 2 bits/sample 1 = 3 bits/sample 2 = 4 bits/sample 3 = 5 bits/sample |
Bits per ADPCM code less
2. The actual size of each code is
AdpcmCodeSize + 2. |
|
AdpcmPackets |
ADPCMPACKET[one or more] |
Array of ADPCMPACKETs |
ADPCMPACKETs vary in structure depending on whether the sound is mono or stereo, 8-bit or 16-bit. A stereo sound with 16-bit samples is arranged as follows:
|
ADPCMPACKET16STEREO |
||
|
Field |
Type |
Comment |
|
InitialSampleLeft |
UI16 |
First sample for left
channel. Identical to first sample in
uncompressed sound. |
|
InitialIndexLeft |
UB[6] |
Initial index into the ADPCM
StepSizeTable* for left channel |
|
InitialSampleRight |
UI16 |
First sample for right
channel. Identical to first sample in uncompressed sound. |
|
InitialIndexRight |
UB[6] |
Initial index into the
ADPCM StepSizeTable* for right channel |
|
AdpcmCodeData |
UB[8192 * (AdpcmCodeSize+2)] |
4096 ADPCM codes per channel – total 8192. Each sample is (AdpcmCodeSize + 2)
bits. Channel data is interleaved
left, then right. |
* Refer to the ADPCM (adpcm.zip) source code for an explanation of StepSizeTable.
If nBits = AdpcmCodeSize + 2, then AdpcmCodeData is
arranged as follows:
|
ADPCMCODEDATA |
||
|
Field |
Type |
Comment |
|
LeftAdpcmCode1 |
UB[nBits] |
Corresponds to 2nd
sample in uncompressed sound |
|
RightAdpcmCode1 |
UB[nBits] |
Corresponds to 2nd
sample in uncompressed sound |
|
LeftAdpcmCode2 |
UB[nBits] |
Corresponds to 3rd sample
in uncompressed sound |
|
RightAdpcmCode2 |
UB[nBits] |
Corresponds to 3rd sample
in uncompressed sound |
|
… |
… |
… |
|
… |
… |
… |
|
LeftAdpcmCode4096 |
UB[nBits] |
Corresponds to 4096th
sample in uncompressed sound |
|
RightAdpcmCode4096 |
UB[nBits] |
Corresponds to 4096th
sample in uncompressed sound |
MP3 is a sophisticated and complex audio compression algorithm. It produces superior audio quality, at better compression ratios than ADPCM. Generally speaking, “MP3” refers to MPEG1 Layer 3, however SWF supports later versions of MPEG (V2 and 2.5) that were designed to support lower bitrates.
A complete description of MP3 compression is beyond the scope of this document. For more information on MP3 see: http://www.mp3tech.org/ and http://www.iis.fhg.de/amm/techinf/layer3/index.html
The MP3SOUNDATA record contains a DelaySeek value, which tells the player when to play the sounds, represented by the MPEG audio frames that follow.
|
MP3SOUNDDATA |
||
|
Field |
Type |
Comment |
|
DelaySeek* |
UI16 |
Number of samples to seek
forward or delay. |
|
Mp3Frames |
MP3FRAME[zero or more] |
Array of MP3 Frames |
* The DelaySeek field has the following meaning:
· If this value is positive, the player seeks this number of samples into the sound block before the sound is played. However, the seek is only performed if the player reached the current frame via a GotoFrame action, otherwise no seek is performed.
· If this value is negative the player plays this number of silent samples before playing the sound block. The player behaves this way, regardless of how the current frame was reached.
DelaySeek is necessary because MP3 does not divide into an equal number of samples per each frame. The player needs to calculate what sounds belongs in what frame when a GotoFrame action is performed. The Macromedia Flash application stops exporting silent data after 0.5 seconds of silence, so the player needs to play some silence before sounds starts coming in at a later frame. This is the silence that would have been there had the Macromedia Flash application been exporting silence all along. (Note: only 0.5 seconds of silence is exported for MP3 compression)
The MP3FRAME record corresponds exactly to an MPEG audio frame that you would find in an MP3 music file. The first 32-bits of the frame contain header information, followed by an array of bytes which are the encoded audio samples. For more information on MPEG audio frames see: http://mp3tech.free.fr/programmers/frame_header.html
|
MP3FRAME |
||
|
Field |
Type |
Comment |
|
Delay |
UB[11] |
Frame sync. All bits must be set. |
|
MpegVersion |
UB[2] 0 = MPEG Version 2.5
1 = reserved 2 = MPEG Version 2 3 = MPEG Version 1 |
MPEG2.5 is an extension to MPEG2 which handles very low bitrates, allowing the use of lower sampling frequencies |
|
Layer |
UB[2] 0 = reserved |
Layer is always equal to 1
for MP3 headers in SWF files. The “3”
in MP3 refers to the Layer, not the MpegVersion. |
|
ProtectionBit |
UB[1] 0 = Protected by CRC 1 = Not protected |
If ProtectionBit == 0 a 16bit CRC follows the header |
|
Bitrate |
UB[4] Value MPEG1
MPEG2.x --------------------- 0
free free 1
32 8 2
40 16 3
48 24 4
56 32 5
64 40 6
80 48 7
96 56 8
112 64 9
128 80 10
160 96 11
192 112 12
224 128 13
256 144 14
320 160 15 bad bad |
Bitrates are in thousands of bits per second. For example, 128 means 128000 bps. |
|
SamplingRate |
UB[2] Value MPEG1
MPEG2 MPEG2.5 ------------------------- 0
44100 22050 11025 1
48000 24000 12000 2
32000 16000 8000 3
--
-- -- |
Sampling rate in Hz. |
|
PaddingBit |
UB[1] 0 = frame is not padded |
Padding is used to exactly fit the bitrate |
|
Reserved |
UB[1] |
|
|
ChannelMode |
UB[2] 0 = Stereo |
Dual channel files are made of two independent mono channels. Each one uses exactly half the bitrate of the file |
|
ModeExtension |
UB[2] |
|
|
Copyright |
UB[1] 0 = Audio is not copyrighted |
|
|
Original |
UB[1] 0 = Copy of original media |
|
|
Emphasis |
UB[2] 0 = none |
|
|
SampleData |
UB[size of sample data*] |
The encoded audio samples. |
* The size of the sample data is calculated like this (using integer arithmetic):
Size = (((MpegVersion == MPEG1 ? 144 : 72) * Bitrate) / SamplingRate) + PaddingBit - 4
For example: The size of the sample data for an MPEG1frame with a Bitrate of 128000, a SamplingRate of 44100, and PaddingBit of 1 is:
Size = (144 * 128000) / 44100 + 1 – 4
= 414 bytes
SWF supports a streaming sound mode where sound data is played and downloaded in tight synchronization with the timeline. In this mode, sound packets are stored with each frame. If a CPU cannot render the frames of a movie as quickly as specified by the frame rate of the movie, the player slows down the animation rate instead of skipping frames. When streaming sound is present, the player skips frames in order to maintain tight synchronization with the sound track.
Note: A timeline can only have a single streaming sound playing at a time, but each movie clip (or sprite) can have it's own streaming sound.
If a timeline contains streaming sound data, there must be a SoundStreamHead (or SoundStreamHead2) tag before the first sound data block (see SoundStreamBlock). The SoundStreamHead tag defines the data format of the sound data, the recommended playback format, and the average number of samples per SoundStreamBlock.
(See class FDTSoundStreamHead in the Macromedia Flash File Format (SWF) SDK)
|
SoundStreamHead |
||
|
Field |
Type |
Comment |
|
Header |
RECORDHEADER |
Tag ID = 18 |
|
Reserved |
UB[4] = 0 |
Always zero |
|
PlaybackSoundRate |
UB[2] = 0 |
Playback sampling rate. |
|
PlaybackSoundSize |
UB[1] = 1 0 = 8-bit 1 = 16-bit |
Playback sample size. |
|
PlaybackSoundType |
UB[1] |
Number of playback
channels; mono or stereo. |
|
StreamSoundCompression |
UB[4] = 1 0 = Uncompressed 1 = Compressed ADPCM 2 = Compressed MP3 |
Always 1 (ADPCM) |
|
StreamSoundRate |
UB[2] = 0 |
The sampling rate of the
streaming sound data. Always zero? |
|
StreamSoundSize |
UB[1] = 1 0 = 8-bit 1 = 16-bit |
The sample size of the
streaming sound data. Always 16 bit |
|
StreamSoundType |
UB[1] |
Number of channels in the
streaming sound data |
|
StreamSoundSampleCount |
UI16 |
Average number of samples
in each SoundStreamBlock |
Notes:
· The PlaybackSound* fields define how the player should play (mix) the streaming sound.
· The StreamSound* fields define the structure of the sound data in the StreamSoundBlocks.
The SoundStreamHead2 tag is identical to the SoundStreamHead tag, apart from allowing different values for StreamSoundCompression and StreamSoundSize.
(See class FDTSoundStreamHead2 in the Macromedia Flash File Format (SWF) SDK)
|
SoundStreamHead2 |
||
|
Field |
Type |
Comment |
|
Header |
RECORDHEADER |
Tag ID = 45 |
|
Reserved |
UB[4] = 0 |
Always zero |
|
PlaybackSoundRate |
UB[2] |
Playback sampling rate. |
|
PlaybackSoundSize |
UB[1] 0 = 8-bit 1 = 16-bit |
Playback sample size. |
|
PlaybackSoundType |
UB[1] |
Number of playback
channels; mono or stereo. |
|
StreamSoundCompression |
UB[4] 0 = Uncompressed 1 = Compressed ADPCM 2 = Compressed MP3 |
|
|
StreamSoundRate |
UB[2] |
The sampling rate of the
streaming sound data. |
|
StreamSoundSize |
UB[1] 0 = 8-bit 1 = 16-bit |
The sample size of the
streaming sound data. If
StreamSoundCompression = 0, 8 or 16 bit, otherwise always 16 bit |
|
StreamSoundType |
UB[1] |
Number of channels in the
streaming sound data |
|
StreamSoundSampleCount |
UI16 |
Average number of samples
in each SoundStreamBlock |
The SoundStreamBlock tag defines sound data that is interleaved with frame data so that sounds can be played as the movie is streamed over a network connection. The SoundStreamBlock tag must be preceded by a SoundStreamHead (or SoundStreamHead2) tag.
(See class FDTSoundStreamBlock in the Macromedia Flash File Format (SWF) SDK)
|
SoundStreamBlock |
||
|
Field |
Type |
Comment |
|
Header |
RECORDHEADER |
Tag ID = 19 |
|
StreamSoundData* |
UI8[size of compressed
data] |
Compressed sound data |
The contents of StreamSoundData vary depending on the value of the StreamSoundCompression field in the SoundStreamHead tag:
· If StreamSoundCompression is 0, StreamSoundData contains raw, uncompressed samples.
· if StreamSoundCompression is 1, StreamSoundData contains an ADPCMSOUNDDATA record.
· if StreamSoundCompression is 2, StreamSoundData contains an MP3STREAMSOUNDDATA record.
|
Field |
Type |
Comment |
|
SampleCount |
UI16 |
Number of samples
represented by this block. |
|
Mp3SoundData |
MP3 Frames with Delay/Seek.
|
The Macromedia Flash File Format (SWF) SDK contains C++ examples that demonstrate how to create sounds in Macromedia Flash (SWF):
· FExampleSound.cpp uses the low-level manager to read a .wav file and write it to the Macromedia Flash (SWF) file as and ADPCM compressed sound. The class FDTDefineSoundWav reads the .wav file, and compresses it using 2, 3, 4 or 5-bit ADPCM compression.
· HFExampleSound.cpp uses the high-level manager to create two sounds. The first is created from a .wav file. The second is created from an array of sample data using the HFSound class. Both sounds are compressed with ADPCM compression.


Home
About Us
Blog
Contact Us
1-800-555-1234
123 Main Street, Springfield, IL 12345
Home
About Us
Blog
Contact Us


SP_set_user_stream_post_hook()
[preinit]#include <sicstus/sicstus.h> typedef SP_stream * SP_UserStreamPostHook(void *user_data, int which, SP_stream *str); SP_UserStreamPostHook * SP_set_user_stream_post_hook(SP_UserStreamPostHook *hook, void *user_data);
Sets the user-stream post-hook to hook
.
Must be called before SP_initialize()
.
void user_stream_post_hook(void *user_data, int which, SP_stream *str)
where user_data
is the value passed to SP_set_user_stream_post_hook
and
where str
is a pointer to the corresponding SP_stream
structure. There are no requirements as to what this hook must do;
the default behavior is to do nothing at all.
The post-hook is intended to be used to do things that may require
that all streams have been created.
hook
.


Introduction
Home automation refers to the controlling or managing of home appliances by local networking or by remote control. Home automation is a system that enables you to control your home�s appliances more conveniently. It can be a simple system such as remote or automatic control of a few lights, or it can be a complex system that that can control all major appliances of your home. Home automation system can give you remote or automatic control of home appliances. Home automation systems are becoming famous due to their control and managing. Our project will demonstrate one of the simple home automation system using GSM Communication.
The aim of our project is to build an automation system for home so that we can control our home appliances via our cell phones. We are using GSM for communication so that we should not be restricted to short range of our automation system.
This automation system will be controlled through GSM communication. The use of wireless communication is increasing day by day. This has motivated us to use mobile phones to remotely control household appliances and to receive a feedback SMS. In this project we are building a remote appliance control system which can control different household appliances by sending a SMS from a mobile phone. This controller is extremely handy at places
where we have to control the ON and OFF switching of the devices as no wired connection is required between the switch and the home appliances as it can be controlled from any place in this world. The microcontroller would then control the home appliances based on the information given to it and send a feedback. It also uses temperature and humidity sensors to analyze the enviroment conditions. The enviromental condition can help us for controlling various appliances. The proposed solution is easy to use, simple and secure.
Team Members:
- Asad Majeed (BE-IV CSE)
- Shafqatullah (BE-IV EE)
High Level Design
- ATMega328p Micro-controller: The ATmega328 is a single-chip microcontroller created by Atmel.
It has a modified Harvard architecture 8-bit RISC processor core. The Atmel 8-bit AVR RISC-based microcontroller combines 32 KB ISP flash memory with read-while-write capabilities, 1 KB EEPROM, 2 KB SRAM, 23 general purpose I/O lines, 32 general purpose working registers, three flexible timer/counters with compare modes, internal and external interrupts, serial programmable USART, a byte-oriented 2-wire serial interface and SPI serial port. The device operates between 1.8-5.5 volts. The device achieves throughput approaching 1 MIPS per MHz.
- GSM-Module SIM900: The SIM900 shield packs a surprising amount of features into its little frame. Some of them are listed below:
- Supports Quad-band: GSM850, EGSM900, DCS1800 and PCS1900
- Connect onto any global GSM network with any 2G SIM
- Make and receive voice calls using an external earphone & electret microphone
- Send and receive SMS messages
- Send and receive GPRS data (TCP/IP, HTTP, etc.)
- Scan and receive FM radio broadcasts
- Transmit Power:
- Class 4 (2W) for GSM850
- Class 1 (1W) for DCS1800
- Serial-based AT Command Set
- Accepts Full-size SIM Card
- Relay module: A 5V 4-channel relay interface board, and each channel needs a 15-20mA driver current. It can be used to control various appliances and equipment with large current. It is equiped with high-current relays that work under AC250V 10A or DC30V 10A.
It has a standard interface that can be controlled directly by microcontroller.
- Humidity and temperature sensor:The DHT22 is a basic, low-cost digital temperature and humidity sensor. It uses a capacitive humidity sensor and a thermistor to measure the surrounding air, and spits out a digital signal on the data pin (no analog input pins needed). It's fairly simple to use. It has following features:
- Low cost
- 3 to 5V power and I/O
- 2.5mA max current use during conversion (while requesting data)
- Good for 0-100% humidity readings with 2-5% accuracy
- Good for -40 to 80�C temperature readings �0.5�C accuracy
- No more than 0.5 Hz sampling rate (once every 2 seconds)
- Nokia 5110LCD:The Nokia 5110 is a basic graphic LCD screen for lots of applications. It was originally intended to be used as a cell phone screen. This one is mounted on an easy to solder PCB. It uses the PCD8544 controller, which is the same used in the Nokia 3310 LCD.
The PCD8544 is a low power CMOS LCD controller/driver, designed to drive a graphic display of 48 rows and 84 columns.
All necessary functions for the display are provided in a single chip, including on-chip generation of LCD supply and bias voltages, resulting in a minimum of external components and low power consumption. The PCD8544 interfaces to microcontrollers through a serial bus interface.
Deligation of Tasks
Intellectual Properties and Ethical Considerations
When we were assigned this project, we searched on the internet for this project. There were many resources on the internet that were available, but we have to first interfaces different components so we searched for their interfacing. "LastMinuteEngineers" website was very helpful for providing information about interfacing SIM900. For interfacing DHT22 and Nokia5110LCD "Arduino"s website was very helpful. There were present many toturials about this stuff. For interfacing Relay Modules with "Mywikis" provid some essential information. For "GSM BASED HOME Automation" Project "alselectro wordpress" toturial was very helpful. From the above mentioned sites there were many useful codes and libraries were available. I have also included their links in the References. I have devoted this project for the open-source community. We are making the project files resource files freely available.Commercialization Aspects
GSM is a widely available service in urban and rural areas, it can help monitor and control electrical equipment and plants from remote location. Although such devices are commercially available but we assess that costum products tailored for domestic market may find market. For future, We have decided to improve this model. Improvement will decrease the cost and improve its efficiency and will add some new features, so that we could sell product in the market.System Design
The design process has several layers to it. Electrical Design, Software Design, User Interface and Final Hardware Assembly. The next sections we describe our Design activities.Electrical Circuit
To design our PCB for microcontroller ATMega328p we used EAGLE. In eagle schematic we used two 8 pin connectors that is connected to digital pins 7 and 8 of ATMega328p for GSM Module. A 6 pin connector is also used for connecting GSM Module ground to microcontroller's ground. We used a 8 pin connector that is connected to digital pins 2,3,4,5,6 and 5V,Ground of microcontroller for Nokia 5110 LCD. We used a 6 pin connector that is connected to digital pins 9,10,11,12 and 5V,Ground of microcontroller for 4 Channrelay Module. We used a 3 pin connector that is connected to digital pin 13 and 5V,Ground of microcontroller for DHT22 sensor. We used a 6 pin connector for FTDI that is connected to UART PINS(0,1),RST,5V and GND. We used a 3x2 connector for ISP header. It is connected to 5V,GND,D11,D12,D13 and RST pins of microcontroller. We used a 2 pin connector to power up the board by connecting a 5V voltage source. Another 2 pin connector is used to for power up the board by a 7.4V battery so it is connected to a voltage regulator. For testing purpose we also conneted a LED on D13 and for power checking a power LED is also connected to 5V and GND. A reset button is connected to 5V,GND and RST.
PCB Layout
We selected packages for components that was available in our Lab. After a week of continous work we completed our PCB routing. We designed our pcb in large size so that GSM Module and RelayModule can be placed under it. We also routed connectors for the analog pins so that we can use it if we will need. With the help of our mentor we were able to design the following PCB layout.Design in EAGLE
Since we have finished the design process in EAGLE so now we have to print it. In FABLAB SIBAU we have "Roland SRM20" which is used to print PCBs.
We generated rml files for the machine from fabmodules.org and generated files were given to the machine to start printing the PCB. After 30 minutes our PCB was milled and ready to be soldered.
Milled PCB
We generated BOM files from EAGLE and gave it to our instructor Engr.Nadir Ali. He gave us the required components which are shown below.
BOM for PCB
Burning Bootloader
At first, we soldered only the components that were necessary for our microcontroller so that we can check our board. Then we connected the ISP header to ISP Programmer and from Arduino IDE we burned the bootloader into our micro-controller. It was working fine.
Then we soldered our board. We left analog header pins because we were not using them.
After Complete Soldering
Software Development
For our project we need to develop a complex code so that it can handle the all the components. So we divided our code into various functions. We used a function gsmStart so that it can give GSM-Module some necessary commands for starting. We used a function checkSMS so that it can check the received sms and decode it. We used a function readSensor so that it can read the value from sensor and print it on the screen. Here is the abstract flow chart of our program.Functional Circuit
Design of finished Product
To design the enclosure we decided to go for a 3D design. In our Lab we have "UltiMaker" which is a 3D printer.We used SOLIDWORKS to design our enclosure. After the hardwork of a week and with the help of intructor Engr.Azmat Hussain we were able to create following CAD Design:
The above given design is our 2nd design. Our first design was not accurate in measurement so we designed other box Our first design was:
Price of the Project
Given approx. bill of project in USD. You can buy the required components from your nearest store or can order online.
Given the list of components for the PCB:
Results
Conclusions
When we were assigned this project, we were having no knowledge about Embedded Systems. We searched about the project on the internet and found many projects similar to projects. Most of the projects were using SIM900 for GSM communication and Arduino as a microcontroller so we decided to use these components in our project. We decided that our project should be distinct from them, we added a temperature sensor and a proper response system so that it can give a user a proper response. We first decided to interface our required components. It took our alot of time just to interface SIM900 with Arduino. We first tried to send and receive SMS using SIM900 and Arduino. Our first received SMS from SIM900:
After sending and receiving SMS with SIM900 we decided to control a relay using sms. Our first working circuit design was:
After that we decided to interface a temperature sensor and a LCD with Arduino. But before that we have to choose a proper sensor and a LCD for our project. After searching on internet we found DHT22 sensor suitable for our project. To our luck it was also available in FABLAB. For LCD, first we decided use 16x2 LCD but since it was large in size and power requirement we decided to use another LCD. After searching on internet we found Nokia5110 LCD suitable for our project so we decided to use it. After getting the required components it took us a short time to interface them with Arduino as compared to SIM900. In the end we decided to build a microcontroller PCB in replacement for Arduino. Altough this journey was very hard but our hardwork learned us many essential skills in this course. During this journey we have learned about different microcontrollers and their architecture. We have learned how to program a microcontroller. We have learned how to interface different components with it. To sum up this discussion we would like to include the following points. During our project, We have learned:
- How to choose the components that are suitable to our needs.
- How to integrate components in a circuit.
- How to program a microcontroller to manage the components.
- How to use functions to manage our code efficiently.
- How to use interfacing protocols.
- How to use EAGLE to design a PCB.
- How to design an enclosure for a circuit using SOLIDWORKS.
- How to manage different components together in a complex circuit.
- How to troubleshoot. In the end a very helpful skill that we learned is project management.
Appendix
Eagle PCB Layout files
CAD Files
Code
References:
Sparkfun
Wikipedia
Interfacing SIM900
Interfacing Nokia 5110LCD and DHT22
Controlling relays using Arduino with SIM900


--- title: Daylilies Come...Daylilies Go date: 2016-07-18 00:00:00 -06:00 categories: - whats-blooming layout: post blog-banner: whats-blooming-now-summer.jpg post-date: July 18, 2016 post-time: 11:34 AM blog-image: wbn-default.jpg ---
Daylily Hemerocallis 'Dominic'
Daylily Hemerocallis 'Hot Lips'
Daylily Hemerocallis 'Gay Cravat'
Daylily Hemerocallis 'Lady Marmalade'
Daylily Hemerocallis 'Sudbury Bev'
If you visit the daylilies near the Water Pavilion, you are sure to spot some dragonflies.


{% extends "base.html" %} {% load staticfiles %} {% load jsonify %} {% load booking_extras %} {% block title %} Reserve movie | {{ site.name }} {% endblock %} {% block content %} {#{% include "includes/movie-search.html"%}#}
Book a ticket and have fun movie time


% if show_homepage_promo_video:
Watch video
% endif
<%include file="${courses_list}" />
##
##
##
##
##
##
% if show_homepage_promo_video:
% endif
% if show_signup_immediately is not UNDEFINED:
## NOTE: This won't work in production, because anonymous views are cached, so it will
## show either with or without this extra js for 3 minutes at a time.
% endif


The following discloses our information gathering and dissemination practices for MacRumors.com.
We use your IP address to help diagnose problems with our server and to administer our website - which includes hacks/spamming/abusing posts in which case you may be held liable. We may use log information in aggregate to gather and publish stats about our readers, but individually identifying information will not be revealed, unless under request of law enforcement agencies.
This site contains links to other sites. MacRumors.com is not responsible for the privacy practices or the content of such Web sites.
Advertisers displaying banner ads on this site may be placing and reading cookies on users' browsers, or using web beacons to collect information, in the course of ads being served on this site. You may choose to not accept these cookies by adjusting settings in your web browser.
We offer registration to our site in which we ask visitors for contact information. The customer's contact information is used to contact the visitor for opt-in notifications. Users will not be sent unsolicited email, may unsubscribe at any time, and their registration information will not be distributed or sold in any other fashion. The only exception to this is when under request of law enforcement agencies.
We allow you to prevent your true email address from being revealed online at our website.
Contacting the Web SiteIf you have any questions about this privacy statement, the practices of this site, oryour dealings with this Web site, you can contact
Arnold KimLinks on this site are processed by VigLink to automatically add referrals to outcoming store/vendor links. MacRumors.com, LLC may sometimes get paid if you click one of those links and purchase a product or service. In the case of our forums, any links or recommendations are being posted by our community and do not represent endorsements by this site. In the case of our news stories, we may offer direct links to stores and vendors for the convenience of our readers, but unless otherwise stated, do not necessarily represent endoresements to those products.


True Or False Color is a game inspired by the Stroop effect. You need to check if the name of the written color matches with the color displayed.
The Stroop effect is a demonstration of interference in the reaction time of a task. When the name of a color is printed in a color not denoted by the name, naming the color of the word takes longer and is more prone to errors than when the color of the ink matches the name of the color. The effect is named after John Ridley Stroop, who first published the effect in English in 1935 in an article entitled "Studies of interference in serial verbal reactions" that includes three different experiments.
Play and compare your scores!
Remember: stay focused, there's always a trap!
You can control the game using your keyboard: ← for "true", → for "false" and space for new game.


Best Apple TV deals for Christmas 2019
Here’s how to get your hands on an Apple TV media player for less than Apple’s price. We’ve got the best Apple TV deals so that you don’t have to spend a fortune to watch Apple’s new TV shows and movies.
by Karen HaslamWith Apple’s new TV streaming service now available (as of 1 November 2019) you might be looking to buy an Apple TV so that you can watch the new shows on your TV. If you are, then you probably won’t want to pay full price - with the cheapest Apple TV starting at £149. Luckily for you, we have pulled together the best Apple TV deals so that you can be sure you aren’t paying more than you have too.
There’s also a benefit to buying a new Apple product right now - if you buy an Apple TV you’ll get a whole year of Apple TV+ for free!
We also include deals that relate to other ways you can watch Apple TV content without requiring an Apple TV. Check out the Amazon Fire TV Stick, Roku, and Samsung TV deals below.
Best Apple TV deals this Christmas
- BT has £10 off the Apple TV HD, 32GB, including free delivery. Get it for £139 here.
- AO.com has £20 off the Apple TV 4K, 32GB. Get it here for £159.
- KRCS has £9.95 off the Apple TV 4K, 64GB £189.05 here.
- eBay has £40 off the 64GB Apple TV 4K for £159 here (although we can't vouch for the reseller in this case).
Make sure you check out our complete round up of the best Apple deals we've seen for Christmas 2019.
How much does an Apple TV cost?
Apple last updated the Apple TV more than two years ago in September 2017 when it introduced the Apple TV 4K. Apple sells that model alongside the older Apple TV HD (aka 4th generation), which was introduced in October 2015 (four years ago).
In the past Apple has sold the Apple TV for as little as £70/$99. But currently the prices are a lot higher than that.
Here are the prices Apple sells its Apple TV for:
- Apple TV HD, 32GB £149
- Apple TV 4K, 32GB £179
- Apple TV 4K, 64GB £199
Despite both Apple TV media players starting to show their age, Apple’s price seems quite high, at least in comparison with other similar media streamers, such as the Amazon Fire TV, which normally costs £39.99 and can also stream Apple’s new shows. Get one from Amazon here.
Alternatively you could get a Roku streaming player and stream Apple TV+ on that. A Roku Express normally costs £29.99 here.
We have a number of deals for the Amazon and Roku devices as well as Samsung TVs below.
Best Apple TV deals
So, with the price of the Apple TV being a bit higher than you would expect, how much could you actually save if you shopped around?
We’ve gathered some of the best deals around for each model, you can check them out below.
Apple TV HD, 32GB
The 32GB Apple TV HD is sold by Apple for £149/$149.
There aren't many discounts to be had, but we have seen the following deals worth flagging:
- BT has £10 off the Apple TV HD, 32GB, including free delivery. Get it for £139 here.
If any other resellers are discounting it you will be able to see below:
| Retailer | Price | Delivery | |
| Price comparison from over 24,000 stores worldwide View more prices |
Apple TV 4K, 32GB
The 32GB version of the Apple TV 4K is sold by Apple for £179/$179.
- AO.com has £20 off the Apple TV 4K, 32GB. Get it here for £159.
If any other resellers are discounting it you will be able to see below:
| Retailer | Price | Delivery | |
| Price comparison from over 24,000 stores worldwide View more prices |
Apple TV 4K, 64GB
The 64GB version of the Apple TV 4K is sold by Apple for £199/$199.
- KRCS has the Apple TV 4K, 64GB £189.05 here.
- eBay has the 64GB Apple TV 4K for £159 here (though we can't vouch for the reseller in this case).
If any other resellers are discounting it you will be able to see below.
| Retailer | Price | Delivery | |
| Price comparison from over 24,000 stores worldwide View more prices |
Apple TV Alternative deals
Of course, you don’t need to have an Apple TV to watch things you have bought from the iTunes Store or TV+ programmes. You could buy an Amazon Fire TV Stick, a Roku device, or even a new Samsung TV. We have some deals for these alternatives to the Apple TV.
Amazon Fire TV
- The Fire TV Stick 4K is currently £29.99 (usually £49.99) at Amazon here.
- Alternately the older Fire TV stick is £19.99 (usually £39.99) from Amazon here.
- Argos has the Fire TV stick for £19.95 if you wanted to save a few more pennies here.
We have more Fire TV deals over on our sister site Tech Advisor here.
Roku
You can get a Roku Streaming Stick+ for £29.99 at Argos (usually £49.99) here.
The Roku Premiere HD is £29.99 at Argos (usually £39.99) here.
The Roku Express is £24 (down from £29.99) at Amazon here.
Samsung TVs
There are also a number of new TVs that come with Apple TV apps, including these Cyber Monday deals:
- Samsung UE43RU7100 43in, Smart 4K Ultra HD TV just £339 (£10 off) from AO.com here.
- Samsung UE55RU7100 55in, Smart 4K Ultra HD TV just £399 (£80 of) from AO.com here.
See more TV deals over on our sister site Tech Advisor here. Plus find out which Samsung TVs include Apple's TV app here.
Refurbished Apple TV deals
You may also be able to pick up a refurbished Apple TV at a discount from Apple.
We've previously seen a refurbished Apple TV HD on Apple's Refurbished Store for £119, here (although it's not currently available).
Check here periodically to see if more reconditioned Apple TVs go on sale on Apple's Apple's Refurbished Store.
Apple TV 3rd gen
Apple no longer sells this model, which was launched in 2012, was the first to ship with the Apple TV app store, and at one point cost just £79/$99. However, it will run Apple TV+ so if you find one for sale you could use it. You might be able to pick one up from eBay, for example.
| Retailer | Price | Delivery | |
| Price comparison from over 24,000 stores worldwide View more prices |
Not liking any of the deals you are seeing here? We have an article that looks into whether Apple will reduce the price of the Apple TV soon.


| DOSE: T+ 0:00 |
5.0 mg |
oral |
2C-T-2 |
(powder / crystals) |
| T+ 0:45 |
5.0 mg |
oral |
2C-T-2 |
(powder / crystals) |
| T+ 2:00 |
10 mg |
oral |
2C-T-2 |
(powder / crystals) |
| T+ 3:00 |
5.0 mg |
oral |
2C-T-2 |
(powder / crystals) |
This is a first experience.
The first thing to note is that prior to doing this substance with the female M, neither of us had had ANY experience with pyschoactives aside from MDMA (and negative experiences with Pot). MDMA was an extremely insightful tool for both of us. We were pretty well read and researched on this substance and decided that I would take a bare threshold dose (5-8mg) and wait an hour with M babysitting before bumping up and giving her a threshold dose.
This mitigated our fears about reaction. In addition we had a friend close by (walking distance) if the need arose.
Mind Set: I can't speak for M but I could have been in a better mindset. I really anticipated doing this, but it was late in the day and I had just returned from spending some stressful time with family. I would have been better off with a full day to spin down and then a new day to start up.
Setting: My home, very comfortable, a completely known quantity. Great music in general. Had access to a device you put on your television to create very basic visuals. We had sex and ate a nice meal prior to this experience.
T.0:00 - I had access to a scale which could measure up to .01 of a gram (10 MG) so I weighed out enough to make the scale register 10 mg and then divided in half. I took this amount to start.
T.0:20 - Alerts started firing a little bit here. For me it's the feeling that my 'skull is lighter' particularly around the temples. I also noticed tension in my shoulders a little later which has been attributed to this substance in PIHKAL and other resources. Barely off baseline.
T.0:45 - I deem this safe for trying and M takes 5mg while I take another 5.
T.1:15 - Laughing is MUCH easier. I become aware of a war between my observer and whoever controls this experience (I haven't identified him yet). My observer reasserts his control by saying things like 'It shouldn't be *that* funny. She has vague alerts but is unsure if she is off baseline.
T.1:50 - M remarks that my pupils are dilated. This happens for both of us through the night although much more so for me than herself. I think this is an alert for me as well at some level beyond the chemistry.
T.2:00 - I measure out 10mg for myself and 10mg for M. Tension in neck is gone replaced by a weird sort of energy. It's sort of similar to a higher E dose but the energy doesn't have an edge. It's simply not something I'm used to. I keep thinking the drug wants to break through a plane to a next level. I'm now at a +1.5. M comments that her limbs feel heavy. I mention that I would sort of like to stick my arms inside her (bodily) to remove the energy. Yes, like violate her skin.  It's an attempt to purge the energy.
T.3:00 - I measure out an additional 10 for M and about 5 for myself (bringing me to about ~25 and her the same; this will be the final dose. I should note at this point that it tastes horrible, like melted plastic. But it also has a familiar taste that we associate with MDMA. We are both crazy people who like taking MDMA sublingually so we know about this.
I decide that if we don't break to a ++ or higher it'll have to be the next time (I have anxiety about the slow run up we are doing). A lot of laughing, a lot of awareness about my observer freaking out. We sit down to watch the sopranos (dvd).
T.3:20 - I can't watch this anymore. It doesn't make sense in a way that's helpful. I tell M this and put on some music, change the tv to discovery channel and turn the volume off. M remarks that the ceiling is much brighter than it usually is. I notice the brick wall is pulsating (in a benign friendly manner). Oh! We are tripping. How interesting.
T.4:00 - The last hour or so was spent looking at various things. Whenever we get up to wander around the house visuals stop or go away. The observer is VERY in control when we are walking around and loses control when we lie down. We both remark that we could drive a car or do critical operations if we had to. I am a solid ++ and M is starting to see sparkles and colors (dominant shade is red). I am not getting this level so I guess she is a 2.5 or +++.  I feel like a little bit more would have put me over the top. Limbs are unbelieveably heavy. There is energy concentrated in the shoulder and neck area. We both comment that we wish we existed only as minds... we'd like all of our limbs cut off now please. But we both also realize that we are completely rational.
It's as if the observer is warring with another entity (one that could care less about 'going to war' -- whenever we get the observer to shut up the energy becomes very bareable. Ironically (disappointingly) talking about stuff like this reasserts the observer.
M freaks out a tiny bit at one point at seeing a feathered Italian carnivalle mask at the end of the hallway. I hold her and go see it together with her and then it's okay.
T.4:30 - We discover closed eye visuals. Very basic, geometric. Mine look plastic and colorful 'like a pachinko parlor' -- I comment that I am disappointed that my visuals look 'like the graphics at some rave' but I'm not really disappointed. Chicken and the egg -- would my visuals look like this if I had never been exposed to pyschedelic graphics? Ceiling looks like water flowing, then later squiggly entities (very sperm like). Visuals are extremely non-threatening and absolutely in time to the music. The television picture changes in time to the music. We have fun saying things like 'the tv is talking to the stereo again'.
The observer tells me this is not true. That my mind is interpretting it this way.  It's a lot of fun. :)
M starts giggling saying she is laughing at her observer and her observer is giving her the finger. I tell her that she can let it all go, my observer will handle things, and besides, I can't trust her observer. It's like I am the british secret service and her observer is the french secret service. We know she's in the business of spying and she's technically an ally, but at the end of the day she's french. We both laugh a really long time at this. It hurts to laugh.
We take the time to look in the mirror. Absolutely no visuals about our bodies, but the walls are moving. We both look happy and relieved. I comment that our perception of self and each other is pretty strong which is why it's so static. Although the tips of her hair do have some movement. Later, on the bed, the Cat is also a grounding force (he has no visuals either).
T.5:00 - We realize touch exists.  Touch is disembodied... at one point I don't realize she is rubbing me and neither does she. Touch is incredibly sensitive.
T.5:30 - It's not really showing signs of letting up but I know it's on the way down. We decide to go to bed. We both take an ambien which is a sleeping aid that tends to give 'waking dream' visuals right before you go to bed. In a dark room, with no music visuals are very intense but we are both grounded holding on to each other. Right before I drift off I realize my very simple geometric closed eye patterns have turned into a village (a early japanese-looking one) and I realize it is the two substances fighting each other. I comment about this out loud to M. We fall asleep.
--
The next day I felt a bit mentally tired, and so did M. No physical tiredness at all (unlike MDMA). Brain is still whirring trying to figure all of this out.
--
A worthwhile substance. I would like to try it some time at a party as I am well aware of how setting changes the experience.
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.


OlegDB Financials 2020 Q1
It's been a while since our last report, so I figured I'd write up a quick coverage of how much money OlegDB has made to date.
OlegDB Proleg Subscribers: 0
Sticker sales to date: 9
As y…
More on Go vs. Erlang
During our most recent episode of OlegDB muckery, I glossed over how we migrated from Erlang to Go for the latest release. I also promised that I would go over in more detail why we switched and what the benefit was, even if our l…
OlegDB 0.1.5 "Spider Marketplace" Released
With an exciting new year comes and exciting new release of OlegDB! We have a sweet suite of backwards-compatible (kind of) changes in store for all 12 of you using this mayo jar of a database! Including but not limited to:
- Removed Erlang in favor of Go
- Transactions! Sort of…
OlegDB 0.1.2 "Mayo Indoctrination" Released
This is a pretty heavy release, in which we introduce prefix matching
, key/cursor iteration and a new
mmap()
based data architecture which you can read about
…
Sloppily Measuring the Effects of LZ4 Compression
Way back in 0.1.1
we added the ability to compress your data using LZ4. Since
I haven't written in a while and we'd never really measured the performance
aspects of using LZ4, I figured now was as good a time as any. Segfaults are
low, moral is high and Read the Full Post
OlegDB 0.1.1 'Cartwheeling Trespassers' released
Proleg Labs™ is happy to announce a new and improved OlegDB! Nicknamed Cartwheeling Trespassers, this release packs in a whopping delta of 44 files changed, 869 insertions and 2864 deletions. Hot damn!
Bugfixes i…
Benchmarking with Wrk
Today at Proleg Labs™ we're going to discuss the awesome bechmarking tool wrk. wrk is a badass little HTTP stress testing utility written by a mysterious open-source do-gooders. I'm gonna run through how we torture OlegDB …


There was a boy. A very strange, enchanted boy. They say he wandered very far, very far, over land and sea.
A little shy, and sad of eye, but very wise was he.
And Then one day, one magic day he came my way. And as we spoke of many things, fools and kings, this he said to me:
"The greatest thing you'll ever learn is just to love and be loved in return".


public final class JActiveRenderer extends java.lang.Object implements JRenderer
JRendererPanel
.
To use this renderer a client constructs a JRendererPanel
and passes
it to the constructor with a flag indicating if the passed component will
have children that need to be rendered and a JRendererTarget
implementation. A typical sequence would be
JFrame frame = new JFrame("Renderer Demonstration"); final JRendererPanel on = new JRendererPanel(); frame.setContentPane(on); final JRendererTarget<GraphicsConfiguration, Graphics2D> target = this; JRenderer renderer = new JActiveRenderer(on, target, true);In the above snippet on will be rendered to. Swing children will be added to on by the client code (indicated by passing true as the second argument) and should be shown. The enclosing instance, this, implements
JRendererTarget
and will be called to
customize what is displayed on-screen.
The JRendererTarget
implementation is called according to the
following protocol.
JRendererTarget.renderSetup(Object)
is called once when
on is made visible. It allows the client to perform any necessary
setup.JRendererTarget.renderUpdate()
is called at the start of each
rendering cycle to allow the client to update its state prior to rendering.JRendererTarget.render(Object, int, int)
is called after
renderUpdate() during each rendering cycle to allow the client to
control what is displayed on-screen.JRendererTarget.renderShutdown()
is called once after
shutdown()
to allow the implementation to perform any
necessary cleanup.
There are two threads involved in active rendering: (1) a rendering thread
and (2) the Swing Event Dispatch Thread (EDT). When the passed
JComponent
is made visible this is detected in the EDT and two tasks
are submitted to be executed in the rendering thread: (1) The
JRendererTarget.renderSetup(Object)
method is called to let the
client perform its setup. (2) The rendering loop is started.
The rendering thread runs the following sequence as fast as it can:
JRendererTarget.renderUpdate()
to allow the
client to update its state.CountDownLatch.await()
is called on the latch that is
waiting for the EDT thread to finish painting (skipped during the first
iteration).JRendererTarget.render(Object, int, int)
to
allow the client to render onto an off-screen image.SwingUtilities.invokeLater(Runnable)
asks the EDT
thread to paint the off-screen image on the screen.The EDT thread, in addition to its normal Swing processing, performs the following:
CountDownLatch.countDown()
to "pass" the off-screen image
back to the animator thread.
This two-thread active rendering approach has several advantages. First, it
never blocks the EDT. Second, it allows the
JRendererTarget.renderUpdate()
to execute concurrently with painting
to the screen. Third, while the render thread can block, this only occurs if
painting to the screen takes longer than invoking
JRendererTarget.renderUpdate()
.
The implementation depends upon the safe sharing of the BufferedImage
used as the off-screen image between the rendering thread and the EDT. The
use of SwingUtilities.invokeLater(Runnable)
safely "passes" the image
from the rendering thread to the EDT and the use of the
CountDownLatch
safely "passes" from the EDT back to the rendering
thread.
Clients can execute code in the rendering thread by calling
invokeLater(Runnable)
(in a manner similar to
SwingUtilities.invokeLater(Runnable)
). This call is essential to
safely notify the rendering thread about events that occur in the EDT or
other program threads.
Several statistics are tracked which can be queried to understand active rendering performance.
getFPS()
provides "frames per second" or how many times per
second the screen is painted. This is the best measure of overall performance
and is often displayed on-screen.getAverageCycleTimeNanos()
provides how many nanoseconds, on
average, it tools to execute one complete rendering cycle.getAveragePaintTimeNanos()
provides how many nanoseconds, on
average, it took the EDT to paint the off-screen image to the screen.getAverageRenderTimeNanos()
provides how many nanoseconds, on
average, it took the rendering thread to render to the off-screen image (by
calling JRendererTarget.render(Object, int, int)
).getAveragePaintWaitTimeNanos()
provides how many nanoseconds, on
average, the rendering thread "blocked" waiting for the EDT to finish
painting to the screen. Because the rendering thread invokes
JRendererTarget.renderUpdate()
before it has to "block" and wait for
the EDT to finish painting, this time can be significantly smaller than
getAveragePaintTimeNanos()
. If this time is not smaller than
getAveragePaintTimeNanos()
then this two-thread active rendering
approach should probably not be used, i.e., a simple loop in a single thread
will be more efficient (i.e., provide more FPS).
Adding Swing components as children of on is supported. Ensure that
true is passed as the third argument to
JActiveRenderer(JRendererPanel, JRendererTarget, boolean)
. The
children are drawn in the EDT and never accessed in the rendering thread.
Use of the Timing Framework is supported via a ManualTimingSource
that can be obtained via getTimingSource()
. This timing source is
"ticked" once per rendering cycle. Client code should consider setting the
timing source as the default for animations, similar to the snippet below.
AnimatorBuilder.setDefaultTimingSource(renderer.getTimingSource());Then the timing source's tick() method is invoked within the rendering thread just prior to the call to renderUpdate().
JRendererTarget
,
ManualTimingSource
| Constructor and Description |
|---|
JActiveRenderer(JRendererPanel on,
JRendererTarget<java.awt.GraphicsConfiguration,java.awt.Graphics2D> target,
boolean hasChildren)
Constructs a new active renderer.
|
| Modifier and Type | Method and Description |
|---|---|
long |
getAverageCycleTimeNanos()
Calculates the total average time for each rendering cycle.
|
long |
getAveragePaintTimeNanos()
The time spent within the EDT thread painting to the screen.
|
long |
getAveragePaintWaitTimeNanos()
Gets the average amount of time spent waiting in the animator thread for
the EDT thread to complete painting to the screen.
|
long |
getAverageRenderTimeNanos()
Calculates the average time spent rendering in the rendering thread.
|
long |
getFPS()
Calculates the frames per second being drawn to the screen.
|
TimingSource |
getTimingSource()
Gets the timing source being used by the renderer.
|
void |
invokeLater(java.lang.Runnable task)
Submits a task to be run by the renderer in the same thread context that
its
JRendererTarget uses. |
void |
shutdown()
Shuts down rendering.
|
public JActiveRenderer(JRendererPanel on, JRendererTarget<java.awt.GraphicsConfiguration,java.awt.Graphics2D> target, boolean hasChildren)
Should only be invoked from the Swing EDT.
on
- the Swing component to render on.target
- to be called to control what is rendered.hasChildren
- true
if on has child components that need to be
painted. If on has no child components passing
false
can improve rendering performance.java.lang.IllegalArgumentException
- if either on or target are null
.java.lang.IllegalStateException
- if invoked outside of the Swing EDT.public void shutdown()
JRenderer
Safe to be called at any time within any thread.
public long getFPS()
JRenderer
Safe to be called at any time within any thread.
public long getAverageCycleTimeNanos()
JRenderer
Safe to be called at any time within any thread.
getAverageCycleTimeNanos
in interface JRenderer
public long getAverageRenderTimeNanos()
JRendererTarget.render(Object, int, int)
.
Safe to be called at any time within any thread.
public long getAveragePaintWaitTimeNanos()
Safe to be called at any time within any thread.
public long getAveragePaintTimeNanos()
Safe to be called at any time within any thread.
public TimingSource getTimingSource()
JRenderer
getTimingSource
in interface JRenderer
public void invokeLater(java.lang.Runnable task)
JRenderer
JRendererTarget
uses.
Safe to be called at any time within any thread.
invokeLater
in interface JRenderer
task
- a task for the renderer.


Use <md-autocomplete>
to search for matches from local or remote data sources.
{{ item.display }}
Use <md-autocomplete>
to search for matches from local or remote data sources.


| getEffects {FSDM} | R Documentation |
getEffects
extracts data on all the effect relationships of an
identified causal concept.
getEffects(Model_ls, ConceptName)
Model_ls |
a list that includes components for model concepts and relations |
ConceptName |
a string containing the name of the causal concept |
The function extracts the data on the effect relationships of an identified causal concept. This includes the names of the affected concepts and the respective effect directions, magnitudes, and descriptions.
a data frame containing the names, directions, magnitudes, and descriptions of all the effects or NULL if there are no effects.


| Created: | 1/27/2021 3:51:39 PM |
| Modified: | 1/27/2021 3:51:39 PM |
| Project: | |
| Advanced: |
| Attribute |
|
Public serial id |
|
Details:
|
|
Public integer receipt_id |
|
Details:
|
|
Public integer supplier_id |
|
Details:
|
|
Public varchar(255) description |
|
Details:
|
|
Public date deposit_date |
|
Details:
|
|
Public date processing_date |
|
Details:
|
|
Public bigint amount_cents |
|
Details:
|
|
Public bigint federal_amount_cents |
|
Details:
|
|
Public bigint non_federal_amount_cents |
|
Details:
|
|
Public varchar(255) created_by |
|
Details:
|
|
Public varchar(255) updated_by |
|
Details:
|
|
Public timestamp with time zone(0) created_at |
|
Details:
|
|
Public timestamp with time zone(0) updated_at |
|
Details:
|
|
Public timestamp with time zone(0) archived_at |
|
Details:
|
|
Public varchar(255) rejection |
|
Details:
|
|
Public varchar(255) type |
|
Details:
|
|
Public bigint reversal_amount_cents |
|
Details:
|
|
Public bigint adjustment_amount_cents |
|
Details:
|
|
Public bigint total_difference_amount_cents |
|
Details:
|
|
Public jsonb service_quarters |
|
Details:
|
| Operation | ||
|
Public receipt_lines_pkey( id: serial, |
||
|
Details:
<<PK>>
|
||
|
Public receipt_lines_receipt_id_foreign( receipt_id: integer, |
||
|
Details:
<<FK>>
|
| Element | Source Role | Target Role |
|
«table» receipts Table «FK» |
Name: receipt_lines_receipt_id_foreign |
Name: receipts_pkey |
|
Details:
|
| Element | Source Role | Target Role |
|
«table» distribution_lines Table «FK» |
Name: distribution_lines_receipt_line_id_foreign |
Name: receipt_lines_pkey |
|
Details:
|
||
|
«table» receipt_line_buckets Table «FK» |
Name: receipt_line_buckets_receipt_line_id_foreign |
Name: receipt_lines_pkey |
|
Details:
|
| Tag | Value |
| Owner | public |
|
Details:
|
| Property | Value |
| isFinalSpecialization: | 0 |


Samsung Note10/Note10+ Android 10 Beta integrates Microsoft OneDrive -
by Efe UdinSamsung Note10/Note10+ Android 10 Beta integrates Microsoft OneDrive
5 (100%) 1 vote
If you have a Samsung Galaxy Note 10 or Note10+ phone and happen to support running Android 10 Beta, then you will get some special treatment from Microsoft. According to recent information, Microsoft OneDrive integration is now compatible with these devices. This allows users to directly sync photos in the Samsung photo album app.
This is the content of Samsung’s partnership with Microsoft. Users can activate the Microsoft OneDrive integration in the “Galaxy Settings” application. Once the Microsoft OneDrive account is active as a backup solution, all existing content in the Samsung Cloud account will move to OneDrive. This excludes the items in the Recycle Bin. All photos on your device will also sync to OneDrive without the need for a dedicated OneDrive app.
It’s important to note that by selecting OneDrive as your backup option, you will no longer be able to return to your Samsung Cloud account. Instead, Microsoft will provide you with the remaining space in the Samsung Cloud account in OneDrive. However, this will be for a period of one year. Samsung will also provide you with a refund for any Samsung cloud storage plan. Would you switch to OneDrive or stay with your old your Samsung Cloud account?


@(message: String) @main("Help") {
Solution of colour crosswords is a bit different from solution of black and white ones (as in black and white crosswords you don’t need to take into account the colour of the squares, the rules are a bit simpler) – that’s why so far we will talk only about black and white crosswords. To solve a Japanese crossword a person should look at each line/column separately, always moving to the next columns and lines. In so doing the process of solving in each line/column comes to the following:
Thus, gradually there are marks in the field which help to identify new marks step by step, then more and more marks until finally the crossword is completely solved (it should be noted that if even only one mark is put incorrectly – it may lead to a deadlock solution).
}


Please select a link below or use the dropdown menu above to choose a catch or value time series to view. You can choose various 'dimensions' (Taxon, Commercial group, Functional group, Country, Sector, Catch type, Reporting Status, Gear Type) and 'measures' (Tonnage, Value), and select the level of taxonomic details you want to view the data at. Data can be downloaded by the selected parameters. Please note that the data we present (‘reconstructed data’) are a combination of official reported data and reconstructed estimates of unreported data (including major discards). Official reported data are mainly extracted from the Food and Agriculture Organization of the United Nations (FAO) FishStat database (found here). For background information on the reconstruction data, download the .pdf below.
Please select a link below or use the dropdown menu above to choose a catch or landed value time series to view. You can choose various 'dimensions' (Taxon, Commercial group, Functional group, Country, Sector, Catch type, Reporting Status, Gear Type) and 'measures' (Tonnage, Landed value), and select the level of taxonomic details you want to view the data at. Please note that the data we present (‘reconstructed data’) are a combination of official reported data and reconstructed estimates of unreported data (including major discards), with reference to individual EEZs. Official reported data are mainly extracted from the Food and Agriculture Organization of the United Nations (FAO) FishStat database (found here). Data can be downloaded by the selected parameters. For background information on the reconstruction data used, please see the documentation associated with the individual EEZs associated with the area presented here.
{{rfmoLinks.reportURL | fileOfUrl | breakUnderscores}}
Cullis-Suzuki S and Pauly D (2010) Failing the high seas: A global evaluation of regional fisheries management organizations. Marine Policy 34: 1036-1042.


TestCaseAttribute serves the dual purpose of marking a method with parameters as a test method and providing inline data to be used when invoking that method. Here is an example of a test being run three times, with three different sets of data:
[TestCase(12,3,4)] [TestCase(12,2,6)] [TestCase(12,4,3)] public void DivideTest(int n, int d, int q) { Assert.AreEqual( q, n / d ); }
Note: Because arguments to .NET attributes are limited in terms of the Types that may be used, NUnit will make some attempt to convert the supplied values using Convert.ChangeType() before supplying it to the test.
TestCaseAttribute may appear one or more times on a test method, which may also carry other attributes providing test data. The method may optionally be marked with the as well.
By using the named parameter Result this test set may be simplified further:
[TestCase(12,3, Result=4)] [TestCase(12,2, Result=6)] [TestCase(12,4, Result=3)] public int DivideTest(int n, int d) { return( n / d ); }
In the above example, NUnit checks that the return value of the method is equal to the expected result provided on the attribut
TestCaseAttribute supports a number of additional named parameters, which may be used as follows:
In NUnit 2.5, individual test cases are sorted alphabetically and executed in that order. Beginning with NUnit 2.5.1, the individual cases are not sorted, but are executed in the order in which NUnit discovers them. This order does not follow the lexical order of the attributes and will often vary between different compilers or different versions of the CLR.
As a result, when TestCaseAttribute appears multiple times on a method or when other data-providing attributes are used in combination with TestCaseAttribute, the order of the test cases is undefined.


{{currentTime | async | duration}} / {{duration | duration}}
{{buffered | json}}
Sorry, ain't playing {{video.mimetype}} yet