Build a PC Tablet Application
Simplifying the personal computer building experience
TASK
This app walks the user through the steps they need to take in order to successfully learn about what goes into a computer, plan for what parts they would like in their machine, and finally assembling it all together.
DURATION
February - May 2018
ROLE
UI/UX, Motion, 3D Modeling
Problem
A TIME CONSUMING PROCESS
The process of planning and assembling a custom built computer is a lengthy and overwhelming process.
WHERE TO BEGIN?
Even with the ambition, most people don’t know where to start.
Competitive Analysis
CURRENT OPTIONS
Current resources available for users to learn about and assemble their own custom PC are fairly segmented and require users to visit multiple websites in order to properly figure it all out.
Trend Research
A LIST OF PARTS
On one hand, there are resources that provide users with the ability to browse a wide variety of parts to compare specifications to choose the one that's right for them, but this can be overwhelming to some.
PREBUILDS GALORE
On the other hand, there are resources that require the user to answer a short survey and, based on their answers, will spit out a generic prebuilt setup that they can purchase but doesn't allow for much customization.
User Research
SURVEY STATS
I conducted a survey to determine the types of features that users would be most interested in when looking to build a computer. To narrow down an audience, I asked only people who have experience building a computer in the past to complete the survey.
I received 41 survey results from a total of 8 different countries, with people ranging from age 14 to 41.
QUOTES
"[I want a] compatibility checker. After deciding on a build, [I would like to] have some kind of feature that makes sure the components will all work together."
"[The other PC building resources] seemed segmented."
"UI design [of the competitors] is pretty universally ugly/bad."
THINGS TO LOOK OUT FOR
Those assembling a computer for the first time often share similar concerns, with a large amount of people not being fully aware of the tools they'll need or if their parts will even be compatible.
MUST HAVES
Survey results indicated that the top three features that users would like having in a PC building resource were: being able to create a parts list, the ability to browse parts easily, and making sure the parts they choose are compatible with each other.
Goals
EDUCATE
Educate those who want to know how computers work
ENLIGHTEN
Make the process of building a computer less daunting
GUIDE
Steer the user towards a successful custom build
Sketches and Wireframes
GETTING STARTED WITH SKETCHES
My initial sketches started with breaking up the application into three distinct sections: Learn, Plan, & Build. From there, the user would be able to search for and select parts for their custom build. Finally, their chosen parts would populate the final screen, where a compatibility check would be run to make sure each component would work when assembled.
FURTHER DEVELOPMENT
Getting into low fidelity wireframes, the three buttons on the homepage became bigger to take advantage of the whole display and allow users to touch anywhere on the screen. The part selection and build overview changed to add a 3D model of the computer that the user would be building. This would allow them to more easily recognize the components when assembling their build.
HIGHER FIDELITY
With this iteration of the application, I changed directions with the part selection portion. I decided to guide the user through a short survey to determine the type of parts they might need as opposed to dumping a large amount of information on them at once. The build overview also changed to allow more space for the user to interact directly with the 3D model as well as learn about the parts they're looking at.
Styleguide
TYPOGRAPHY & COLOR TREATMENT
I wanted to give the application a bold look so I decided on a stark contrast between large header text and a smaller body text. I also went with bright colors to differentiate each section from one another (plus PC gamers love to add RGB to everything).
ILLUSTRATION STYLE
To add a little flair to the design, I illustrated a variety of components that can be found throughout the build that help users in identifying each part during assembly.
Visual Design
SECTION SELECTION
After the user is greeted by the homepage, they may select a category to delve into: Learn, Plan, or Build.
LEARN BY INTERACTING
In the Learn section, the user may either tap and zoom directly with the 3D modeled computer or use the slider on the lefthand side to view each of the components that make up a completed build.
FIGURE OUT WHAT YOU NEED
Using the quick three question recommendation survey, the user is able to get a general sense of what type of parts they might need to complete their custom build.
SELECTING THE PERFECT PART
The application will then guide the user through each component in the build, prompting them to make a decision between different types of parts, all while making sure each component will be compatible with one another.
STEP-BY-STEP ASSEMBLY
Starting with gathering the materials, the app will guide the user through the whole computer assembly process, breaking down steps into smaller actions if need be.
GREAT WORK!
At the end of the assembly process, the user is congratulated for successfully assembling their own custom computer!


Blogging with Jekyll
Sometime ago, I have started using octopress and deployed it on Github pages. I was attracted to simplicity of the octopress and look and feel it had. So I decided to give it a shot and created a Github Pages site and deployed. The only disadvantage I saw with octopress is, If you are working on multiple machines you should have octopress setup on each machine. And I wasn’t really satisfied with number of templates it had. Those were not that much attractive. So sometimes I tried to convert a nice templates to octopress version and got failed.
Then oneday I found a nice clean template site, which is for jekyll. Then I got confused and started to explore about jekyll. I knew there is a connection between octopress and jekyll. But I wasn’t sure what really it is. So here is my findings on both tools.
What is Jekyll?
Jekyll is a simple, blog-aware, static site generator. It takes a template directory containing raw text files in various formats, runs it through a converter (like Markdown) and our Liquid renderer, and spits out a complete, ready-to-publish static website suitable for serving with your favorite web server. Jekyll also happens to be the engine behind GitHub Pages, which means you can use Jekyll to host your project’s page, blog, or website from GitHub’s servers for free. (from So what is Jekyll, exactly?)
How Octopress different from Jekyll?
Octopress is a framework designed by Brandon Mathis for Jekyll, the blog aware static site generator powering Github Pages. To start blogging with Jekyll, you have to write your own HTML templates, CSS, Javascripts and set up your configuration. But with Octopress All of that is already taken care of. Simply clone or fork Octopress, install dependencies and the theme, and you’re set. (from Octopress 2.0 Surfaces)
So I understood the relationship between two and have tested on my local machine. As I understood Octopress bundle some plugins in the distribution with jekyll blogging site. I had few more things to clarify before moving forward.
How to convert a Jekyll theme to Octopress theme?
You can’t. The author of Octopress made his own theme layout and plugins to support it. Jekyll is meant for you to create your own theme layout as you wish (it’s barebones). Think of Jekyll as a great framework to write your own static site, a store front or a wiki or a blog - from scratch. Octopress, on the other hand though, adds a framework on top of Jekyll: theme layout, a number of plugins defaulted for a blog site, SEO throughout the templates, a config file for controlling this framework-on-top-of-a-framework (Octopress framework on top of Jekyll framework). Basically, you can take Jekyll and write your own theme layout any way you wish; but with Octopress, you already have a strict theme layout to adhere to. (Stackoverflow answer by eduncan911)
Deploying into Github pages
Every GitHub Page is run through Jekyll when you push content to a specially named branch within your repository. For User Pages, use the master branch in your username.github.io repository. For Project Pages, use the gh-pages branch in your project’s repository. Because a normal HTML site is also a valid Jekyll site, you don’t have to do anything special to keep your standard HTML files unchanged. Jekyll has thorough documentation that covers its features and usage. Simply start committing Jekyll formatted files and you’ll be using Jekyll in no time.
This means Github pages supports jekyll by default. Also Github pages runs on Jekyll. So we don’t need to build html site to deploy. Github pages does that for us. But as I saw Github pages does not support all the Jekyll plugins may be for security reasons. So I am pushing the generated html content to the master branch of my repository.
Code snippet highlighting
One of the most wanted feature for me is code snipplet highlighting. There are various options. Here’s the Jekyll recommended way.
- Install python.
- Install pip
sudo easy_install pip
- Install pygments with pip
pip install Pygments
- Now you can use code snipplets wrap with
highlight
tags in your markdown source. - All the short codes available at pygments.org/docs/lexers.
Objective C short names - objective-c
, objectivec
, obj-c
, objc


Welcome to the committee dashboard. From here, you can manage all aspects of members and their interactions with the website.
Sign-up members
There are currently 0 unread text messages.


THE BAREFOOT CONTESSA (1954)
"You are not a woman. You will not allow yourself to be loved, and you cannot love."
4 out of ****
Starring Ava Gardner, Humphrey Bogart, Edmond O'Brien Written & Directed by Joseph L. Mankiewicz Cinematography by Jack Cardiff
The trajectory of THE BAREFOOT CONTESSA is so relentless that it doesn't even bother with the pretense of suspense. It is a story of rags-to-riches, riches-to-tragedy, and the tragedy is such a foregone conclusion that the movie begins with the end--the funeral of Maria, the Barefoot Contessa, a young woman who became a world-famous movie star overnight, but remained unhappy, unfulfilled, and died several years and three movies later. The movie is not very interested in how Maria becomes a star--that story has been told before. It is interested in the consequences, and while that story has also been told before, it has rarely been told with such style and with such tragic grandeur.
Humphrey Bogart, playing the aging director who gives Maria her big break, is billed as the star, but the movie is Ava Gardner's. She plays Maria--she is Maria--and her classical, sculptured beauty is just right for this role, where she plays a woman whose talent and looks are more curse than blessing, because they put her on a pedestal where no one else can reach her.
Maria is a dancer in a bar in Madrid when we first meet her. A rich Hollywood producer and his PR man, Oscar (Edmond O'Brien, who won an Oscar for the role), try to lure her to America with the usual blandishments. She dismisses them, but Bogart's Harry Dawes--a "washed-up ex-drunk"--is able to reach her, and so she comes to America, and she becomes a star.
We never see a single scene from Maria's films, nor do we see her on the set. What we see is her off-screen life. She is not a typical star. She doesn't have a lover; she doesn't even attend the opening of her first movie with an escort. Hell, she doesn't even smoke--now what kind of behaviour is that for a famous actress? And she is not happy. She still feels like the vulnerable little girl she used to be, Cinderella waiting for her Prince Charming to come along, to love her and make her feel safe. She does not allow herself to be loved by anyone, waiting for this fairytale lover.
 It is fundamentally sympathetic to Maria's point of view: Mankiewicz, as he did in ALL ABOUT EVE, subtly and poignantly probes the dilemma of women in the entertainment business, when men have all the money, when beauty is the sole measure of stardom and, of course, it doesn't last forever.
But, as with ALL ABOUT EVE, the best thing about THE BAREFOOT CONTESSA is Mankiewicz's dialogue. He has an amazing talent for wicked, pointed exchanges; he writes dialogue that is stilted, melodramatic, unrealistic--and a sheer joy to listen to. There is one monologue by Oscar, describing the guests at a French Riviera party, which in its sophistication, its wordplay, its incisive sarcasm, is as verbally rich as poetry.
The film is beautifully structured, too. Mankiewicz uses the funeral as his frame device, and the camera shifts back and forth between several mourners, revealing Maria through their memories--through the eyes of Harry Dawes, and then Oscar, and then Maria's Prince Charming, an Italian Count who is the last of his line. Maria goes to live with him in Italy, with his barren sister, in their dark mansion with vague House of Usher undertones. They marry, with tragic consequences, witnessed through Bogart's eyes, and the film comes full circle. It is as balanced and precise and perfect as haiku.
The movie is just as sophisticated on an emotional level, especially in the way it handles the relationship between Bogart and Gardner. He is many things to her: friend, confessor, part-time amateur therapist, father figure, but never her lover. There is a suggestion that Harry is really the Prince Charming that Maria is looking for, but his heart belongs to another woman, and so they remain friends. The emotions involved in their relationship are complex and adult, not the clichés of formula fiction. There is a scene in which Maria and Harry talk at a party, and she tells him why she is so unhappy, and her words may be melodramatic, but as Harry himself observes, "there's more to talking than just words," and there is more to her speech than superficial emotions--there is clarity and comprehension. It's easy enough to show a beautiful actress whose life is ruined by show business; it's a lot harder to understand that actress, to get under her skin, to know her, but this movie does just that. The Contessa is placed on a pedestal where no one can reach her--no one except the viewer.
A Review by David Dalgleish (April 19/1998<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Games I've Played
Mostly Shooters and Stuff
- Mass Effect 3 Multiplayer
- Halo: Combat Evolved
Legendary solo
I really liked Halo: CE. It was a strong game, and I've had a soft spot for the Halo story - I don't think it's particularly deep or told with finesse, but it's fun!
- Halo 2
Heroic co-op
I've been telling myself I'm going to beat Halo 2 on legendary by myself since the day I beat Halo: CE on legendary. I feel the overwhelming urge to be able to say I've beaten the whole trilogy on the hardest difficulty! On the other hand, it's really goddamn hard.
- Halo 3
Legendary co-op Legendary solo All Skulls found
- Halo 3: ODST
Heroic co-op
- Halo: Reach
Heroic co-op
- Gears of War
Insane co-op
- Gears of War 2
Hardcore co-op
- Gears of War 3
Hardcore co-op
- Half-Life
- Half-Life: Blue Shift
- Half-Life: Opposing Force
- Half-Life 2 (and Episode 1) (and Episode 2)
- Portal
- Portal 2 (and co-op)
- Army of Two
- Army of Two: 40th Day
- Operation Flashpoint: Dragon Rising
Gave up after like 30 minutes
This game was terrible.
- Resistance: Fall of Man
Hard? co-op
- Resistance 3
Hard co-op
These games weren't very deep, but they had decent shooting and good weapons. Resistance 2 didn't have co-op, so I didn't play it - I just watched my friend do it.
- Killzone 3
Veteran? co-op
This game offered alternate color modes for colorblindness, which is awesome. Shame the dialogue and plot was so literally laughable.
- Resident Evil 5
Veteran? co-op Broke one level
My pal and I played this over one break, and we couldn't take it seriously. Once we beat it, we spent our hard-earned points on getting infinite ammo for a few weapons - and decided we'd try to unlock infinite ammo for every weapon. We didn't end up doing that, but we did get so practiced at going through one level - which drops the most money for the time you spend in it by far - that we beat the max difficulty time trial by half. The magnum in that game is ridiculously overpowered.
- F.3.A.R.
Fearless? co-op
As far as I can tell, these people have no idea what the phrase "survival horror" even means.
Not Shooters
- Pokemon: Red
Beat the Elite Four
- Pokemon: Silver
- Pokemon: Diamond
Beat the Elite Four
- Prince of Persia: Sands of Time
- Prince of Persia (2008)
- Super Smash Brothers: Melee
Every SP challenge
- Super Smash Brothers: Brawl
Every achievement except one sticker
- Mario Kart: Double Dash
Time Trial Staff Ghosts Every Cup on Mirror
- Mario Kart: Wii
Gold Medals on Everything
- Okami
All brush techniques
- Legend of Zelda: Link's Awakening
I think this might be my #1 pick for best Zelda game.
- Legend of Zelda: Ocarina of Time
- Legend of Zelda: Twilight Princess
- Super Mario 64
- Super Mario Sunshine
- Final Fantasy
- Final Fantasy 6
Halfway
- Final Fantasy 7
Halfway
- Final Fantasy 8
Halfway
I feel like including Final Fantasy games that I haven't finished is still reasonable because not finishing a Final Fantasy game involves a similar time commitment as finishing many other games.
- No More Heroes
Mild All Beam Katanas
- No More Heroes 2: Desperate Struggle
Mild
- Guitar Hero
Expert
- Rock Band
Expert Guitar Medium Drums
- Super Metroid
- Metroid: Fusion
- Metroid: Zero Mission
- Metroid Prime
- Metroid Prime 3: Corruption
Extremely Memorable
- Shadow of the Colossus
Hard Time Trials (Normal) Climbed the temple
I love this game so much I'm not even going to write about it. My thoughts would take up too much space.
- Ico
Ico was very pretty, and had some of the same quality that Shadow of the Colossus had, but it didn't tie together nearly so well.
- Mirror's Edge
Easy Test of Faith (Pacifist)
This game has the best platforming I've had the pleasure of experiencing - and I'm a sucker for good platforming.
- El Shaddai
Normal
I loved this game from an aesthetic point of view, but I kept waiting for the story to get interesting. I'm still waiting.
- Zeno Clash
The aesthetic really makes this game stand out.
- Iji
Normal Somewhat Pacifist
Iji remains one of my favorite games of all time, for its excellent pseudo-morality system - one of the best I've seen.
- Valkyrie Chronicles
Normal No deaths
Valkyrie Chronicles had such a cool gameplay and storytelling style that I have to include it.
- No More Heroes
Mild All Beam Katanas
It's hard to describe this game. It was fascinating.
- Elite Beat Agents
Sweatin'! Hard ROCK!
Probably my favorite rhythm game.


The purpose of this project was to visualize 4 different types of weather patterns as we move closer to the equator. The data was retrieved from OpenWeather API and consisted of at least 500 cities. The dataset also included the cloudiness, humidity, wind speed, and temperature for each city.
Once the data was cleaned up, we used Matplotlib to create a series of scatter plots to showcase the relationships between each weather factor and latitude. This site provides the source data, comparisons, and visualizations with analysis for each plot.


From: Mrs.Suzzan Sainovic My Dear, YOUR ASSISTANCE IS HIGHLY NEEDED I am very sure that this mail will bring lots of surprises and curiosity to you since there was no previous correspondence before now between us. I am a widow of one of the top rulers in Chechnya. My husband died along side with the Chenchan president who was killed in a bomb attack early last year in a parade ground. My husband told me before his death that he has a credit of US$45M which he deposited overseas and handed to me all the documents which my lawyer has confirmed with the authority concerned. Right now I am looking for an Investor who will help me to invest the total sum in the west and after which I will relocate to your country. The security situation in Chechnya does not warrant me to do much from here,therefore I have designated my family lawyer London who will co ordinate every aspect of the fund transfer and the investment with your assistance. I am ready to concede up to 25% of the funds to you as your share if you will help me to pull the funds and invest it in your country which has a stable economy. Upon receipt of your acceptance letter to my private mail box quoted below,I will introduce you to my family lawyer for details on how the transfer can be done in the shortest possible time.Please furnish me with the below informationS: 1) Your Full Name 2) Your Nationality 3) Your Age 4) Your Marital Status 5) Your Private Telephone and Fax Number 6) Your Contact Address 7) Your occupation NOTE: The main assistant is after the money has been transfered into your personal/company account,you are going to assist us in investing the money in your country and supervise the total investment over there. For security reasons all other information will reach you through my direct email<EMAIL_ADDRESS>Awaiting your Urgent response via my direct email address. Regards, Mrs.Suzzan Sainovic<EMAIL_ADDRESS>X-Mailer: PHP@dec59.ruk.cuni.cz


Have you ever been conned by a salesperson? I guess some of you might have encountered sneaky sales skills. And had made you believe that there is really a need to buy a product.
However, these salespeople can easily convince you to buy that you weren’t even planning to get. But keeping a pet is like having a kid at home. They are the best companions no matter what breed they are.


This post introduces some sites that track the newest information, envents, analysis strategy and so on. The security consultants may read these blogs to gain
information they need for better work.
- CSO.
The CSO is the online newspaper of enterprise-level security decision makers. You can find the latest white papers, webcasts, analysis,
case studies, and research on security and risk management.
- The hacker news.
This site shows the breaking news about cyber attacks and vulnerabilities, which promoting awareness for security experts and hackers.
It has four main aspects including Data breaches, Cyber Attacks, Vulnerabilities, and Malware.
- DarkReading.
The Darkreading encompasses 13 communities, each of which drills deeper into the enterprise security challenge:
Analytics, Attacks & Breaches, Application Security, Careers and People, Cloud Security, Endpoint, IoT, Mobile, Operations, Perimeter, Risk, Threat Intelligence,
and Vulnerabilities and Threats. The community members include thought-leading security researchers, CISOs, and technology specialists,
along with thousands of other security professionals. You can free to engage in conversations with them if you register on the site.
- Infosecurity Magazine.
Infosecurity Magazine has over ten years of experience providing knowledge and insight into the information security industry. It
focus on hot topics and trends, in-depth news analysis and opinion columns from industry experts.
- CIO.
CIO is an online magazine geared toward those in technology and security leadership roles.
Its Editorial focus includes content geared to helping C-suite executives confront the cybersecurity challenges faced by their organizations.
- SecurityWeek.
It posts the information security industry Expert insights and analysis from IT security experts around the world.
- Cybersecurity Insiders.
This site is packed with news, reports, tools, courses, and events to help you stay on top of an industry
that seems to be changing almost daily. You can also find what’s the hot and trending through newsletter and list of popular articles.
- Zero Day.
It is your source for the latest news and insights in software and hardware security research, threats, vulnerabilities, cyberattacks,
and other happenings of interest to the modern information security professional.
- Krebsonsecurity.
Brian Krebs is the leading information security reporter out there right now and it is convenient all of his stuff is easily available online.
His material highlighting the risks that small-mid size businesses face while banking online.
His coverage of the hacking underground economy is also a fascinating look into the economics behind the hack for profit crime culture.
I find there are some interesting pictures showing the difficult info sec vividly.
- Welivesecurity.
It’s an editorial outlet for internet security news, views and insight, covering the latest, breaking security news,
alongside video tutorials, in-depth features and podcasts.
- Threatpost.
The ThreatPost produces unique and high-impact content including cloud security, malware, vulnerabilies, infosec insider and more.
REFERENCE
- Securityscorecard.
- Onlinedegrees.
- Informationsecurityhq.


This section includes predicates for identifying, comparing and manipulating atoms, lists and strings. The categories are:
A number of predicates are provided for manipulating and converting atoms.
atom_codes/2 converts between atoms and a list of character codes. If Atom is an atom then CharList is unified with the list of character codes for the name of Atom. If Atom is uninstantiated and CharList is a list of character codes, then instantiate Atom to the atom whose name is formed from CharList.
?- atom_codes(abc, X). X = [0w0061, 0w0062, 0w0063] yes ?- atom_codes(X, "abc"). X = abc yes
atomlist_concat/2 concatenates all of the atoms in the list AtomList to create a single atom, Atom.
?- atomlist_concat([cats,and,dogs], X). X = catsanddogs yes
atom_concat/3 concatenates atoms Atom1 and Atom2 and unifies that with variable AtomVar3. It can also generate all possible pairs of atoms, Atom1 and Atom2, from a given atom AtomVar3.
?- atom_concat(cats, dogs, X). X = catsdogs yes ?- atom_concat(A, B, abc). A = '' B = abc ; A = a B = bc ; A = ab B = c ; A = abc B = '' ; no
atom_length/2 unifies the length of Atom with Length.
atom_uplow/2 creates a new uppercase atom, AtomUpper, from a lowercase atom, AtomLower, and vice versa.
is_atom/1 succeeds if X is an atom.
name/2 is the same as atom_codes/2. It is preserved because it is used in many old Prolog programs.
sub_atom/4 extracts parts of atoms like sub_string/4 does for strings. The parameters are:
In addition to the requirement that Atom be instantiated, either Index and Length must be instantiated, or SubAtom. In the first case the subatom is found, and in the second, the index andlength are found. Backtracking is fruitful in the second case if the subatom can be found more than once.
If Index is instantiated and Length isn't, SubAtom becomes the rest of the Atom and Length is instantiated to its length.
The instantiation requirements are somewhat more restrictive than the ISO standard which specifies that sub_atom can be used to generate all possible subatoms, with index and length, from a given atom.
Example:
?- sub_atom(ratatatat, 1, 3, X) X = rat ?- sub_atom(ratatatat, I, L, tat) I = 3 L = 3; I = 5 L = 3; I = 7 L = 3; no
Some list utility predicates are basic built-in predicates. There are many more that are part of the list library. These are the built-in ones.
is_member/2 is a restricted version of the classic member/2 predicate (in the LIST.PLM library) than can be used for fast testing if Term is a member of List. It uses a strong unify (==) for testing the element. It cannot be used to backtrack through the various members of a list. The definition is equivalent to:
is_member(X, [Y|_]) :- X == Y, !. is_member(X,[_|Z]) :- is_member(X,Z).
sort/2 sorts a list. List should be bound to a list. SortedList gets unified with the list whose elements are those of List arranged according to standard order.
?- sort([q,w,e,r,t,y,u], X). X = [e, q, r, t, u, w, y] yes
keysort/2 sorts a list of keyed elements of the form Key-Item. KeyedSortedList should be bound to a list. KeyedSortedList gets unified with the list whose elements are those of KeyedList sorted by key in standard order.
?- keysort([a-1, r-9, w-3, b-2, y-2, c-1], X). X = [a - 1, b - 2, c - 1, r - 9, w - 3, y - 2] yes
is_string/1 succeeds if X is a string.
nonblank_string/1 takes a String as its argument and tests to make sure it contains at least one non-whitespace character. It succeeds if the string is nonblank, and fails if it's blank.
strcat/3 concatenates the first two strings to from the third. The first two arguments must be strings.
stringlist_concat/2 concatenates all of the strings or atoms in StringList to create the output String. For example:
?- stringlist_concat([ `one `, two, ` three` ], X). X = `one two three`
stringlist_concat/3 allows the use of a separator string that will appear between all of the elements in StringList
?- stringlist_concat([`one`,`two`,`three`], `..`, X). X = `one..two..three`
string_atom/2 is used to convert between a string and an atom. If String is bound to a string, then Atom is unified with the corresponding atom. If Atom is bound to an atom, then String is unified with the string representation. The more general string_term/2 can be used as well.
string_float/2 is used to convert between a string and a floating point number.
string_icomp/2 Performs a case insensitive compare of two strings.
?- string_icomp(`ABC`, `abc`). yes
string_integer converts back and forth between a string and its integer value (i.e., 33 and `33`). The more general string_term/2 can be used as well.
If String is bound to a string of digits, then Integer is bound to the corresponding value. If Integer is bound to a value, then String is bound to the ASCII digits representing that value. For example:
?- string_integer(StrVal, 33). StrVal = `33`
string_number converts back and forth between a string and its numeric value.
string_length/2 requires that String be bound to a string. Length is unified with the length of the string. For example:
?- string_length(`how long am i?`, Len). Len = 14
string_list/2 converts back and forth between a string and its representation as a list of character codes(i.e., "foo" and `foo`).
If String is bound to a string then string_list succeeds if it can unify List with the list of character codes of the characters in the string.
If List is bound to a list of character codes then this predicate succeeds if String can be unified with the string comprising the characters whose codes are in List.
For example:
?- string_list(X, [70, 79, 79]). X = `FOO`
string_list/2 It is especially useful for applications that do character-by-character parsing on input/output strings. DCG applications often use string_list/2. The following example uses some list library predicates to add a file extension to a string file name if it doesn't have one.
:- ensure_loaded(list). :- import(list). add_file_extension(S_FILE, S_EXT, S_OUT) :- string_list(S_FILE, L_FILE), (member(0'., L_FILE) -> S_OUT = S_FILE ; string_list(S_EXT, L_EXT), append(L_FILE, L_EXT, L_OUT), string_list(S_OUT, L_OUT) ).
Trying it:
?- [ex_string_list]. yes ?- add_file_extension(`ducky`, `.pro`, X). X = `ducky.pro` yes ?- add_file_extension(`ducky.pro`, `.plm`, X). X = `ducky.pro` yes
string_split splits the String into a list of strings separated by the characters in the DelimiterS string. Unifies the result with List.
?- string_split(`one/two:three`, `/:`, X). X = [`one`,`two`,`three`]
Note, string_split/3 differs from string_tokens in that it preserves whitespace, and does not return the delimiters as part of the list.
string_term/2 converts back and forth between a string and a term. For example:
?- string_term(`whiz(bang)`, X). X = whiz(bang) ?- string_term(X, whiz(bang)). X = `whiz(bang)`
string_term/2 uses the normal Prolog I/O reader to read/write the term to/from the string. You can use catch/3 to catch bad syntax in the string as the following example shows:
check_string :- repeat, write(`Enter term: `), read_string(STRING), catch( string_term(STRING, TERM), X, process_error(X) ). process_error(X) :- write(`Error: `), write(X), nl, write(`Try again`), nl, fail.
Trying it:
?- check_string. Enter term: duck+*(le Error: error(syntax_error, [type = read, rc = 407, message = Unexpected operator, ... read_buffer = duck+*( **NEAR HERE** le ., ...]) Try again Enter term: duck(leona) yes
string_termq/2 is exactly like string_term/2, except when creating a string from a term it adds syntax like quotes as necessary to ensure that the string can be converted back to the same term. For example, an atom with a leading uppercase letter needs to be quoted so it isn't confused as a variable. For example:
?- string_termq(S, person(name('Walter'), addr(`Maple Way`))). S = `person(name('Walter'), addr(``Maple Way``)))`
is_string_termq/2 is exactly like string_term/2, except instead of throwing an error when an input string has a syntax error, it simply fails.
string_tokens/2,3 takes a string and parses it into a list of tokens, where a token is a sequence of alphanumeric characters, or a punctuation mark. Whitespace between the tokens is removed with one exception, an ending period. An period embedded in text is simply a period, but one followed by white space is period space ( '. ' ). For example
?- string_tokens(`the file log.txt is 3.4 pages. or so.`, X). X = [the, file, log, ., txt, is, '3', ., '4', pages, '. ', or, so, '. '] ?- string_tokens(`Don't go near, or in, the water!`, X). X = ['Don','''',t,go,near,',',or,in,',',the,water,!]
The three argument version allows you to specify the characters considered as punctuation marks. For example this query might be used to parse HTML strings:
?- string_tokens(`<H2>This: A heading?</H2>`, X, `<>/`). X = [<,'H2',>,'This:','A','heading?',<,/,'H2',>]
Note, string_tokens/2,3 differs from string_split/3 in that all delimiters are returned in the TokenList, and whitespace is not preserved.
string_trim/2 Trims the leading and trailing white space from String and unifies the resulting string with TrimmedString.
?- string_trim(` hello `, X). X = `hello`
sub_string/4 is used to locate or generate a substring of a given string. String must be bound to a string. There are two cases to consider:
For example:
?- sub_string(`i am hiding`, Where, Len, `am`). Where = 3 Len = 2 ?- sub_string(`1Q93`, 3, 2, Year). Year = 93
For example, this was run on a Windows version of Amzi!:
?- tilt_slashes(`abc/def/ghi`, X). X = `abc\def\ghi` yes
atom_chars/2 converts back and forth between an atom and a list of characters.
char/1 succeeds if X is a character.
char/1 converts back and forth between an atom and a list of characters.
number_chars/2 converts back and forth between a number and a list of characters.
Copyright ©1987-2011 Amzi! inc. All Rights Reserved. Amzi! is a registered trademark and Logic Server is a trademark of Amzi! inc.


Home
About Us
Shop
Events
Admin Login
Pat's Salmon Cookies
Shop
Salmon T-shirt: $20
Cookie Cutter: $10
Frosted Cookies: $2 each


meet us
All of our accountants are chartered and certified. Our team has the expertise and experience to help you business with general accountancy service through to specialized consultancy.
Our team of Chartered accountants helps company owners along their journey to success and we have the great privilege of advising and supporting them.
We save you time and money and the transparency of our fees and charges allows you to better budget for your accounting costs. You will always know exactly what you are paying in advance. We offer monthly payment options so that you can budget accordingly. You will always know exactly what you are paying in advance.
We promise to be professional and friendly in all our communications with you and with any institution that we contact on your behalf.
We promise to listen to your questions and assist you to the best of our ability in filing your accounts correctly and on time. We’ll make sure you meet all your annual compliance deadlines.
Our team of Chartered accountants helps company owners along their journey to success and we have the great privilege of advising and supporting them.
We save you time and money and the transparency of our fees and charges allows you to better budget for your accounting costs. You will always know exactly what you are paying in advance. We offer monthly payment options so that you can budget accordingly. You will always know exactly what you are paying in advance.
We promise to be professional and friendly in all our communications with you and with any institution that we contact on your behalf.
We promise to listen to your questions and assist you to the best of our ability in filing your accounts correctly and on time. We’ll make sure you meet all your annual compliance deadlines.


 By Dia!kwãin (L V.-9. 4653-4688). An account of what the springbok did when Dia!kwain's first wife (Mietje) died. Ssu-!kui-ten-tta points out that he had told Dia!kwain that the actions of the game foretold what was happening at home.
Comments
1) p.4652v: Dia!kwain's first wife was called Mietje; the names of her parents and where they lived, 2) p.4669v: about Dia!kwain's maat or friend Snore-White-Lying or 'Witbooy', who was taken to the Breakwater before Dia!kwain and died there, 3) p.4671v: the names of Snore-White-Lying's child and another old woman who brought up Dia!kwain's child after his wife died, 4) p.4673v: the |xam name for the hollow at the base of the throat, 5) p.4675v: the name of Dia!kwain's eldest daughter; Snore-White-Lying and his family all lived at their place, 6) p.4678v: Dia!kwain doesn't know how to feed the baby, so asks Snore-White-Lying for advice, 7) p.4683v: the age of Dia!kwain's child when his wife died; about Dia!kwain's niece and the burial of his wife, 8) See also The explanation of the name Ssu-!kui-ten-tta (or Snore-White-Lying), 9) This story is found in Book V-9
Contributors
Date
29 April-May 1875
Categories
History (personal), Custom and daily life, Portention, Plants and animals
Keywords
game (and the actions of springbok and gemsbok) , game (and premonitions of death) , game (its actions foretell death) , game (and the death of Dia!kwain's first wife) , game (knew the death of Dia!kwain's wife) , game (know what is happening at home) , foreboding (and the actions of the game) , foreboding (or 'death-news') , foreboding (of death) , foreboding (springbok and gemsbok knew the death of Dia!kwain's wife) , presentiment (and the actions of springbok and gemsbok) , presentiment (premonitions of death) , presentiment (the actions of the game foretell death) , presentiment (springbok and gemsbok knew the death of Dia!kwain's wife) , death (and actions of the springbok and gemsbok) , death (the actions of the game foretell) , death ('death news') , death (of Dia!kwain's wife) , death (foretelling) , springbok (at Dia!kwain's wife's grave) , springbok (bring 'death-news') , springbok (shot by Dia!kwain) , springbok (their actions foretell death) , springbok (knew the death of Dia!kwain's wife) , springbok (their actions and premonition of death) , gemsbok (their actions foretell death) , gemsbok (and the death of Dia!kwain's wife) , gemsbok (knew the death of Dia!kwain's wife) , Dia!kwain (the actions of the game that foretold his wife's death) , Dia!kwain (was advised by Snore-White-Lying) , Dia!kwain (his wife's burial) , Dia!kwain (feeding his child) , Dia!kwain (the death of his wife) , Dia!kwain (his personal history) , Dia!kwain (springbok and gemsbok knew the death of his wife) , Dia!kwain (his first wife was called Mietje) , personal history (of Dia!kwain) , personal history (the death of Dia!kwain's wife was foretold by the game) , personal history (of Snore-White-Lying or Ssu-!kui-ten-tta) , Snore-White-Lying (his personal history) , Snore-White-Lying (advised Dia!kwain) , Snore-White-Lying (and the death of Dia!kwain's first wife) , burial (of Dia!kwain's first wife) , burial (springbok and gemsbok knew the death of Dia!kwain's wife) , grave (and the death of Dia!kwain's first wife) , grave (springbok and gemsbok knew the death of Dia!kwain's wife) , grave (the actions of springbok at Dia!kwain's wife's) , child (how Dia!kwain cared for his after the death of his first wife) , child (and the advice given by Snore-White-Lying) , name (Dutch, of Dia!kwain's first wife was Mietje)
Story Pages
4653-4688


This site will host the projects by the software engineering team / indie game developers Plexers. We are a new team based in Thessaloniki. We come from various places, from the exotic Alexandroupolis to the islandic Corfu to the mountainous Tirnavos. We share though a common vision: our passion for high quality software.
Currently we have no available products but lots of them are under construction. Our next project is probably going to be announced soon. Stay tuned!
Our team consists of twelve invaluable people.
Feel free to contact us at<EMAIL_ADDRESS>and we’ll help you sort it out.


Instead of a tasty looking web page that lured you in, you arrived here instead.
Be a sport and don't tell the others about the actual contents of this site - let them step on this rake the hard way, just as you did. This helps to underline the lesson: not everrything on the internet is safe to click on.
People with less than honorable intensions often try to get you to click on a link to their "attack page", sometimes offering you money or a chance to "win", sometimes by e-mails that contain links... What ever the means, the end goal is typically the same: to exploit you, the user, in one way or the other.
Luckily, this is not one of those pages.
Interested on the technical details of this? See https://github.com/anroots/social-preview-clickbait


T
- the type of the valuepublic abstract class WindowedValue<T>
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
WindowedValue.FullWindowedValueCoder<T>
Coder for
WindowedValue . |
static class |
WindowedValue.ValueOnlyWindowedValueCoder<T>
Coder for
WindowedValue . |
static class |
WindowedValue.WindowedValueCoder<T>
Abstract class for
WindowedValue coder. |
| Constructor and Description |
|---|
WindowedValue() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object other) |
java.lang.Iterable<WindowedValue<T>> |
explodeWindows()
Returns a collection of
WindowedValues identical to this one, except each
is in exactly one of the windows that this WindowedValue is in. |
static <T> WindowedValue.FullWindowedValueCoder<T> |
getFullCoder(Coder<T> valueCoder,
Coder<? extends BoundedWindow> windowCoder)
Returns the
Coder to use for a WindowedValue<T> ,
using the given valueCoder and windowCoder. |
abstract PaneInfo |
getPane()
Returns the pane of this
WindowedValue in its window. |
abstract Instant |
getTimestamp()
Returns the timestamp of this
WindowedValue . |
abstract T |
getValue()
Returns the value of this
WindowedValue . |
static <T> WindowedValue.ValueOnlyWindowedValueCoder<T> |
getValueOnlyCoder(Coder<T> valueCoder)
Returns the
ValueOnlyCoder from the given valueCoder. |
abstract java.util.Collection<? extends BoundedWindow> |
getWindows()
Returns the windows of this
WindowedValue . |
int |
hashCode() |
static <T> WindowedValue<T> |
of(T value,
Instant timestamp,
BoundedWindow window,
PaneInfo pane)
Returns a
WindowedValue with the given value, timestamp, and window. |
static <T> WindowedValue<T> |
of(T value,
Instant timestamp,
java.util.Collection<? extends BoundedWindow> windows,
PaneInfo pane)
Returns a
WindowedValue with the given value, timestamp,
and windows. |
static <T> WindowedValue<T> |
timestampedValueInGlobalWindow(T value,
Instant timestamp)
Returns a
WindowedValue with the given value and timestamp,
GlobalWindow and default pane. |
abstract java.lang.String |
toString() |
static <T> WindowedValue<T> |
valueInEmptyWindows(T value)
Deprecated.
a value in no windows technically is not "in" a PCollection. It is allowed to drop
it at any point, and benign runner implementation details could cause silent data loss.
|
static <T> WindowedValue<T> |
valueInEmptyWindows(T value,
PaneInfo pane)
Deprecated.
a value in no windows technically is not "in" a PCollection. It is allowed to drop
it at any point, and benign runner implementation details could cause silent data loss.
|
static <T> WindowedValue<T> |
valueInGlobalWindow(T value)
Returns a
WindowedValue with the given value in the GlobalWindow using the
default timestamp and pane. |
static <T> WindowedValue<T> |
valueInGlobalWindow(T value,
PaneInfo pane)
Returns a
WindowedValue with the given value in the GlobalWindow using the
default timestamp and the specified pane. |
abstract <NewT> WindowedValue<NewT> |
withValue(NewT value)
Returns a new
WindowedValue that is a copy of this one, but with a different value,
which may have a new type NewT . |
public static <T> WindowedValue<T> of(T value, Instant timestamp, java.util.Collection<? extends BoundedWindow> windows, PaneInfo pane)
WindowedValue
with the given value, timestamp,
and windows.public static <T> WindowedValue<T> of(T value, Instant timestamp, BoundedWindow window, PaneInfo pane)
WindowedValue
with the given value, timestamp, and window.public static <T> WindowedValue<T> valueInGlobalWindow(T value)
WindowedValue
with the given value in the GlobalWindow
using the
default timestamp and pane.public static <T> WindowedValue<T> valueInGlobalWindow(T value, PaneInfo pane)
WindowedValue
with the given value in the GlobalWindow
using the
default timestamp and the specified pane.public static <T> WindowedValue<T> timestampedValueInGlobalWindow(T value, Instant timestamp)
WindowedValue
with the given value and timestamp,
GlobalWindow
and default pane.@Deprecated public static <T> WindowedValue<T> valueInEmptyWindows(T value)
WindowedValue
with the given value in no windows, and the default timestamp
and pane.@Deprecated public static <T> WindowedValue<T> valueInEmptyWindows(T value, PaneInfo pane)
WindowedValue
with the given value in no windows, and the default timestamp
and the specified pane.public abstract <NewT> WindowedValue<NewT> withValue(NewT value)
WindowedValue
that is a copy of this one, but with a different value,
which may have a new type NewT
.public abstract T getValue()
WindowedValue
.public abstract Instant getTimestamp()
WindowedValue
.public abstract java.util.Collection<? extends BoundedWindow> getWindows()
WindowedValue
.public abstract PaneInfo getPane()
WindowedValue
in its window.public java.lang.Iterable<WindowedValue<T>> explodeWindows()
WindowedValues
identical to this one, except each
is in exactly one of the windows that this WindowedValue
is in.public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public abstract java.lang.String toString()
toString
in class java.lang.Object
public static <T> WindowedValue.FullWindowedValueCoder<T> getFullCoder(Coder<T> valueCoder, Coder<? extends BoundedWindow> windowCoder)
Coder
to use for a WindowedValue<T>
,
using the given valueCoder and windowCoder.public static <T> WindowedValue.ValueOnlyWindowedValueCoder<T> getValueOnlyCoder(Coder<T> valueCoder)
ValueOnlyCoder
from the given valueCoder.


InOut 7.0 Video Quality Improver
YouTube Link
Submit
Video Streaming Demonstration Original
Video Streaming Demonstration Output


Go back to where it all began with Pizza sauce and the classic cheese, diced and Pesto sauce with a crispy crust.
Go back to where it all began with Pizza sauce and the classic cheese, diced and Pesto sauce with a crispy crust.
Go back to where it all began with Pizza sauce and the classic cheese, diced and Pesto sauce with a crispy crust.
Go back to where it all began with Pizza sauce and the classic cheese, diced and Pesto sauce with a crispy crust.
Go back to where it all began with Pizza sauce and the classic cheese, diced and Pesto sauce with a Gluten-free crust.
Go back to where it all began with Pizza sauce and the classic cheese, diced and Pesto sauce with a stuffed crust.
Go back to where it all began with Pizza sauce and the classic cheese, diced and Pesto sauce with a crispy crust.
Go back to where it all began with Pizza sauce and the classic cheese, diced and Pesto sauce with a Gluten-free crust.
Go back to where it all began with Pizza sauce and the classic cheese, diced and Pesto sauce with a stuffed crust.


stripe
Businessmodel of Stripe
Customer Segments
Stripe has a multi-sided business model, with two interdependent customer segments that are both needed in order to operate:
- Consumers: This segment consists of individuals, who can make purchases and set up recurring payments.
- Merchants: This segment consists of businesses, who can accept web and mobile payments from consumers. ### Value Proposition
Stripe offers three primary value propositions: price, accessibility, and convenience.
The company charges a flat rate for all transactions from accounts that do less than $1 million in volume a year – 2.9% plus $0.30. It does not include add-on fees such as those for failed transactions, cross-border payments, recurring payments, refunds, or American Express card usage. This feature saves customers lots of money in the long-run. PayPal, in contrast, charges many of these fees.
The company’s service is widely accessible. There are dozens of websites that allow customers to accept and manage payments with Stripe. Also, it supports over 100 currencies, as well as a variety of payment sources including Android Pay, Apple Pay, Alipay, Amex Express Checkout, and Bitcoin.
The company offers many features that make the site highly convenient to use. It enables merchants to set up an account in mere minutes, compared to days for other providers. Its API is quicker to integrate than competing offerings. It offers Stripe Checkout, a customizable offering that provides templates that customers can use to design payment forms, so they do not have to do it from scratch. At processing time it does not redirect off-site for consumers to pay. Lastly, it allows merchants to migrate their consumers’ credit card data if they decide to switch pay processors.
Channels
Stripe’s main channel is its website, through which it markets its offering and makes it available for use. It also offers a mobile app, Stripe Dashboard, through which customers can access the service; they must already have an existing account through the website.
Customer Relationships
Stripe’s customer relationship is primarily of a self-service, automated nature. Customers utilize the service through the main platform while having limited interaction with employees.
The site offers a Help section with answers to numerous potential questions. That said, there is a personal assistance component as users can contact support staff through an e-mail form.
Key Activities
Stripe’s business model entails maintaining a common platform enabling transactions between two parties: merchants and consumers. The platform includes its website and mobile apps.
Key Partners
Stripe’s partners consist of the dozens of companies that enable customers to accept and manage payments using its service.
These include firms in the following areas: Accounting, Analytics, Booking & Ticketing, Card Readers & POS Systems, CRM, eCommerce, Electronic Signature, E-mail Marketing & Dunning, Financing, Form-Building & Software Tools, Fundraising & Marketplaces, Gift Certificates, Installments, Inventory Management, Invoicing, Mobile Payments, Notifications Recurring Payments, Referral Marketing, Relay, Shipping, Transaction Monitoring, and User Management.
Key Resources
Stripe’s main resource is its proprietary software platform, which connects merchants and consumers. As a relatively new startup, it depends heavily on financial resources from investors. As of 2016, it has generated $280 million in seven rounds of funding from 18 investors, who include Sequoia Capital, General Catalyst Partners, Founders Fund, and Thrive Capital.
Cost Structure
Stripe has a cost-driven structure, seeking to reduce expenses through significant automation and low-price value propositions. Its biggest cost driver is transaction expenses, which largely consist of the costs incurred to accept a customer’s funding source of payment. Other major drivers are in the areas of customer support/operations and sales/marketing.
Revenue Streams
Stripe has two revenue streams, which are as follows:
Transaction-Related Revenues: The company generates income from the following:
- Pay-As-You-Go – Fees for individual transactions, which are 2.9% plus $0.30
-
ACH and Bitcoin Payments – Fees for these are 0.8% Service-Related Revenues: The company generates income from the following:
- Connect – This feature offers benefits such as support for ID verification and tax reporting; fees go up to 0.5%
- Atlas – This feature offers support for various actions, including incorporating a firm in the U.S., obtaining guidance about U.S. tax law, and accessing tools from Amazon Web Services; while not yet widely available, it will cost $500 once so


Use this utility to get the UUID of a Minecraft player from their current user name.
UUID: Not found
Name: Not found
Legacy account:
Demo account:


STRUMPACK vs EIGEN for Levenberg-Marquardt nonlinear least squares optimisation
The following documentation and data formed part of the work I carried out at LBNL from 2017 to 2018. The project described herein follows the integration of the STRUMPACK sparse linear solver library into CCTBX. Comparing solver’s various backends with EIGEN’s gives an indication of the applicability of each individual solver to the given problem (Levenberg-Marquardt nonlinear least-squares minimisation) to the observed data. Scalability comparisons are drawn to showcase which backend offers the best performance, allowing for future design decisions. The given code and documents are all available at ExaFEL.
Each different test data set receives its own analysis, as well as a distributed test using CORI. The following files represent part of the scalability analysis performed:
- Single node, MPI+OpenMP, $10^3$ images
- Single node, MPI+OpenMP, $5\times 10^3$ images
- Single node, MPI+OpenMP, $10^4$ images
- Multi node (CORI), MPI, $5\times 10^3$ images
For my other contributions to ExaFEL project, please visit the ExaFEL site.


Introduction LINQ stands for Language Integrated Query. LINQ helps us in querying objects. Introduction of LINQ is a great advantage for developers because as a developer if you have ORM(Object Relation Mapping) framework like Entity Framework then you do not need to write SQL queries. Linq can help you query your business objects as well.
LINQ helps to query
Objects in memory (Collections) Databases (Entities) XML ADO .NET (DataSets) Why Linq?
Introduction Helper Methods are nothing but simply extension methods. If you are wondering what actually an extension method is then check this. This post will talk about different types of helpers -:
HtmlHelpers UrlHelpers Implementing both of them is same like implementing extension methods. Before implementing them it is important to know why we will implement them. Things can also work without them also.
Why Implement Helper Methods?
Introduction This post is about how we can take the advantage of Extension methods that is available in C#. This post will cover everything about C# extension methods. This is one of the posts under knowing C# better. In this post I will explain how we can create extension methods and how extension methods are used in real life situations.
Imagine there is a class file and some methods in the file which does some task.
Introduction S3 stands for Simple Storage Service. It is one of the many services provided by Amazon. This post is all from my experience and what I have learnt during my short professional career. If you are talking of Amazon storage services then it is a very big and unending topic to write on but here I will take example of a simple file to upload into the bucket. Not only uploading but is very important to write the code in an effective way such that it is easy to understand and make subsequent changes easily.
What is a Profiler? Profiling helps in gathering information about an executing application, i.e how much time is spend where which in turn helps allowing to determine those improvements that are required in the application. Anything that helps us do profiling is called as a profiler.
Read more about why profilers and good .NET profilers.
One of them is Miniprofiler
MiniProfiler Miniprofiler is developed by the famous team at StackOverflow.
Introduction This post will contain small code snippets that will convert a string to different types like a datetime,enum etc…
string to enum The below snippet will convert string to an enum value.
string to DateTimeOffset The below snippet will convert string to DateTimeOffset object. If the string cannot be converted then return current DateTimeOffset.
Prerequisites You should have a ccavenue account.
Problem The second step is the problem I faced while integrating the ccavenue page.I found out that most of the people were finding the same.As we are developing something we need to first test it in development environment. Inside your ccavenue account they have already given you the access code,merchant Id and access key for a url.But those credentials will only work if you are redirecting to the ccavenue page from that url only.
Introduction Push notification is like a message that hits the users device.Its a modern way of engaging users in the app.Each app can have their own push notification enabled.
This article is going to cover how we can send a push notification to your mobile using a C# code.
The core things we need to send is Token generated from the device which we want to send push notification to Type of the device (Android,IOS,Windows)


It was friday, and I called up a friend to check what we were going to do tonight. We were gonna smoke hash with friends. I did not eat anything from about 15:00, and did some sporting around 18:30, and took a shower. This way my body would be 'clean'. I did this because I heard it could increase your experiences when using mushrooms, so I decided to try it on hash. It turned out to be Good.
At about 21:00, me and 5 other very good friends sat down at a picknicktable somewhere along a road. We rolled the joint and started smoking it. I am usually very sensitive to the effects of cannabis and it extracts, but we shared the smoke, so I did not really have much. I just had my usual stoned-experiences, until after somewhat half an hour, I saw pretty pretty pretty visuals! It was like all the patterns I ever knew and could recognize came to me, before my eyes, in one dancing and all-knowing stream of purple, deep green, deep blue and beautiful yellow.
This lasted for about 45 minutes of very intense, and an hour of less intense visuals. I felt the stoning effects for a very long time. When I looked in a mirror about 4 hours later, I still was stoned as hell, and could see myself from outside myself, I saw myself as others saw me. This was slightly spiritual. I also felt very close to my friends during the whole thing, seeing some situations as 'photo-moments', perfect describings of good-friends-life.
I also ate a whole lot of chocolate, because of the supposed MAO-inhibitors in it, to see if my experience would change. I could not sense any change because of it. My mindset was very good, because I was with very good friends. I did hot have any alcohol at all for 2 months, and no cannabis for 1 month.
In a whole a good result!
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.


compare_partitions-ConsensusPartition-method.Rd
Compare two partitionings
# S4 method for ConsensusPartition compare_partitions(object, object2, output_file, k1 = 2, k2 = 2, dimension_reduction_method = "UMAP", id_mapping = guess_id_mapping(rownames(object), "org.Hs.eg.db", FALSE), row_km1 = ifelse(k1 == 2, 2, 1), row_km2 = ifelse(k1 ==2 && k2 == 2, 2, 1), row_km3 = ifelse(k2 == 2, 2, 1))
| object | A |
|---|---|
| object2 | A |
| output_file | The path of the output HTML file. If it is not specified, the report will be opened in the web browser. |
| k1 | Number of subgroups in |
| k2 | Number of subgroups in |
| dimension_reduction_method | Which dimension reduction method to use. |
| id_mapping | |
| row_km1 | Number of k-means groups, see Details. |
| row_km2 | Number of k-means groups, see Details. |
| row_km3 | Number of k-means groups, see Details. |
The function produces a HTML report which includes comparisons between two partitioning results.
In the report, there are three heatmaps which visualize A) the signature genes specific in the first partition, B) the signature genes
both in the two partitionings and C) the signatures genes specific in the second partition. Argument row_km1
, row_km2
and
row_km3
control how many k-means groups should be applied on the three heatmaps.


--- layout: post title: Activity date: '2012-11-18T21:51:00.000-08:00' author: Narayan Prasad tags: - Videos - Title Animation - Motion Graphics - After Effects modified_time: '2013-04-16T01:30:04.241-07:00' blogger_id: tag:blogger.com,1999:blog-506707183841377390.post-3468766322119342804 blogger_orig_url: https://narayantalks.blogspot.com/2012/11/activity.html ---
Activity from Narayanan on Vimeo.


Cranky Critic® movie reviews: The Adventures of Sebastian Cole Rated [R], 99 minutes Starring Adrien Grenier, Clark Gregg, Aleksa Palladino, Margaret Colin, Mami Lustig, John Shea Written and Directed by Tod Williams website: http://www.paramountclassics.com/cole_frame2.html
IN SHORT: For the arthouse.
The Adventures of Sebastian Cole is one of those arthouse-centric movies that goes heavy on character development and light on big story points. Which is fine if the characters actually develop in some way. If they progress from point A to, say, Point S. If they only get as far as Point B, you're left to do all the work that the filmmakers should have done. Sebastian Cole looked to be another coming of age story but is, in actuality, more a series of reactions by the main character to small events. Actors like pieces like this, because they get to develop Inner Worlds to work from. If they their jobs well, we don't get to see them "act". (usually a good thing). They do their jobs here, which means there wasn't enough provided in writer/director Tod William's script to satisfy me. It isn't that this is just a "small" film. It's downright tiny.
The Adventures of Sebastian Cole begins with promise. Told in flashback, we meet an upper-middle class family living life in the early 1980s. Daughter Jessica (Mami Lustig) is leaving for college. Son Sebastian (Adrian Grenier) is closing in on his last year of high school. Step-father Hank (Clark Gregg) announces that he'd rather be Mother Henrietta. Mom Joan (Margaret Colin) decides to take her son and return to her native England.
That's a great beginning. Think how you'd react to this literally life altering news. You could get angry, as Jessica does. You could meekly accept, as Joan does. You could try to deal with it, which is what Sebastian will do eight months on when he returns from England looking like an 80s version of a mod. He's got frosted hair, styled clothes, not as extreme as Flock of Seagulls but on that track.
His friends welcome him back. He finds a girlfriend, Mary. He balances his real dad (John Shea) and that family with the very masculine authority figure, who is always wearing a dress, that he lives with. While Clark Gregg makes a really ugly woman, he pulls off the transition with great skill. Indeed, his is the only character that you get a real feeling for as Hank/Henrietta makes the full move from imitating woman-hood to establishing a full identity as a woman to the final trip to the clinic for the snip snip that will permanently end one life and begin another.
Which leaves Sebastian, who has the usual rebellious streak that teenagers have. Despite the strange twist life has presented, he seems to be a fairly normal kid. He harbors ambitions to have great adventures and to write of his experiences, as the young Hemingway did. While he does have what he considers to be adventures, he never writes of them. In short, just your average slightly-better-than-slacker teen.
When I first started writing this review, just after the screening, I was really prepared to dump it into arthouse hell. Now, 24 hours later, I've softened but not much. I don't consider The Adventures of Sebastian Cole to be a great flick but the performances, at minimum, were good enough to keep my attention focused while waiting for something to happen. When that time hit, and I won't tell you what it was, it wasn't enough for me.
On average, a first run movie ticket will run you Eight Bucks. Were Cranky able to set his own price to The Adventures of Sebastian Cole, he would have paid...
$3.00
Rental level. The Adventures of Sebastian Cole is strictly for the arthouse and festival circuit. If this is where you hang, this is what you'll see.
Cranky Critic® is a Registered Trademark and Copyright © 1999 by Chuck Schwartz. All Rights Reserved
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


| date | mileage | type | note |
|---|---|---|---|
| {{<PHONE_NUMBER>006 | date:'MM/dd/yyyy'}} | 123 | personal | home to movie |
| {{<PHONE_NUMBER>006 | date:'MM/dd/yyyy'}} | 123 | personal | home to movie |
| {{<PHONE_NUMBER>006 | date:'MM/dd/yyyy'}} | 123 | personal | home to movie |
| {{<PHONE_NUMBER>006 | date:'MM/dd/yyyy'}} | 123 | personal | home to movie |
| {{<PHONE_NUMBER>006 | date:'MM/dd/yyyy'}} | 123 | personal | home to movie |


| inject {rlang} | R Documentation |
inject()
evaluates an expression with injection
(unquotation) support. There are three main usages:
inject(expr, env = caller_env())
expr |
An argument to evaluate. This argument is immediately
evaluated in |
env |
The environment in which to evaluate |
Splicing lists of arguments in a function call.
Inline objects or other expressions in an expression with !!
and !!!
. For instance to create functions or formulas
programmatically.
Pass arguments to NSE functions that defuse their
arguments without injection support (see for instance
enquo0()
). You can use {{ arg }}
with functions documented
to support quosures. Otherwise, use !!enexpr(arg)
.
# inject() simply evaluates its argument with injection # support. These expressions are equivalent: 2 * 3 inject(2 * 3) inject(!!2 * !!3) # Injection with `!!` can be useful to insert objects or # expressions within other expressions, like formulas: lhs <- sym("foo") rhs <- sym("bar") inject(!!lhs ~ !!rhs + 10) # Injection with `!!!` splices lists of arguments in function # calls: args <- list(na.rm = TRUE, finite = 0.2) inject(mean(1:10, !!!args))


| Class | BodySize::Graph |
| In: |
lib/body_size/graph.rb
|
| Parent: | Object |
Purpose: Create a graph of bodysize records
| graph | [RW] |
Purpose: Allow access to the graph url
|
Purpose: Create a new Graph object
Input:
** grouping_field (String) - The name of the field that was used to group the graph data ** data_field (String) - The name of the Bodysize attribute to use as the data source ** x_axis_label_row_count - The number of rows to use when displaying labels along the x-axis. (Default value is 2) ** x_range - The values that should be used as the range along the x-axis (Default value is 0 - 1000) ** period_spacing (String) - The way the Periods should be spaced on the graph. The options are: *** "even" (default) - Periods will be evenly spaced across the graph *** "midpoint" - Periods will be spaced according to their midpoint. This will give a more accurate representation of time
*NOTE:* This graph currently sets a data point at 1000, 1000 to ensure that the axis ranges do not shrink or get scaled smaller than 1000 when here are no values at the maximum points of the graph. If a better way becomes apparent to set the ranges on google charts, use that method and remove the point at 1000, 1000
Purpose: Create the curves that will be displayed as the data on the graph
Input:
Output:
Purpose: Create Label Rows for the graph
Input:
Output: Returns an Array of LabelRows containing all of the given labels broken up into ‘number’ rows
Purpose: Create Labels for the graph
Input:
Output: Returns an Array of Labels
Purpose: Determine the position of a given period
Input:
Output:
Purpose: Find the range of the data to be graphed
Input:
Output:
Purpose: Retreieve the pertinent data from each bodysize record
Input:
Output: Returns a Hash where each key is the value that will be used as the data point on the graph for a particular record, and the value is the entire bodysize record.


--- title: Configuration keywords: fastai sidebar: home_sidebar summary: "Here I am connecting space on my google drive (for Colab conevience) to sync with github (for verson control)." description: "Here I am connecting space on my google drive (for Colab conevience) to sync with github (for verson control)." nb_path: "000_Synch.ipynb" ---
from google.colab import drive
drive.mount("/content/drive")
Load my Github API token into memory.
token_dir = "/content/drive/MyDrive/API Tokens"
f = open(f"{token_dir}/ModelAssistedLabel repo.txt")
api_token = f.read()
f.close()
Get nbdev
rolling
%%capture
!pip install nbdev
Hook into git and build Jekyll/.py files
!nbdev_install_git_hooks
!nbdev_build_lib
!nbdev_build_docs
Hi git, it's me. I'll tell you what's changed.
!git config --global user.email<EMAIL_ADDRESS>!git config --global user.name "Phil Brockman"
!git add *
message = input()
!git commit -m "{message}"
!git remote set-url origin<EMAIL_ADDRESS>!git push


A simple dialog and framework to handle the EU law (as written by EuGH, 1.10.2019 – C-673/17) about cookies in a website.
You can use this banner for your website free of charge under the MIT license.
The banner and framework was designed in cooperation with data protection officers and lawyers. However, we can not guarantee whether the banner is correct for your website and assume no liability for its use.


| 028:046 Khan | : |
And you (O Muhammad SAW) were not at the side of the Tur (Mount) when We did call, [it is said that Allah called the followers of Muhammad SAW, and they answered His Call, or that Allah called Musa (Moses)]. But (you are sent) as a mercy from your Lord, to give warning to a people to whom no warner had come before you, in order that they may remember or receive admonition. |
| 028:046 Maulana | : |
And thou wast not at the side of the mountain when We called, but a mercy from thy Lord that thou mayest warn a people to whom no warner came before thee, that they may be mindful. |
| 028:046 Pickthal | : |
And thou was not beside the Mount when We did call; but (the knowledge of it is) a mercy from thy Lord that thou mayst warn a folk unto whom no warner came before thee, that haply they may give heed. |
| 028:046 Rashad | : |
Nor were you on the slope of Mount Sinai when we called (Moses). But it is mercy from your Lord, (towards the people,) in order to warn people who received no warner before you, that they may take heed. |
| 028:046 Sarwar | : |
You had not been present at the side of the Mount (Sinai) when We called Moses (from the tree), but through Our mercy we told you his story so that you might warn the people |
| 028:046 Shakir | : |
And you were not on this side of the mountain when We called, but a mercy from your Lord that you may warn a people to whom no warner came before you, that they may be mindful. |
| 028:046 Sherali | : |
And thou wast not on the side of the Mount with Moses, when WE called to him and revealed to him Our prophecy concerning thee. But WE have sent thee as a mercy from thy Lord, that thou mayest warn a people to whom no warner had come before thee, that they may be mindful. |
| 028:046 Yusufali | : |
Nor wast thou at the side of (the Mountain of) Tur when we called (to Moses). Yet (art thou sent) as Mercy from thy Lord, to give warning to a people to whom no warner had come before thee: in order that they may receive admonition. |
Concepts/Themes Covered: أركان الإسلام > (محمد (صلى الله عليه وسلم > تأييد رسالته Pillars of Islam> The Blessed Muhammad(PBUH)> Supporting his Message أركان الإسلام > (محمد (صلى الله عليه وسلم > مخاطبة الله إياه Pillars of Islam> The Blessed Muhammad(PBUH)> Allah's Address to Him(PBUH) القرآن الكريم > محاججة المنكرين والجاحدين The Holy Quran> Arguing the Denyers and the Unbelievers
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


Innocentin:
He was accused of worshipping the devil! His secretive nature, along with the sensitivity of the mission, led to his downfall.
I was occupied elsewhere and couldn't protect him...
He was charged, convicted and executed on the square of Rune Castle! The evidence he had gathered for me was thrown into a deserted well.
"Tell me more!"


--- redirect_from: /docs/1.0.22/modules/injectables.html ---
The State Service
The StateService singleton as a Service Object (injectable during runtime).
This service used to manage and query information on registered states. It exposes state related APIs including:
This angular service exposes the StateService singleton.
The current (or pending) State Parameters
An injectable global Service Object which holds the state parameters for the latest SUCCESSFUL transition.
The values are not updated until after a Transition
successfully completes.
Also: an injectable Per-Transition Object object which holds the pending state parameters for the pending Transition
currently running.
The value injected for $stateParams
is different depending on where it is injected.
Transition
.Transition
.Because of these confusing details, this service is deprecated.
$stateParams
service object,inject $uiRouterGlobals and use UIRouterGlobals.params
MyService.$inject = ['$uiRouterGlobals'];
function MyService($uiRouterGlobals) {
return {
paramValues: function () {
return $uiRouterGlobals.params;
}
}
}
$stateParams
object,inject the current Transition
(as $transition$) and use Transition.params
MyController.$inject = ['$transition$'];
function MyController($transition$) {
var username = $transition$.params().username;
// .. do something with username
}
This object can be injected into other services.
SomeService.$inject = ['$http', '$stateParams'];
function SomeService($http, $stateParams) {
return {
getUser: function() {
return $http.get('/api/users/' + $stateParams.username);
}
}
};
angular.service('SomeService', SomeService);
The StateProvider
An angular1-only StateProvider as a Provider Object (injectable during config time).
This angular service exposes the StateProvider singleton.
The StateProvider
is primarily used to register states or add custom state decorators.
It is a passthrough to $stateRegistry and $state.
The State Registry
The StateRegistry singleton as a Service Object (injectable during runtime).
This service is used to register/deregister states. It has state registration related APIs including:
The State Registry
The StateRegistry singleton as a Provider Object (injectable during config time).
This service is used to register/deregister states. It has state registration related APIs including:
Transition debug/tracing
The Trace singleton as a Service Object (injectable during runtime).
Enables or disables Transition tracing which can help to debug issues.
The current Transition object
The current Transition object as a Per-Transition Object (injectable into Resolve, Hooks, Controllers)
This object returns information about the current transition, including:
The Transition Service
The TransitionService singleton as a Service Object (injectable during runtime).
This angular service exposes the TransitionService singleton, which is primarily used to register global transition hooks.
The Transition Service
The TransitionService singleton as a Provider Object (injectable during config phase)
This angular service exposes the TransitionService singleton, which is primarily used to register global transition hooks.
The UI-Router instance
The UIRouter singleton (the router instance) as a Service Object (injectable during runtime).
This object is the UI-Router singleton instance, created by angular dependency injection during application bootstrap. It has references to the other UI-Router services
Global UI-Router variables
The router global state as a Service Object (injectable during runtime).
This object contains globals such as the current state and current parameter values.
The UI-Router instance
The UIRouter singleton (the router instance) as a Provider Object (injectable during config phase).
This object is the UI-Router singleton instance, created by angular dependency injection during application bootstrap. It has references to the other UI-Router services
The View Scroll function
The View Scroll function as a Service Object (injectable during runtime).
This is a function that scrolls an element into view.
The element is scrolled after a $timeout
so the DOM has time to refresh.
If you prefer to rely on $anchorScroll
to scroll the view to the anchor,
this can be enabled by calling UIViewScrollProvider.useAnchorScroll.
Note: this function is used by the directives.uiView when the autoscroll
expression evaluates to true.
The View Scroll provider
The UIViewScrollProvider as a Provider Object (injectable during config time).
This angular service exposes the UIViewScrollProvider singleton and is used to disable UI-Router's scroll behavior.
The URL Matcher Factory
The UrlMatcherFactory singleton as a Service Object (injectable during runtime).
This service is used to set url mapping options, define custom parameter types, and create UrlMatcher objects.
The URL Matcher Factory
The UrlMatcherFactory singleton as a Provider Object (injectable during config time).
This service is used to set url mapping options, define custom parameter types, and create UrlMatcher objects.
The Url Router
The UrlRouter singleton as a Service Object (injectable during runtime).
The URL Router Provider
The UrlRouter singleton as a Provider Object (injectable during config time).
The URL Service
The UrlService singleton as a Service Object (injectable during runtime).
Note: This service can also be injected during the config phase as $urlServiceProvider.
Used to configure the URL. It has URL related APIs including:
UrlService.config.type
(UrlConfigApi.type)UrlService.rules.when
(UrlRulesApi.when)UrlService.rules.otherwise
(UrlRulesApi.otherwise)The URL Service Provider
The UrlService singleton as a Provider Object (injectable during the angular config phase).
A service used to configure and interact with the URL. It has URL related APIs including:
UrlService.config.type
(UrlConfigApi.type)UrlService.rules.when
(UrlRulesApi.when)UrlService.rules.otherwise
(UrlRulesApi.otherwise)Generated using TypeDoc
Angular 1 injectable services
This is a list of the objects which can be injected using angular's injector.
There are three different kind of injectable objects:
Provider objects
injectable into a
.config()
block during configtime$urlServiceProvider: All URL related public APIs
$uiViewScrollProvider: Disable ui-router view scrolling
Service objects
injectable globally during runtime
$uiViewScroll: Scroll an element into view
$stateParams: (deprecated) Global state param values
Per-Transition objects
Different instances are injected based on the Transition


--- layout: post title: Gaming Napster date: 2005-02-16 00:00:00 ---
How to use Napsters free trial to get 252 CDs of free music; as I think I've written before, when any business faces off against the combined will of the worlds teenagers, my money is on the kids...
I mean, look a Microsoft: a software company. The Big One. And yet *they* suffer tremendously from piracy. If there was a technical solution, don't you think they'd have gotten onto it a few years back?
Update: Martin's pointed to this story, which contains a lovely quote from the Napster folks:
"The DRM (digital rights management) is intact.  This is nothing new and people could do this with any legitimate service if they want to use a sound card," she said."
Oh, that's OK then - I mean, the music's been stolen, but thank god the DRM is still intact!


Sentence Handler¶
-
sentence_handler.
sentence_pairing
(sentences: List[str]) → pandas.core.frame.DataFrame[source]¶ Create a matrix of paired sentences, where same sentences are omitted.
- Parameters
sentences – list of sentences
- Returns
DataFrame with the columns [“sent_1”, “sent_2”] where each row is a paired sentences.
-
sentence_handler.
sentence_rank_with_page_rank
(sentence_pairs_with_score: pandas.core.frame.DataFrame) → pandas.core.frame.DataFrame[source]¶ Rank the sentences based on their similarity score to each other using page-rank algorithm and output their new scores.
- Parameters
sentence_pairs_with_score – DataFrame with the columns [“sent_1”, “sent_2”, “score”] where each row is a paired sentences with their initial similarity score.
- Returns
DataFrame with the columns [“sentence”, “rank”] where each sentence has its rank.
-
sentence_handler.
sentence_sorter
(df: pandas.core.frame.DataFrame, top_n: int, sentences: List[str]) → str[source]¶ Sort the sentences based on their rank and return the full summarized text in which the sentences appear as they are in the given text.
- Parameters
-
df – DataFrame with the columns [“sentence”, “rank”] where each sentence has its rank.
top_n – total number of sentences in the summarized text.
sentences – the given text tokenized into sentences.
- Returns
the summarized text


With schedules changing every quarter, it becomes really difficult to find a mutual time slot to hang out with friends. That’s the motivation behind HitMeUp: a social network to solve the classic scheduling problem. As a user of this application, you’ll have a friends list with customizable privacy settings. You’ll be able to see when you can hit up other friends, whether it’s now or this Friday. The primary goals of HitMeUp are to allow students to easily hang out with any friends who are free at the moment and to easily find times when other people are available.


Roast-Bot:
Roasting, Memes and More.
Made by Ole113#2421
Roast-Bot was made with two things in mind, to make people laugh; and to roast the living
hell out of people. With this in mind Roast-Bot will unlikely have commands that a "multi-purpose" bot
would have.
In "Info" there is info about Roast-Bot, upcoming updates, and past updates. The "command"
tab gives updated information on Roast-Bot commands and simple command usage like what r!help
gives.
Finally the "Command Help" tab gives detailed information about Roast-Bot commands, much like what is
returned by using r!<commamd> help
.
Enjoy
using Roast-Bot, if you have any questions or feedback join the Roast-Bot help server:
Invite
Link.


description of limits/sharing section goes here
You aren't sharing any data sources. Add a data source to share one of your data sources with this organzation. It will be available to all usersr in it.
You aren't sharing any tools. Add a tool to share one with this organization. It will be available to all users in it.


Competencies in Due Diligence
We have experience and knowledge in conducting inspections of companies in the UAE, using all possible methods, including: local court, checking the results of inspections by state authorities
Individual approach
Your requirements are unique. That is why we treat every business individually to tailor the right services to achieve your priorities.
Evaluation of ready-made legal entities
We analyze legal documents of acquired companies and are able to restore financial and accounting records
Complex of all services
SORP offers comprehensive support for acquired companies and their shareholders: from licensing, maintaining Bank accounts to obtaining the status of a tax resident of the country
15 years of successful work
We have helped thousands of clients acquire, build and develop businesses in the UAE
Security and anonymity
We will ensure the security of your investment and take measures to protect your privacy


Life always gives you some ups and downs, but they always make you stronger are more humble for being alive.
Tuesday was something else compared to some of the other days here at DBC, first off we started our day with our morning lecture just like any other day. Today we dove into active record, really got into the meat and potatoes of it… we got to play around with active directory jr, which is basically active directory but without all the full functionality that active directory has. We covered some topics of Object Relational Mapping and just a crash course of what active directory is and where to find the documentation on it online to help if we get stuck,( which was super helpful).
After we had started that and worked on that for a while we broke up into teams and started to work on the challenges, today I paired up with Alisa. Alisa and I haven't paired together since phase 0 and it was really fun! She brings her personality to the pair, which makes everything so much easier to deal with especially when you have frustrations of learning something new. We worked through the active directory jr, challenges which were pretty straight forward and of course active directory in general is pretty interesting and easy to find docs on it, which makes it super easy. I really enjoy doing database queries and accessing databases didn't know that about myself till we did this challenge.
Later in the day after lunch and yoga we had our last EE session (emotional empathy) class, the topic was about our feelings and we all sat in a circle and shared one bit of our past that we wanted to share. It was very intense, but with anything here at DBC they help you grow by having you step out of your comfort zones and really give you the stage to put on your own best Broadway play.


+++ title = "Sophie the Brit" slug = "sophie-the-brit" date = 2007-10-03T11:00:00+10:00 tags = ["brits", "fellow-travellers", "eccentric-encounters"] locations = ["brazil/ilha-grande"] draft = false summary = """
Sophie's a lovely girl from a tiny town near rural Cheltenham, in England. I met her today on the hike to Dos Rios, here on Ilha Grande. She's a very good-looking girl, but is unfortunately taken (don't you just hate it when that happens?) — her boyfriend, apparently, is currently travelling in Australia. Sophie has the ambitious aim of covering both South and Central America within the next 4 months: I say to her, good luck.
""" +++Sophie's a lovely girl from a tiny town near rural Cheltenham, in England. I met her today on the hike to Dos Rios, here on Ilha Grande. She's a very good-looking girl, but is unfortunately taken (don't you just hate it when that happens?) — her boyfriend, apparently, is currently travelling in Australia. Sophie has the ambitious aim of covering both South and Central America within the next 4 months: I say to her, good luck.
{{< galleryphoto "2007-10-03-11-00-00--sophie-s-the-chick-on-the-right.jpg" >}}


Class SpiderGL.Space.MatrixStack
The SpiderGL.Space.MatrixStack is a stack for 4x4 matrices.
- Defined in: space.js
- Extends SpiderGL.Core.ObjectBase
| Constructor Attributes | Constructor Name and Description |
|---|---|
|
SpiderGL.Space.MatrixStack(onChange)
Creates a SpiderGL.Space.MatrixStack.
|
| Field Attributes | Field Name and Description |
|---|---|
| <readonly> |
Gets a copy of the inverse of the matrix at the top of the stack.
|
| <readonly> |
Gets a reference to the inverse of the matrix at the top of the stack.
|
| <readonly> |
Gets a copy of the transpose of the inverse of the matrix at the top of the stack.
|
| <readonly> |
Gets a reference to the transpose of the inverse of the matrix at the top of the stack.
|
| <readonly> |
Gets a copy of the matrix at the top of the stack.
|
| <readonly> |
Gets a reference to the matrix at the top of the stack.
|
| <readonly> |
Gets the stack depth.
|
| <readonly> |
Alias for #matrix.
|
| <readonly> |
Alias for #matrix$.
|
| <readonly> |
Gets a copy of the transpose of the matrix at the top of the stack.
|
| <readonly> |
Gets a reference to the transpose of the matrix at the top of the stack.
|
- Fields borrowed from class SpiderGL.Core.ObjectBase:
- uid
Method Summary
| Method Attributes | Method Name and Description |
|---|---|
|
frustum(min, max)
Post-multiplies the matrix at the top with a frustum matrix.
|
|
|
load(m)
Replaces the matrix at the top with a clone of the passed matrix.
|
|
|
Replaces the matrix at the top with an identity matrix.
|
|
|
lookAt(position, target, position)
Post-multiplies the matrix at the top with a look-at matrix.
|
|
|
multiply(m)
Post-multiplies the matrix at the top with the passed matrix
The matrix a at the top will be replaced by a * m.
|
|
|
ortho(min, max)
Post-multiplies the matrix at the top with an ortographic projection matrix.
|
|
|
perspective(fovY, aspectRatio, zNear, zFar)
Post-multiplies the matrix at the top with a perspective projection matrix.
|
|
|
pop()
Pops the stack.
|
|
|
push()
Pushes into the stack the matrix at its top.
|
|
|
reset()
Resets the stack.
|
|
|
rotate(angle, axis)
Post-multiplies the matrix at the top with a rotation matrix.
|
|
|
scale(v)
Post-multiplies the matrix at the top with a scaling matrix.
|
|
|
translate(v)
Post-multiplies the matrix at the top with a translation matrix.
|
| Event Attributes | Event Name and Description |
|---|---|
|
onChange()
Gets/Sets the callback invoked whenever the top matrix changes.
|
Class Detail
SpiderGL.Space.MatrixStack(onChange)
Creates a SpiderGL.Space.MatrixStack.
SpiderGL.Space.MatrixStack is a stack for 4x4 matrices. Initially, the stack depth is one and contains an identity matrix.
Every method or getter to access the top matrix (or a derivation like inverse or transpose) returns a copy of the internal matrix.
For performance reasons, variants of the above accessors (having the same identifier with the postfix "$" appended) that return a reference to the internal matrix are also present.
The transpose, inverse, and inverse-transpose of the top matrix are calculated and cached when they are accessed.
var s = new SpiderGL.Space.MatrixStack(); s.loadIdentity(); s.scale([2, 0.5, 2]); for (var i=0; i
- Parameters:
- {function(this)} onChange Optional
- A callback function called whenever the stack is modified.
- See:
- reset
- SpiderGL.Space.TransformationStack
Field Detail
<readonly>
{array}
inverse
Gets a copy of the inverse of the matrix at the top of the stack.
- See:
- #inverse$
<readonly>
{array}
inverse$
Gets a reference to the inverse of the matrix at the top of the stack.
The returned array MUST NOT be changed.
- See:
- #inverse
<readonly>
{array}
inverseTranspose
Gets a copy of the transpose of the inverse of the matrix at the top of the stack.
- See:
- #inverseTranspose$
<readonly>
{array}
inverseTranspose$
Gets a reference to the transpose of the inverse of the matrix at the top of the stack.
The returned array MUST NOT be changed.
- See:
- #inverseTranspose
<readonly>
{array}
matrix
Gets a copy of the matrix at the top of the stack.
Initially, the stack has depth one and contains an identity matrix.
- See:
- #matrix$
<readonly>
{array}
matrix$
Gets a reference to the matrix at the top of the stack.
The returned array MUST NOT be changed.
Initially, the stack has depth one and contains an identity matrix.
- See:
- #matrix
<readonly>
{number}
size
Gets the stack depth.
Initially, the stack contains an identity matrix, so its depth is one.
<readonly>
{array}
top
Alias for #matrix.
- See:
- #top$
- #matrix
<readonly>
{array}
top$
Alias for #matrix$.
- See:
- #top
- #matrix$
<readonly>
{array}
transpose
Gets a copy of the transpose of the matrix at the top of the stack.
- See:
- #transpose$
<readonly>
{array}
transpose$
Gets a reference to the transpose of the matrix at the top of the stack.
The returned array MUST NOT be changed.
- See:
- #transpose
Method Detail
-
frustum(min, max)Post-multiplies the matrix at the top with a frustum matrix.
- Parameters:
- {array} min
- A 3-component array with the minimum coordinates of the frustum volume.
- {array} max
- A 3-component array with the maximum coordinates of the frustum volume.
- See:
- #perspective
- #ortho
- SpiderGL.Math.Mat4.frustum
- SpiderGL.Math.Mat4.mul$
-
load(m)Replaces the matrix at the top with a clone of the passed matrix.
- Parameters:
- {array} m
- The matrix whose clone will be set as the top of the stack.
- See:
- #loadIdentity
- #multiply
- SpiderGL.Math.Mat4.dup
-
loadIdentity()Replaces the matrix at the top with an identity matrix.
- See:
- #load
- #multiply
- SpiderGL.Math.Mat4.identity
- SpiderGL.Math.Mat4.identity$
-
lookAt(position, target, position)Post-multiplies the matrix at the top with a look-at matrix.
- Parameters:
- {array} position
- The viewer's position as a 3-dimensional vector.
- {array} target
- The viewer's look-at point as a 3-dimensional vector.
- {array} position
- The viewer's up vector as a 3-dimensional vector.
-
multiply(m)Post-multiplies the matrix at the top with the passed matrix The matrix a at the top will be replaced by a * m.
- Parameters:
- {array} m
- The matrix to post-multiply.
- See:
- #load
- SpiderGL.Math.Mat4.mul
- SpiderGL.Math.Mat4.mul$
-
ortho(min, max)Post-multiplies the matrix at the top with an ortographic projection matrix.
- Parameters:
- {array} min
- The minimum coordinates of the parallel viewing volume.
- {array} max
- The maximum coordinates of the parallel viewing volume.
- See:
- #frustum
- #perspective
- SpiderGL.Math.Mat4.ortho
- SpiderGL.Math.Mat4.mul$
-
perspective(fovY, aspectRatio, zNear, zFar)Post-multiplies the matrix at the top with a perspective projection matrix.
- Parameters:
- {number} fovY
- The vertical field-of-view angle, in radians.
- {number} aspectRatio
- The projection plane aspect ratio.
- {number} zNear
- The distance of the near clipping plane.
- {number} zFar
- The distance of the far clipping plane.
- See:
- #frustum
- #ortho
- SpiderGL.Math.Mat4.perspective
- SpiderGL.Math.Mat4.mul$
-
pop()Pops the stack. After a pop operation, the stack depth is decremented by one. Nothing is done if the stack has only one element.
- See:
- #push
-
push()Pushes into the stack the matrix at its top. After a push operation, the stack depth is incremented by one and the two matrices at its top are identical. There is no limit on the depth the stack can reach.
- See:
- #pop
-
reset()Resets the stack. The stack is reset to its initial state, that is, a stack with depth one containing the identity matrix.
-
rotate(angle, axis)Post-multiplies the matrix at the top with a rotation matrix.
- Parameters:
- {number} angle
- The counter-clockwise rotation angle, in radians.
- {array} axis
- A 3-dimensional vector representing the rotation axis.
- See:
- #translate
- #scale
- SpiderGL.Math.Mat4.rotationAngleAxis
- SpiderGL.Math.Mat4.rotateAngleAxis$
-
scale(v)Post-multiplies the matrix at the top with a scaling matrix.
- Parameters:
- {array} v
- The scaling amount as a 3-dimensional array.
- See:
- #translate
- #rotate
- SpiderGL.Math.Mat4.scaling
- SpiderGL.Math.Mat4.scale$
-
translate(v)Post-multiplies the matrix at the top with a translation matrix.
- Parameters:
- {array} v
- A 3-dimensional vector with translation offsets.
- See:
- #rotate
- #scale
- SpiderGL.Math.Mat4.translation
- SpiderGL.Math.Mat4.translate$
Event Detail
onChange()
Gets/Sets the callback invoked whenever the top matrix changes.
Initially, no callback is defined.