Proud Galician
Interactive CV
Since 1994
Football and motorcycle
Personal blog (spanish)
+34 881 011 376 (extension 1376)
Facultade de Informática
Campus Elviña S/N, 15071
Laboratorio 0.2
Projects
- gem5McPATparse Flex, Bison, C++ - translates the output of gem5 to McPAT format
- gem5-spm C++, Python - implementation of scratchpad memories in gem5 simulator
- iConmunicate Discontinued Android, Nearby, BT - messenger over bluetooth having a gallery of icons
- Look Around Discontinued Android, sensors, Unity, VR - reading QR retrieves information of places of interest, allowing to visualize it using virtual reality through the camera
- MusicSort Discontinued Python, Django, APIs - retrivies all the information of a set of songs uploaded, such as metadata, album cover, lyrics, etc.
Teaching
Course 2018/2019
Publications
@misc{horrostudy, title={Study of the Intel Knights Landing (KNL) memory system tradeoffs}, author={Horro, Marcos and Rodríguez, Gabriel and Touriño, Juan and Kandemir, Mahmut T}, year={2017}, publisher={13th International Summer School on Advanced Computer Architecture and Compilation for High-Performance and Embedded Systems (ACACES)} }, @inproceedings{horro2016exploracion, title={Exploración y optimización energética de arquitecturas heterogéneas con el framework gem5}, author={Horro, Marcos and Rodríguez, Gabriel and Touriño, Juan}, booktitle={Actas Jornadas Sarteco}, pages={509--516}, year={2016} } @inproceedings{horroarchitectural, title={Architectural exploration of heterogeneous memory systems}, author={Horro, Marcos and Rodríguez, Gabriel and Touriño, Juan and Kandemir, Mahmut T}, booktitle={19th workshop on Compiler for Parallel Computing}, pages={1--8}, year={2016} } @inproceedings{horromat, title={Actividades na Ensinanza Secundaria. Experiencia dun alumno no caso concreto de modelización de focos luminosos}, author={Búa, Jose B. and Horro, Marcos}, booktitle={VI Congreso de AGAPEMA}, pages={1--1}, year={2012} }
Trajectory
-
PhD Candidate
Computer Architecture Group
Oct 2017 - present
FPU fellowship
-
MSc Computer Engineering
University of A Coruña
Oct 2016 - Feb 2018
90 credits course to complete my engineering studies
-
Research intern
Computer Architecture Group
Jun 2016 - Sep 2017
Continuation of previous internship and working on topics related with HPC
-
Internship
Department of Electronics and Systems
Jan 2015 - Jun 2015
Competitive internship to collaborate in a department and initiate to research
-
BSc Computer Engineering
University of A Coruña
Sep 2012 - Jun 2016
Erasmus at Chalmer University of Technology from August 2015 to January 2016
Best student award of 2016 promotion
10/10 Final Degree Project -
Science baccalaureate
IES Ramón Cabanillas
Sep 2010 - Jun 2012
Best student award of 2012 promotion


What is Kanban?
by Mykola Nazimkov
Kanban- is a lean method to manage and improve work across human systems.
In software development, the aim is to provide a visual process management system which aids
decision-making about what, when, and how much to produce.
Three general practices of Kanban:
- It visualizes the work of the development team (the features and user stories).
- It captures WIP limits for development steps: the circled values below the column headings that
limit the number of work items under that step
- It documents policies, also known as done rules, inside blue rectangles under some of the
development steps.
Visualization of work on Kanban board
Managing workflow
Kanban manages workflow directly on the Kanban board. The WIP limits for development steps provide development teams immediate feedback on common workflow issues.Problems are visual and evident immediately, and re-planning can be done continuously. The work management is made possible by limiting work in progress in a way team members can see and track at all times.
Kanban metrics
- Team velocity
- Lead and Cycle time
- Actionable Agile metrics
Examples of kanban services:
- Trello
- Kanbanchi
- MeisterTask
- Microsoft Planner
Trello
Kanbanchi
MeisterTask
Microsoft Planner


Leverage the artful language and graceful expression of the Capoeira artform to improve productivity and ingenuity. Let Professor Zumbi guide the process. Professor Zumbi is an internationally accredited Capoeira teacher based in Seoul, Korea. Zumbi leads Capoeira Retreats at a location of your choosing or at select facilities in Jamaica.
Capoeira Retreats are designed for businesses that need highly functioning and interactive teams that need to escape the office environment for a while to stimulate creative thinking. The retreats substitute regular interaction with the movements of Capoeira. Participants interact with each other using Capoeira to accomplish graceful and cooperative exercises. Capoeira Retreats help improve:
Teamwork
Emotional Intelligence
Vision & Strategic Thinking
The practice of Capoeira is also a great total body exercise that, if coupled with our optional meditation practice, is also a great stress reliever. Not including travel time, Capoeira Retreats will require your team to invest a minimum of two full days. Please review our packages and contact us today!
Contact us to create a custom package or choose from one of the following basic packages (facilities and other expenses not included):
2 Day Workshop - 5,000 USD
5 Day Workshop - 10,000 USD
10 Day Workshop - 15,000 USD (best value)
Not sure how long of a retreat you need? Contact us and let us help you decide.
Capoeira Retreats are managed and led by Munair Simpson. Munair Simpson is the proprietor and principal teacher at the Capoeira Studio in Seoul, South Korea. Munair Simpson, born in Jamaica and raised in the Cayman Islands, worked for both fleet-footed startups in the United States and large bureaucratic companies in Korea and elsewhere before founding the Capoeira Studio.
Munair Simpson is a graduate of the prestiguous Wharton MBA program at the University of Pennsylvania. He has been practicing Capoeira for over 15 years. For the last 10 years has been teaching Capoeira all over the world. He was official given the title of "teacher" (or "professor" in Portuguese) by the Capoeira grandmaster, Mestre Acordeon. Capoeira practioners know him as Professor Zumbi.
Need further information? Please contact us via email.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/usability.20bug.20in.20squeeze_simp.html ---
@Simon Hudon If I run squeeze_simp [(mul_assoc _ _ _).symm]
, the output contains metavariables eq.symm (mul_assoc ?m_1 ?m_2 ?m_3)
.
Do you think you could postprocess to restore the _
s?
I use pp
to pretty print so it's not obvious. If I replace all with a constant named _
, it comes out as «_»
. I could try cleaning up after the pretty printing.
Actually, I think I'll just create a local_const
with a unique name and then replace it with _
afterwards
Last updated: Apr 24 2020 at 19:02 UTC


@studio bieberich I {{submission.createdAt}}
{{submission.question.text}}
-
{{submission.text}}
{{#translations}}
-
{{submission.text}}
{{/translations}}
{{submission.text}}
{{submission.text}}


One Bike
One Bike
Cycling to work today on my touring bike, it occurred to me that whilst I have three bikes, I would probably be happy with just the one.
This was in my mind because yesterday I was thinking that when the time comes around for the Cycle to Work vouchers at work to be issued, I could consider getting myself a Pashley Sovereign to commute to work on (that’s besides the fact that I commute to work on my Dawes currently!)
Cycling in to work today though I experienced a change of heart.
If I had to reduce my collection down to a single bike, I know exactly what bike that would be - my Brompton.
To date, it’s done over 4,510 Km (that’s what Strava says and I’ve not tracked every ride I’ve done on it). That’s fairly impressive in my eyes. The last bike that comes close to that was my Raleigh road bike that I used to own which managed 2,768Km before I retired it and sold it.
I’ve done a mix of long and short distance rides on the Brompton and it handles them all. Ok, so my road bikes average speed on Strava is apparently 24.1Km/h compared to the Bromptons 19.7 Km/h but I think what I’ve done on the Brompton has been more fun. I’ve not done some of the hiller rides that I used to do on the road bike but those hills I have ridden it on have been good.
So, if I had to sell all my bikes, except one, tomorrow - I know what one I’d be keeping.


Universal Development
The 11binary development platform enables business and marketing resources to create their own applications without
having to rely on development and IT resources to do so. Enterprise class. Scalable. Reliable. Manageable.
It's so easy, even an adult can do it.
Universal Data
SQL, Oracle, Mongo, Hadoop, Legacy Mainframe - the 11binary universal data tier plays nicely with all forms of data. Heck, use a bunch of excel spreadsheets if you'd like, your app will work with it.
Data Source
Legacy data, existing data, or new data to collect, the 11binary data tier enables application level access across data platforms.
Worldwide Access
From across the globe to your local datacenter, 11binary enables pinpoint search activity - you'll be able to work with your data like never before - quickly, redundantly, and securely.
Cloud Optimized
Leverging the vast compute, storage and ubiquity of cloud processing, 11binary processes data with the speed of massively parallel processing. Process data in seconds, not days.
Universal Logic
11binary utilizes a workflow-based rules engine for all its core logic processing. Configurable, manageable and scalable, the 11binary workflow engine puts the power in the hands of the people who know their busines best. Oh, and you can make changes on the fly - no more waiting on IT to get around to releasing an update.
This is true power.
Workflow
Leveraging a workflow-based rules engine, business analysts and power users can easily configure custom data and business rules into their apps. Can you draw a workflow diagram? You can do this.
Event Driven
Combine logic rules with an event-driven architecture to empower your applications. Throw in massive parallel compute speeds, and your apps are going to stun your users with their responsiveness.
Messaging
Everyting is message-based. Encrypted, streamlined, dedicated and distributed, message based communication enables your applications to scale exponentially, leverage existing services, and interact with future applications. Future-proof your app from day one.
Universal UI
Web? check. Desktop? check. Android? No problem iOS? Really? Ok, we got that too. 11binary applciations work any platform, anywhere.
Built to Work
Event-based, distributed, workflow-based logic cores take care of the hard part, putting your application where it needs to work is the easy part; though that doesn't cover making it look good - that's true artistry, but we make it easy for you to begin with.
Let's Get Started
Contact the 11binary team & get started building next generation applications today.


Our user-friendly VAS application enables the farmer to connect with the players, service providers, record all the farm data, transactions in one place.
Farmer can use the digital agronomic schedules and prescriptions to optimize production and improve output. Farmer can connect with VAS certified agronomists to seek diagnostics of their farms.
Buyer platform enables the farmers and buyers connect virtually and make the exchange transparent for the end consumer.
Data Analytics can enable the input dealers and manufacturers to receive precision field level data which can optimize their marketing strategy.
Farmers can seek advice from VAS certified agronomists
Data capture device through low cost android smartphones
Banks, insurance bodies and other financial bodies...
Agriculture policy makers can get real time ground level data...


Traditional Services
We believe strongly in helping families choose the right service options at an affordable price. Our traditional services offer families experiencing grief a choice on how they want to memorialize their loved one.
Visitation
This time is set aside for family and friends to gather together to say goodbye, while being in the comfort of those closest to them. We can personalize the visitation to be as unique as your loved one with a tribute video, items or displays that were important to your loved one, or simply pictures displayed. We will work with your family to design the perfect gathering experience.
Funeral Service
The funeral service can be held in our chapel, a church, or any other venue the family chooses. We work with our families to design a service that honors their loved one with stories, music, or scripture. We also have life celebrants that lead services where clergy may not be chosen. Our celebrants are trained in creating experiences that help start the healing process.
Graveside Service
A graveside or committal service is typically held immediately following the funeral service but it can also be a small intimate gathering of those closest to you.


Bella Hadid Shows Off Cute Bob at Vogue Event in Paris
Bella Hadid is showing off her cute, new ‘do!
The 23-year-old model showed off her short bob while stepping out for the Vogue Fashion Festival Photocall on Friday evening (November 15) at the Hotel Potocki in Paris, France.
PHOTOS: Check out the latest pics of Bella Hadid
Earlier this week, Bella arrived in Paris to shoot a few new upcoming campaigns.
The other day, Bella took to Instagram to share a couple cute photos cuddling with a puppy during a Dior shoot.
“Not expected but very much appreciated,” Bella wrote.
10+ pictures inside of Bella Hadid stepping out for the event…


Popular Areas in whipped vs buttercream frosting
Buns In My Oven » Whipped Frosting
Sep 21, 2011 . Buttercream hating aliens. Protect your children! If you are one of those freaks silly people who prefer the less sweet whipped frosting to the .
http://www.bunsinmyoven.com/2011/09/21/whipped-frosting/
HOW TO MAKE FLUFFY WHIPPED BUTTERCREAM FROSTING ...
May 24, 2012 . How to make fluffy yummy WHIPPED BUTTERCREAM frosting / icing . whip n top liquid whipped cream mix or heavy whipped cream about a .
http://www.youtube.com/watch?v=BUkm4JLO7io
My Favorite Fluffy Buttercream Frosting - Cooking Classy
Sep 10, 2012 . My sister and I both agree this is the best Buttercream Frosting, EVER! . fold in some whipped cream or cool whip and use it as a fruit dip; add .
http://www.cookingclassy.com/2012/09/my-favorite-fluffy-buttercream-frosting/
Whats the difference between whipped and butter cream frosting
Whats the difference between whipped and butter cream frosting? In: Icing and Frosting . What is worse for you butter or whipped cream? Whipped cream is .
http://wiki.answers.com/Q/Whats_the_difference_between_whipped_and_butter_cream_frosting
Vanilla Whipped Buttercream Recipe at Epicurious.com
Find the recipe for Vanilla Whipped Buttercream and other vanilla recipes at . I love using this as a frosting or a filling because it is light and creamy, and less .
http://www.epicurious.com/recipes/food/views/Vanilla-Whipped-Buttercream-354011
The Difference Between Whipped Icing & Buttercream | eHow.com
Whether you make it yourself or buy it from the supermarket, icing adds both decadence and whimsy to cakes. Icing (or whipped icing) and buttercream are two .
http://www.ehow.com/info_8457817_difference-between-whipped-icing-buttercream.html


Demo of sending events from the Web to the mediaCLOUD and onto the SignagePlayer LAN server
This also allows for remote controlling Internet Of Things (such as Arduino) securely, even while using a Firewall and private IPs


Represents a tagged and id'd container for components that can be operated on by systems.
More...
|
| ulong | Mask [get, set] |
| | Gets and sets the entities component mask. More...
|
| |
| ulong | ID [get, set] |
| | Gets and sets the entities Globally Unique ID in the EntityMap More...
|
| |
| string | Tag [get] |
| | Gets this entities tagname More...
|
| |
| Dictionary< Type, IComponent >.ValueCollection | ComponentList [get] |
| | Gets the list if components attached to this entity. More...
|
| |
| Dictionary< Type, IComponent >.KeyCollection | ComponentTypeList [get] |
| | Gets the types of components this entity has attached More...
|
| |
| bool | Persistant [get, set] |
| | Gets or sets a value indicating whether this T:MidnightBlue.Engine.EntityComponent.Entity is persistant in its parent T:MidnightBlue.Engine.EntityComponent.EntityMap. More...
|
| |
| bool | Active [get, set] |
| | Gets or sets a value indicating whether this T:MidnightBlue.Engine.EntityComponent.Entity is active. Inactive entities are skipped over in each EntitySystems Process() method but aren't destroyed. Allowing semi-persistant entities. More...
|
| |
Represents a tagged and id'd container for components that can be operated on by systems.
§ Entity()
| MidnightBlue.Engine.EntityComponent.Entity.Entity |
( |
EntityMap |
container, |
|
|
string |
tag = "" |
|
) |
| |
|
inline |
Initializes a new instance of the T:MidnightBlue.Engine.EntityComponent.Entity class.
- Parameters
-
| container | The entities parent EntityMap |
| tag | Tagname to give the entity |
§ Attach()
| void MidnightBlue.Engine.EntityComponent.Entity.Attach |
( |
IComponent |
component | ) |
|
|
inline |
Attaches a new component to the entity.
- Parameters
-
| component | Pre constructed component to add |
§ Attach< T >()
Attaches a new component to the entity.
- Parameters
-
| args | The components constructor arguments |
- Template Parameters
-
| T | Type of component to attach |
§ Detach< T >()
| void MidnightBlue.Engine.EntityComponent.Entity.Detach< T > |
( |
| ) |
|
|
inline |
Detatches a specific component from the entity
- Template Parameters
-
| T | The type of component to detatch. |
§ DetachAll()
| void MidnightBlue.Engine.EntityComponent.Entity.DetachAll |
( |
| ) |
|
|
inline |
Detachs all of the entities attached components.
§ GetComponent< T >()
| T MidnightBlue.Engine.EntityComponent.Entity.GetComponent< T > |
( |
| ) |
|
|
inline |
Queries the entity to see if it has a component attached and returns it if it does
- Returns
- The component if the entity has it attached, null otherwise
- Template Parameters
-
| T | Component to query the entity for. |
§ HasComponent< T >()
| bool MidnightBlue.Engine.EntityComponent.Entity.HasComponent< T > |
( |
| ) |
|
|
inline |
Checks if an entity has a specific component attached
- Returns
true
, if component is attached, false
otherwise.
- Template Parameters
-
| T | The type of component to check. |
§ Active
| bool MidnightBlue.Engine.EntityComponent.Entity.Active |
|
getset |
Gets or sets a value indicating whether this T:MidnightBlue.Engine.EntityComponent.Entity is active. Inactive entities are skipped over in each EntitySystems Process() method but aren't destroyed. Allowing semi-persistant entities.
true
if the entity is active; otherwise, false
.
§ ComponentList
| Dictionary<Type, IComponent>.ValueCollection MidnightBlue.Engine.EntityComponent.Entity.ComponentList |
|
get |
Gets the list if components attached to this entity.
The component list.
§ ComponentTypeList
| Dictionary<Type, IComponent>.KeyCollection MidnightBlue.Engine.EntityComponent.Entity.ComponentTypeList |
|
get |
Gets the types of components this entity has attached
The component type list.
§ ID
| ulong MidnightBlue.Engine.EntityComponent.Entity.ID |
|
getset |
Gets and sets the entities Globally Unique ID in the EntityMap
GUID
§ Mask
| ulong MidnightBlue.Engine.EntityComponent.Entity.Mask |
|
getset |
Gets and sets the entities component mask.
The component mask.
§ Persistant
| bool MidnightBlue.Engine.EntityComponent.Entity.Persistant |
|
getset |
Gets or sets a value indicating whether this T:MidnightBlue.Engine.EntityComponent.Entity is persistant in its parent T:MidnightBlue.Engine.EntityComponent.EntityMap.
true
if persistant; otherwise, false
.
§ Tag
| string MidnightBlue.Engine.EntityComponent.Entity.Tag |
|
get |
Gets this entities tagname
The tagname
The documentation for this class was generated from the following file:
- Shared/src/Engine/EntityComponent/Entity.cs


Redirecting to current plant visualization in 2 seconds.
If your browser does not take you there automatically, you may wish to visit
the destination
manually.


Trends in Computational Neuroscience: Cosyne 2022
March 2022
Before I dive in, let me explain what this blog post aims to do. This blog post does NOT explain what happened at Cosyne 2022. If you want to see what happened go to: Cosyne 2022 Resources. This post IS about clarifying the trends that transcend model animal, experiment vs. computation, and so many more of our field's dichotomies. These thoughts are my attempt at synthesizing not only where we currently stand as a field and community, but also where we hope to go.
When I started this endeavor of identifying trends I wanted to see all the talk titles together. No authors. No institutions. Just titles. I wanted to put myself into Laura's and Tim's (the organizers') minds and envision what they wanted us to get out of Cosyne 2022. So, I did just that. Before reading this post, I challenge you to look at my list and see what trends you generate! It'll help you at the end of this post, I promise 😁
With that backdrop, let's get started!! I identified eight 😱 trends; they are:
-
✦ Behavior
✦ Comparing Artificial Neural Networks to (dare I say) Real Neural Networks 😉
✦ Opportunities in Dimensionality Reduction
✦ Data Scaling
✦ Single Units ➡ Population Level
✦ Machine Learning for Computational Neuroscience Lags
✦ Model Interpretability
✦ Attractors
1 - Behavior
One of THE 🔥hottest🔥 trends we saw at Cosyne 2022 was behavior. And honestly, most everything about it: from judging the performance of our models on both neural and behavioral metrics to building analysis pipelines specifically for behavior. A professor even said, "I know I reported a lot of behavioral results so let me pause here before I get to the neural results".
To hit this point home, I'm going to show you two conclusion slides that caught my eye. I added red arrows and underlines to really hit the behavior with neural point home! These slides were presented on different days in different sessions, but the striking similarity between their layouts speaks for itself. At Cosyne 2022, behavior was 👑!
From Dan Yamins
From Carsen Stringer
Behavior was heavily discussed at Cosyne 2022 for several reasons: (1) we now have the ability to collect huge amounts of data (see the Data Scaling section), and (2) it's important for us to analyze as many datastreams (neural, behavioral, etc.) as possible to fully describe the scientific phenomenons we observe.
There were many subfields of behavior that were addressed, but one I want to dig into is pose tracking. There were many, many, many examples discussed throughout the talks, posters, and hallways of Cosyne 2022.
From Kiah Hardcastle
- Deep Lab Cut
- TREBA - Trajectory Embedding for Behavior Analysis
- Continuous Whole-Body 3D Kinematic Recordings
- SLEAP - Social LEAP Estimates Animal Poses
2 - Comparing Artificial Neural Networks to (dare I say) Real Neural Networks 😉
I know, I know, I'm being cheeky! But, I have to motivate you through this post somehow 🤓 This area of research was incredibly well represented at Cosyne 2022, but it took numerous forms; I'm going to highlight a few that encapsulate the main directions.
The first is 1:1 mapped artificial and biological neural networks. Let me expand: the artificial neural network's units have a direct 1:1 mapping with biological neurons (in this case the locus coeruleus neurons in drosophila). The knockout training paradigm is the key to get direct correspondance between locus coeruleus (LC) artificial neurons and biological LC neurons.
From Mala Murthy
The second is generative modeling! If you take in real neural data and learn its underlying distribution, then you can generate your own neural data 😮 The generated, and hopefully realistic, neural data can then be compared to real neural data. Why you might ask?... For incredibly difficult neuroengineering problems like: training data-hungry models in data-limited regimes (I'm only a little biased since this is what I work on 🙃). If underlying distributions and data characteristics get you going, I recommend sticking around for the Opportunities in Dimensionality Reduction section!
From Eva Dyer
The third is mixing biological mechanisms with artificial tasks. The MNIST digit dataset and classification task are canonical in machine learning. When we use biological mechanisms (like saccading) to solve classic artificial tasks (like digit classification), we move to an exciting hybrid space where we can analyze both artificial and biological systems with the same metrics.
From Valerio Mante
Speaking of metrics... the last category is similarity metrics between neural networks. Wow, it's almost like somebody planned that 😃 Defining metrics that allow us to quantify similarity or dissimilarity is crucial for sound comparisons between artificial and biological networks (or even biological to biological, and artificial to artificial). Notice the feedforward neural network and mouse brain beside one another in the slide below!! If this sings to you 🎶, check out the next section: Opportunities in Dimensionality Reduction.
From Alex Williams
We discussed comparing artificial neural networks to real neural networks through four distinct lenses: (1) 1:1 mapped artificial and biological neural networks, (2) generative modeling, (3) mixing biological mechanisms with artificial tasks, and (4) similarity metrics between neural networks. They are all incredibly interesting directions and I can't wait to see how they evolve at Cosyne 2023!
3 - Opportunities in Dimensionality Reduction
Tough to go wrong with Sir Mix-a-Lot, but at this point you might be asking yourself: "Sabera, you said dimesionality reduction, not big data! What gives?". What gives is that big data is often high dimensional!
From Carsen Stringer
This handily demonstrates that most all of us at Cosyne deal with high dimensional data, whether it be neural or behavioral. We all really want to and need to do dimensionality reduction, but honestly we can do better. I'll let an anonymous professor from Cosyne 2022 speak for me: "It is a crime against data to just use 3D". In a different workshop, when performing PCA on neural data, the principal components (PCs) explaining relatively low amounts of variance were still helpful in describing the genetic relationships between neural populations. Moreover, these relationships were not captured in the higher order PCs! Don't get me wrong, sometimes these techniques work as can be seen in the examples below, but why not do better?
From Mike Long
From Andre Fenton
From Carsen Stringer
- The Specious Art of Single-Cell Genomics
- Minimum-Distortion Embedding
- Tweet Thread - It's time to stop making t-SNE & UMAP plots.
- Tweet Thread - Tl;dr: definitely time to stop making t-SNE & UMAP plots.
4 - Data Scaling
From Shannon Schiereck
From Flywire
From Carsen Stringer
From Ethan Bromberg-Martin
Here are a few of the examples I found at Cosyne 2022 which span many animal models:
- High throughput behavioral training facilities for rats. This allows you to collect over 5.2 million 😱 behavioral trials per year!!
- Flywire.ai, which is crowdsourcing the first centralized brain wiring diagram in drosophila.
- Deep learning models to automate everything from cell segmentation, to behavior tracking, to neural data analysis, etc.
- Mturk, or Amazon Mechanical Turk. It was used to generate human experimental data at Cosyne 2022. It has also been used in the machine learning community to get human annotations at scale.
In true academic form I will leave you with Exercises for the Reader. These exercises are trends I identified and collected examples for from Cosyne 2022. I will share what I gathered with you, but there is a catch 😏 I would love for you to join the conversation, so that we can build out examples for these topics together. Interested in how you can join the conversations? Click Below!
Before I leave you, to synthesize our trends I hope 😅, I want to thank George Barnum for helping me more eloquently verbalize my thoughts during earlier versions of this post! I also want thank you for sticking around to the end! I hope you learned something 🤗


IM::MESSAGE is used to send a lot of different messages, specified with the int32 'im_what' value in the message. Below is a list
of im_what codes, the parameters that should be added to each message and who is the intended source and destination of each message
Basically you create BMessage with a 'what' value of IM::MESSAGE, add an int32 'im_what with one of the values listed
below and any parameters that are required, and you're done. Send the message with your IM::Manager if you're in a client,
or with the BMessenger provided by im_server if you're in a protocol add-on.
| GET_CONTACT_LIST |
| Sent by im_server to protocols |
|
This message is sent by the im_server to the protocols when they successfully connect.
|
| |
| SEND_MESSAGE |
| Sent by clients to protocols |
| | entry_ref | contact |
| optional | string | protocol |
| optional | string | id |
| | string | message |
|
Specify the protocol, and optionally the id, if you want to force the selection of connection to use when sending the message. The protocol that received the message
will respond with a MESSAGE_SENT message when the message has been sent.
|
| |
| MESSAGE_SENT |
| Sent by protocols to clients |
| | entry_ref | contact |
| | string | protocol |
| | string | id |
| | string | message |
|
Sent to notify the clients that a message has been successfully sent, in response to a SEND_MESSAGE message.
|
| |
| MESSAGE_RECEIVED |
| Sent by protocols to clients |
| | entry_ref | contact |
| | string | protocol |
| | string | id |
| | string | message |
|
A message has been received from a contact (specified by the contact, protocol and id parameter in the message).
|
| |
| STATUS_CHANGED |
| Sent by protocols to clients |
| | entry_ref | contact |
| | string | protocol |
| | string | id |
| | string | status |
| | string | old_status |
| | string | total_status |
| | string | old_total_status |
|
One of contact's connections, protocol:id, has a new status. Status, old_status, total_status and old_total_status are all one of ONLINE_TEXT, AWAY_TEXT, OFFLINE_TEXT.
status and old_status describe the status of the specified connection, total_status and old_total_status describe the total status of the contact.
|
| |
| CONTACT_LIST |
| Sent by protocols to im_server |
| | string | protocol |
| | string | id |
|
Sent in response to a GET_CONTACT_LIST message. Contains a number of id's, one per contact in the server-side contact list.
The im_server will create a new contact file for each id if there isn't one already.
|
| |
| SET_STATUS |
| Sent by clients to protocols |
| optional | string | protocol |
| | string | status |
|
Request that a protocol, or all protocols if none is specified, change you online status to 'status', which should be one of ONLINE_TEXT, AWAY_TEXT or OFFLINE_TEXT.
|
| |
| GET_CONTACT_INFO |
| Sent by clients and im_server to protocols |
| | entry_ref | contact |
| optional | string | protocol |
| optional | string | id |
|
Request any extra information that's available for the specified contact.
|
| |
| CONTACT_INFO |
| Sent by protocols to clients |
| | entry_ref | contact |
| | string | protocol |
| | string | id |
| optional | string | first name |
| optional | string | last name |
| optional | string | email |
| optional | string | nick |
| optional | string | [more] |
|
Response to a GET_CONTACT_INFO request. The protocol decides what information to include in the message, but as much as
possible should be included, and if possible with the parameter names listed above.
|
| |
| REGISTER_CONTACTS |
| Sent by im_server to protocols |
| | string | id |
|
Tells the protocol to start watching status changes for the specified id(s). This is sent in response to either a connection event or an edit event, where
the user has added a new connection to a contact.
|
| |
| CONTACT_STARTED_TYPING |
| Sent by protocols to clients |
| | entry_ref | contact |
| | string | protocol |
| | string | id |
|
The specified contact has started typing a message.
|
| |
| CONTACT_STOPPED_TYPING |
| Sent by protocols to clients |
| | entry_ref | contact |
| | string | protocol |
| | string | id |
|
The specified contact has stopped typing a message. Not always sent.
|
| |
| USER_STARTED_TYPING |
| Sent by clients to protocols |
| | entry_ref | contact |
| optional | string | protocol |
| optional | string | id |
|
Notify the contact that the user has started typing a message.
|
| |
| USER_STOPPED_TYPING |
| Sent by clients to protocols |
| | entry_ref | contact |
| optional | string | protocol |
| optional | string | id |
|
Notify the contact that the user has started typing a message.
|
| |
| STATUS_SET |
| Sent by protocols to clients and im_server |
| | string | protocol |
| | string | status |
| | string | total_status |
Own status for protocol 'protocol' changed to 'status', which should be one of ONLINE_TEXT, AWAY_TEXT or OFFLINE_TEXT.
Total status is now 'total_status', the highest connection state of all protocols.
|
| |
| AUTH_REQUEST |
| Sent by protocols to im_server and clients |
| | entry_ref | contact |
| | string | protocol |
| | string | id |
|
The specified contact has requested authorization to add the user to his or her contact list.
|
| |
| SEND_AUTH_ACK |
| Sent by clients and im_server to protocols |
|
BGA knows all abuot this and can probably tell me what to write here..
|
| |
| CONTACT_AUTHORIZED |
| Sent by protocols to clients |
|
BGA knows all abuot this and can probably tell me what to write here..
|
| |
| REQUEST_AUTH |
| Sent by protocols to clients |
| | entry_ref | contact |
| optional | string | protocol |
| optional | string | id |
|
Request authorization to add contact to contact list.
|
| |
| UNREGISTER_CONTACTS |
| Sent by im_server to protocols |
| | string | id |
|
Stop listening to status changes from id(s).
|
| |
| PROGRESS |
| Sent by protocols to clients |
| | string | progressID |
| | string | message |
| | float | progress |
| | int32 | state |
A progress indicator update. The 'progressID' will be the same for all updates to a specific progress, for example a login process.
The 'message' is a message to be displayed to the user that shows what's currently happening.
The 'progress' is a float value larger than 0.0 but not larger than 1.0 that shows the progress.
The 'state' is one of im_progress_state_type that describes what type of activity is going on, if can be used by clients to alter
the appearance of the progress indicator.
|


A$AP Rocky returns to Sweden months after assault conviction
STOCKHOLM (AP) - A$AP Rocky will perform in Sweden several months after he was convicted of assault in a street brawl.
Concert promoter Live Nation says the rapper will return to Stockholm “after tremendous support from the Swedish fans.” The artist is due to perform Dec. 11 at Stockholm’s Ericsson Globe arena.
A$AP Rocky, whose real name is Rakim Mayers, was convicted of assault for a June 30 street brawl in Stockholm. He pleaded self-defense, saying he tried to avoid a confrontation with two men who were following his entourage.
On Aug. 14, Mayers and his two bodyguards were given “conditional sentences,” meaning they won’t serve prison time unless they commit a similar offense in the future.
President Donald Trump had weighed in to support the Grammy-nominated recording artist.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


Backtesting is not the only or even most important part of the Alpha development process. However, it is essential to display how a strategy performs in a variety of market conditions and not just in a market selected to boost overall performance during that period.
Having a backtest that displays excellent performance over the past 9 months doesn't mean that the strategy isn't valuable, but it displays considerably less information than one that covers the last 5 years. High-value Alphas perform consistently over long periods, and longer backtests contain more information about the algorithm performance across time. Backtests should consist of 5 or more years worth of data before being submitted.
Algorithm performance across a variety of market conditions is significant. It is easier to develop algorithms that perform well in bull-markets than it is
in a down-market. Alphas that can display robust performance across bull-markets, bear-markets, volatile markets, and illiquid markets have much more appeal than an
algorithm that can only succeed under specific market conditions.
Market conditions aren't the same across all asset classes. An Alpha that trades Forex needs to consider market conditions specific to their securities, which might not overlap
with the same kind of equities market. The same holds for derivatives like options, futures, and CFDs -- different securities experience times of strong growth, volatility, and
decline at different times, even if they are somewhat correlated or inter-dependent. Make sure that the backtests reflect the different
market conditions specific to the securities the algorithm is trading.
Investors want to know whether or not a strategy can outperform the broader market to which it is generally exposed. For equities, investors often set the benchmark as the S&P 500, Russell 2000, or another equity index. For example, an algorithm that trades commodity ETFs should pick a benchmark of a popular commodity ETF while a fixed income algorithm should select a fixed income ETFs. This allows investors to compare performance and determine whether the risks, borrowing costs, and commission are worth it to achieve the algorithm results rather than just buying and holding the benchmark.


DeviceShellScript extends Entity
DeviceShellScript class
Tags
Table of Contents
- $_propDict : array<string|int, mixed>
- The array of properties available to the model
- __construct() : mixed
- Construct a new Entity
- getAssignments() : array<string|int, mixed>|null
- Gets the assignments The list of group assignments for the device management script.
- getBlockExecutionNotifications() : bool|null
- Gets the blockExecutionNotifications Does not notify the user a script is being executed
- getCreatedDateTime() : DateTime|null
- Gets the createdDateTime The date and time the device management script was created. This property is read-only.
- getDescription() : string|null
- Gets the description Optional description for the device management script.
- getDeviceRunStates() : array<string|int, mixed>|null
- Gets the deviceRunStates List of run states for this script across all devices.
- getDisplayName() : string|null
- Gets the displayName Name of the device management script.
- getExecutionFrequency() : Duration|null
- Gets the executionFrequency The interval for script to run. If not defined the script will run once
- getFileName() : string|null
- Gets the fileName Script file name.
- getGroupAssignments() : array<string|int, mixed>|null
- Gets the groupAssignments The list of group assignments for the device management script.
- getId() : string|null
- Gets the id Read-only.
- getLastModifiedDateTime() : DateTime|null
- Gets the lastModifiedDateTime The date and time the device management script was last modified. This property is read-only.
- getODataType() : string|null
- Gets the ODataType
- getProperties() : array<string|int, mixed>
- Gets the property dictionary of the Entity
- getRetryCount() : int|null
- Gets the retryCount Number of times for the script to be retried if it fails
- getRoleScopeTagIds() : string|null
- Gets the roleScopeTagIds List of Scope Tag IDs for this PowerShellScript instance.
- getRunAsAccount() : RunAsAccountType|null
- Gets the runAsAccount Indicates the type of execution context. Possible values are: system, user.
- getRunSummary() : DeviceManagementScriptRunSummary|null
- Gets the runSummary Run summary for device management script.
- getScriptContent() : Stream|null
- Gets the scriptContent The script content.
- getUserRunStates() : array<string|int, mixed>|null
- Gets the userRunStates List of run states for this script across all users.
- jsonSerialize() : array<string|int, mixed>
- Serializes the object by property array Manually serialize DateTime into RFC3339 format
- setAssignments() : DeviceShellScript
- Sets the assignments The list of group assignments for the device management script.
- setBlockExecutionNotifications() : DeviceShellScript
- Sets the blockExecutionNotifications Does not notify the user a script is being executed
- setCreatedDateTime() : DeviceShellScript
- Sets the createdDateTime The date and time the device management script was created. This property is read-only.
- setDescription() : DeviceShellScript
- Sets the description Optional description for the device management script.
- setDeviceRunStates() : DeviceShellScript
- Sets the deviceRunStates List of run states for this script across all devices.
- setDisplayName() : DeviceShellScript
- Sets the displayName Name of the device management script.
- setExecutionFrequency() : DeviceShellScript
- Sets the executionFrequency The interval for script to run. If not defined the script will run once
- setFileName() : DeviceShellScript
- Sets the fileName Script file name.
- setGroupAssignments() : DeviceShellScript
- Sets the groupAssignments The list of group assignments for the device management script.
- setId() : Entity
- Sets the id Read-only.
- setLastModifiedDateTime() : DeviceShellScript
- Sets the lastModifiedDateTime The date and time the device management script was last modified. This property is read-only.
- setODataType() : Entity
- Sets the ODataType
- setRetryCount() : DeviceShellScript
- Sets the retryCount Number of times for the script to be retried if it fails
- setRoleScopeTagIds() : DeviceShellScript
- Sets the roleScopeTagIds List of Scope Tag IDs for this PowerShellScript instance.
- setRunAsAccount() : DeviceShellScript
- Sets the runAsAccount Indicates the type of execution context. Possible values are: system, user.
- setRunSummary() : DeviceShellScript
- Sets the runSummary Run summary for device management script.
- setScriptContent() : DeviceShellScript
- Sets the scriptContent The script content.
- setUserRunStates() : DeviceShellScript
- Sets the userRunStates List of run states for this script across all users.
Properties
$_propDict
The array of properties available to the model
protected
array<string|int, mixed>
$_propDict
Methods
__construct()
Construct a new Entity
public
__construct([array<string|int, mixed> $propDict = array() ]) : mixed
Parameters
- $propDict : array<string|int, mixed> = array()
-
A list of properties to set
Return values
mixed —getAssignments()
Gets the assignments The list of group assignments for the device management script.
public
getAssignments() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|null —The assignments
getBlockExecutionNotifications()
Gets the blockExecutionNotifications Does not notify the user a script is being executed
public
getBlockExecutionNotifications() : bool|null
Return values
bool|null —The blockExecutionNotifications
getCreatedDateTime()
Gets the createdDateTime The date and time the device management script was created. This property is read-only.
public
getCreatedDateTime() : DateTime|null
Return values
DateTime|null —The createdDateTime
getDescription()
Gets the description Optional description for the device management script.
public
getDescription() : string|null
Return values
string|null —The description
getDeviceRunStates()
Gets the deviceRunStates List of run states for this script across all devices.
public
getDeviceRunStates() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|null —The deviceRunStates
getDisplayName()
Gets the displayName Name of the device management script.
public
getDisplayName() : string|null
Return values
string|null —The displayName
getExecutionFrequency()
Gets the executionFrequency The interval for script to run. If not defined the script will run once
public
getExecutionFrequency() : Duration|null
Return values
Duration|null —The executionFrequency
getFileName()
Gets the fileName Script file name.
public
getFileName() : string|null
Return values
string|null —The fileName
getGroupAssignments()
Gets the groupAssignments The list of group assignments for the device management script.
public
getGroupAssignments() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|null —The groupAssignments
getId()
Gets the id Read-only.
public
getId() : string|null
Return values
string|null —The id
getLastModifiedDateTime()
Gets the lastModifiedDateTime The date and time the device management script was last modified. This property is read-only.
public
getLastModifiedDateTime() : DateTime|null
Return values
DateTime|null —The lastModifiedDateTime
getODataType()
Gets the ODataType
public
getODataType() : string|null
Return values
string|null —The ODataType
getProperties()
Gets the property dictionary of the Entity
public
getProperties() : array<string|int, mixed>
Return values
array<string|int, mixed> —The list of properties
getRetryCount()
Gets the retryCount Number of times for the script to be retried if it fails
public
getRetryCount() : int|null
Return values
int|null —The retryCount
getRoleScopeTagIds()
Gets the roleScopeTagIds List of Scope Tag IDs for this PowerShellScript instance.
public
getRoleScopeTagIds() : string|null
Return values
string|null —The roleScopeTagIds
getRunAsAccount()
Gets the runAsAccount Indicates the type of execution context. Possible values are: system, user.
public
getRunAsAccount() : RunAsAccountType|null
Return values
RunAsAccountType|null —The runAsAccount
getRunSummary()
Gets the runSummary Run summary for device management script.
public
getRunSummary() : DeviceManagementScriptRunSummary|null
Return values
DeviceManagementScriptRunSummary|null —The runSummary
getScriptContent()
Gets the scriptContent The script content.
public
getScriptContent() : Stream|null
Return values
Stream|null —The scriptContent
getUserRunStates()
Gets the userRunStates List of run states for this script across all users.
public
getUserRunStates() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|null —The userRunStates
jsonSerialize()
Serializes the object by property array Manually serialize DateTime into RFC3339 format
public
jsonSerialize() : array<string|int, mixed>
Return values
array<string|int, mixed> —The list of properties
setAssignments()
Sets the assignments The list of group assignments for the device management script.
public
setAssignments(DeviceManagementScriptAssignment $val) : DeviceShellScript
Parameters
- $val : DeviceManagementScriptAssignment
-
The assignments
Return values
DeviceShellScript —setBlockExecutionNotifications()
Sets the blockExecutionNotifications Does not notify the user a script is being executed
public
setBlockExecutionNotifications(bool $val) : DeviceShellScript
Parameters
- $val : bool
-
The blockExecutionNotifications
Return values
DeviceShellScript —setCreatedDateTime()
Sets the createdDateTime The date and time the device management script was created. This property is read-only.
public
setCreatedDateTime(DateTime $val) : DeviceShellScript
Parameters
- $val : DateTime
-
The createdDateTime
Return values
DeviceShellScript —setDescription()
Sets the description Optional description for the device management script.
public
setDescription(string $val) : DeviceShellScript
Parameters
- $val : string
-
The description
Return values
DeviceShellScript —setDeviceRunStates()
Sets the deviceRunStates List of run states for this script across all devices.
public
setDeviceRunStates(DeviceManagementScriptDeviceState $val) : DeviceShellScript
Parameters
- $val : DeviceManagementScriptDeviceState
-
The deviceRunStates
Return values
DeviceShellScript —setDisplayName()
Sets the displayName Name of the device management script.
public
setDisplayName(string $val) : DeviceShellScript
Parameters
- $val : string
-
The displayName
Return values
DeviceShellScript —setExecutionFrequency()
Sets the executionFrequency The interval for script to run. If not defined the script will run once
public
setExecutionFrequency(Duration $val) : DeviceShellScript
Parameters
- $val : Duration
-
The executionFrequency
Return values
DeviceShellScript —setFileName()
Sets the fileName Script file name.
public
setFileName(string $val) : DeviceShellScript
Parameters
- $val : string
-
The fileName
Return values
DeviceShellScript —setGroupAssignments()
Sets the groupAssignments The list of group assignments for the device management script.
public
setGroupAssignments(DeviceManagementScriptGroupAssignment $val) : DeviceShellScript
Parameters
- $val : DeviceManagementScriptGroupAssignment
-
The groupAssignments
Return values
DeviceShellScript —setId()
Sets the id Read-only.
public
setId(string $val) : Entity
Parameters
- $val : string
-
The id
Return values
Entity —setLastModifiedDateTime()
Sets the lastModifiedDateTime The date and time the device management script was last modified. This property is read-only.
public
setLastModifiedDateTime(DateTime $val) : DeviceShellScript
Parameters
- $val : DateTime
-
The lastModifiedDateTime
Return values
DeviceShellScript —setODataType()
Sets the ODataType
public
setODataType(string $val) : Entity
Parameters
- $val : string
-
The ODataType
Return values
Entity —setRetryCount()
Sets the retryCount Number of times for the script to be retried if it fails
public
setRetryCount(int $val) : DeviceShellScript
Parameters
- $val : int
-
The retryCount
Return values
DeviceShellScript —setRoleScopeTagIds()
Sets the roleScopeTagIds List of Scope Tag IDs for this PowerShellScript instance.
public
setRoleScopeTagIds(string $val) : DeviceShellScript
Parameters
- $val : string
-
The roleScopeTagIds
Return values
DeviceShellScript —setRunAsAccount()
Sets the runAsAccount Indicates the type of execution context. Possible values are: system, user.
public
setRunAsAccount(RunAsAccountType $val) : DeviceShellScript
Parameters
- $val : RunAsAccountType
-
The runAsAccount
Return values
DeviceShellScript —setRunSummary()
Sets the runSummary Run summary for device management script.
public
setRunSummary(DeviceManagementScriptRunSummary $val) : DeviceShellScript
Parameters
- $val : DeviceManagementScriptRunSummary
-
The runSummary
Return values
DeviceShellScript —setScriptContent()
Sets the scriptContent The script content.
public
setScriptContent(Stream $val) : DeviceShellScript
Parameters
- $val : Stream
-
The scriptContent
Return values
DeviceShellScript —setUserRunStates()
Sets the userRunStates List of run states for this script across all users.
public
setUserRunStates(DeviceManagementScriptUserState $val) : DeviceShellScript
Parameters
- $val : DeviceManagementScriptUserState
-
The userRunStates


public class Xfm4x4f
extends java.lang.Object
This class implements the basic functionality for a 3D transformation required for rendering and 3D graphics use. This class is patterned after and most code adapted from the CXfm4x4f class of the JOEY toolkit written and distributed by Crisis in Perspective, Inc.
NOTE: the transformation conventions as described int the OpenGL reference manuals are used so that the translation components are in the xfm[0][3], xfm[1][3], and xfm[2][3] locations (the transposed representations that put the translations in xfm[3][0], xfm[3][1], and xfm[3][2] locations were used in JOEY).
Specifically, point transformation is of the form:
[ xfm[0][0] xfm[0][1] xfm[0][2] xfm[0][3] ] [ X ] [ Xt ] | xfm[1][0] xfm[1][1] xfm[1][2] xfm[1][3] | | Y | = | Yt | | xfm[2][0] xfm[2][1] xfm[2][2] xfm[2][3] | | Z | | Zt | [ xfm[3][0] xfm[3][1] xfm[3][2] xfm[3][3] ] [ H ] [ Ht ]Where [X,Y,Z,H] is the un-transformed point or vector and [Xt,Yt,Zt,Ht] is the transformed point or vector. Normally, H = 1 for a point transformation and H = 0 for a vector transformation.
| Modifier and Type | Field and Description |
|---|---|
static int |
AXIS_X |
static int |
AXIS_Y |
static int |
AXIS_Z |
Xfm4x4f |
m_next
A pointer to tne next Xfm4x4f in a cache if this object is cached.
|
static java.lang.String |
XML_ATTR_AIMED |
static java.lang.String |
XML_ATTR_ALTITUDE |
static java.lang.String |
XML_ATTR_AZIMUTH |
static java.lang.String |
XML_ATTR_ORIGIN |
static java.lang.String |
XML_ATTR_ROLL |
static java.lang.String |
XML_ATTR_SCALE |
static java.lang.String |
XML_ATTR_SHEAR |
| Constructor and Description |
|---|
Xfm4x4f()
Creates a new instance of Xfm4x4f that is initialized to an identity.
|
Xfm4x4f(Xfm4x4f xfmInit)
Creates a new instance of Xfm4x4f that is initialized to another transform.
|
| Modifier and Type | Method and Description |
|---|---|
Xfm4x4f |
compose(AngleF aAzimuth,
AngleF aAltitude,
AngleF aRoll,
Vector3f vTrans)
Build up a rigid body transformation that include combined rotation and translation - in that order.
|
Xfm4x4f |
compose(float fSx,
float fSy,
float fSz,
float fKxy,
float fKxz,
float fKyz,
AngleF aAzimuth,
AngleF aAltitude,
AngleF aRoll,
Vector3f vTrans)
Build up a transformation that include combined scale, shear, rotation, and translation - in that order.
|
void |
decompose(Vector3f scale,
Vector3f shear,
Vector3f translate,
AngleF aAzimuth,
AngleF aAltitude,
AngleF aRoll)
Decompose this transformation into a set of scale, shear, rotate, and translate components that will generate the
transformation.
|
float |
get(int row,
int col)
Get the value of an element of the transformation.
|
Xfm4x4f |
identity()
Sets this transformation to an identity transformation as:
|
@NotNull Xfm4x4f |
invert()
Inverts this transform and returns the result in this transformation.
|
@NotNull Xfm4x4f |
invert(@NotNull Xfm4x4f inverse)
Invert this transformation into the supplied transformation.
|
Xfm4x4f |
preMul(Xfm4x4f xfm)
Pre-multiply this transformation by another transformation..
|
Xfm4x4f |
rotate(int nAxis,
AngleF aRot)
Premultiply this transformation by a rotation transformation for the specified rotation about the specified axis.
|
Xfm4x4f |
rotate(int nAxis,
float fSin,
float fCos) |
Xfm4x4f |
rotate(Vector3f vAxis,
AngleF aRot) |
Xfm4x4f |
scale(float fSx,
float fSy,
float fSz)
Premultiply this transformation by a scaling transformation of the form:
|
Xfm4x4f |
setValue(org.w3c.dom.Element xmlElement,
boolean bAllowScale,
boolean bAllowShear)
Sets the value of this 4x4 transform from the attributes of an XML DOM Element.
|
Xfm4x4f |
setValue(Point3f ptOrigin,
Point3f ptAimedAt) |
Xfm4x4f |
setValue(Xfm4x4f xfmInit)
Sets the value of this transformation to be equal to the value of another transformation.
|
Xfm4x4f |
shear(float fShearXY,
float fShearXZ,
float fShearYZ)
Premultiply this transformation by a shearing transformation of the form:
|
void |
toXmlAttr(org.w3c.dom.Element element,
boolean bAllowScale,
boolean bAllowShear)
Adds the transformation definition attributes to the XML DOM element.
|
Point3f |
transform(Point3f pt)
Transform a point in place.
|
Point3f[] |
transform(Point3f[] pts)
Transform an array of points in place.
|
Point3f |
transform(Point3f pt,
Point3f xfmPt)
Transform a point into a target point.
|
Vector3f |
transform(Vector3f v)
Transform an vector in place.
|
Vector3f[] |
transform(Vector3f[] vs,
Vector3f[] xfmVs)
Transform an array of vectors into a target vector array.
|
Vector3f |
transform(Vector3f v,
Vector3f xfmV)
Transform an vector into a target vector.
|
Xfm4x4f |
translate(float fTx,
float fTy,
float fTz)
Premultiply this transformation by a translation transformation of the form:
|
Xfm4x4f |
translate(Vector3f vTranslate)
Premultiply this transformation by a translation transformation of the form:
|
void |
transpose() |
public static final java.lang.String XML_ATTR_ORIGIN
public static final java.lang.String XML_ATTR_SCALE
public static final java.lang.String XML_ATTR_SHEAR
public static final java.lang.String XML_ATTR_AZIMUTH
public static final java.lang.String XML_ATTR_ALTITUDE
public static final java.lang.String XML_ATTR_ROLL
public static final java.lang.String XML_ATTR_AIMED
public static final int AXIS_X
public static final int AXIS_Y
public static final int AXIS_Z
public Xfm4x4f m_next
public Xfm4x4f()
public Xfm4x4f(Xfm4x4f xfmInit)
xfmInit
- The trans formation this transformation should be set equal to.public Xfm4x4f setValue(Xfm4x4f xfmInit)
xfmInit
- The transformation to set this transformation equal to.public Xfm4x4f setValue(Point3f ptOrigin, Point3f ptAimedAt) throws ZeroLengthVectorException
ZeroLengthVectorException
public float get(int row, int col)
row
- (int) The row of the element.col
- (int) The column of the element.public Xfm4x4f setValue(org.w3c.dom.Element xmlElement, boolean bAllowScale, boolean bAllowShear) throws ZeroLengthVectorException
<someTag originAt="Tx,Ty,Tx" scale="Sx,Sy,Sz" shear="Kxy,Kxz,Kyz" azimuth="azimuthDegrees" altitude="altitudeDegrees" roll="rollDegrees" aimedAt="Xtarget,Ytarget,Ztarget"/>
|
xmlElement
- The XML DOM Element.bAllowScale
- If true then scale specification will be processed, if false, then
scale specification will be ignored. This should be false for rigid-body transformation.bAllowShear
- If true then shear specification will be processed, if false, then
shear specification will be ignored. This should be false for rigid-body transformation.ZeroLengthVectorException
- Thrown if an originAt and aimedAt specification is used
and the points are so close together that the direction vector is undefined.public void toXmlAttr(org.w3c.dom.Element element, boolean bAllowScale, boolean bAllowShear) throws ZeroLengthVectorException
element
- The element the transform attributes should be added to.bAllowScale
- If true then scale specification will be included, if false, then
scale specification will not be included. This should be false for rigid-body transformation.bAllowShear
- If true then shear specification will be included, if false, then
shear specification will not be included. This should be false for rigid-body transformation.ZeroLengthVectorException
- Thrown if the transformation is singular and cannot be uniquely decomposed.public Xfm4x4f identity()
[ 1 0 0 0 ] | 0 1 0 0 | | 0 0 1 0 | [ 0 0 0 1 ]
public Xfm4x4f translate(float fTx, float fTy, float fTz)
[ 1 0 0 fTx ] | 0 1 0 fTy | | 0 0 1 fTz | [ 0 0 0 1 ]
If you want to set this transformation to be the translation transformation, set this transformation to be an identity transformation before applying the translate.
fTx
- The X translation.fTy
- The Y translation.fTz
- The Z translation.public Xfm4x4f translate(Vector3f vTranslate)
[ 1 0 0 vTranslate.i ] | 0 1 0 vTranslate.j | | 0 0 1 vTranslate.k | [ 0 0 0 1 ]
If you want to set this transformation to be the translation transformation, set this transformation to be an identity transformation before applying the translate.
vTranslate
- The translation vector (direction and magnitude of translation).public Xfm4x4f scale(float fSx, float fSy, float fSz)
[ fSx 0 0 0 ] | 0 fSy 0 0 | | 0 0 fSz 0 | [ 0 0 0 1 ]
If you want to set this transformation to be the scaling transformation, set this transformation to be an identity transformation before applying the scale.
fSx
- The X scale factor.fSy
- The Y scale factor.fSz
- The Z scale factor.public Xfm4x4f rotate(int nAxis, AngleF aRot)
rotate(int, AngleF)
that takes
the sin and cosine of the rotation angle as arguments.
If you want to set this transformation to be the rotation transformation, set this transformation to be an identity transformation before applying the rotate.
public Xfm4x4f rotate(int nAxis, float fSin, float fCos)
public Xfm4x4f rotate(Vector3f vAxis, AngleF aRot)
vAxis
- The axis of rotation.aRot
- The angle of rotation.public Xfm4x4f shear(float fShearXY, float fShearXZ, float fShearYZ)
[ 1 Kxy Kxz 0 ] | 0 1 Kyz 0 | | 0 0 1 0 | [ 0 0 0 1 ]
If you want to set this transformation to be the shearing transformation, set this transformation to be an identity transformation before applying the shear.
fShearXY
- The shear in X as a function of Y (Kxy in the matrix above). For example a value of 2 means that for
every unit of displacement Y, the X value is shifted by 2.fShearXZ
- The shear in X as a function of Z (Kxz in the matrix above). For example a value of 2 means that for
every unit of displacement Z, the X value is shifted by 2.fShearYZ
- The shear in Y as a function of Z (Kyz in the matrix above). For example a value of 2 means that for
every unit of displacement Z, the Y value is shifted by 2.public Xfm4x4f compose(float fSx, float fSy, float fSz, float fKxy, float fKxz, float fKyz, AngleF aAzimuth, AngleF aAltitude, AngleF aRoll, Vector3f vTrans)
If a composed transformation is decomposed, the scale, shear, rotation, and translation that create this transformation will be returned. It may be the case that these vary from the original specification due to numerical and round off error, and that the angles will be set the their -180 degree to +180 degree equivalents.
fSx
- The X scale factor.fSy
- The Y scale factor.fSz
- The Z scale factor.fKxy
- The shear in X as a function of Y. For example a value of 2 means that for
every unit of displacement Y, the X value is shifted by 2.fKxz
- The shear in X as a function of Z. For example a value of 2 means that for
every unit of displacement Z, the X value is shifted by 2.fKyz
- The shear in Y as a function of Z. For example a value of 2 means that for
every unit of displacement Z, the Y value is shifted by 2.aAzimuth
- The azimuth angle.aAltitude
- The altitude angle.aRoll
- The roll angle.vTrans
- The translation vector (direction and magnitude of translation).public Xfm4x4f compose(AngleF aAzimuth, AngleF aAltitude, AngleF aRoll, Vector3f vTrans)
If a composed transformation is decomposed, the scale, shear, rotation, and translation that create this transformation will be returned. It may be the case that these vary from the original specification due to numerical and round off error, and that the angles will be set the their -180 degree to +180 degree equivalents.
aAzimuth
- The azimuth angle.aAltitude
- The altitude angle.aRoll
- The roll angle.vTrans
- The translation vector (direction and magnitude of translation).public void decompose(Vector3f scale, Vector3f shear, Vector3f translate, AngleF aAzimuth, AngleF aAltitude, AngleF aRoll) throws ZeroLengthVectorException
NOTE: the use of tuples for returning the decomposition is not my favorite choice, but it allows you to get the values in whatever form is most convenient for future manipulation.
scale
- The Sx, Sy, Sz scaling as the i, j, k fields of the tuple.shear
- The XY, XZ, YZ sharing as the i, j, k fields of the tuple.translate
- The Tx, Ty, Tz translation as the i, j, k fields of the tuple.aAzimuth
- The azimuth (plan angle).aAltitude
- The altitude angle.aRoll
- The roll angle.ZeroLengthVectorException
- Thrown if the transformation is singular and cannot be uniquely decomposed.public final void transpose()
@NotNull public @NotNull Xfm4x4f invert()
@NotNull public @NotNull Xfm4x4f invert(@NotNull @NotNull Xfm4x4f inverse)
inverse
- (Xfm4x4f, modified) The transformation that will be set to the inverse.public Xfm4x4f preMul(Xfm4x4f xfm)
xfm
- The transformation which will be pre-multiplied with this transformation.public Point3f transform(Point3f pt)
pt
- (Point3f, modified) The point to be transformed by this transformation.public Point3f transform(Point3f pt, Point3f xfmPt)
pt
- (Point3f, readonly) The point to be transformed.xfmPt
- (Point3f, modified) The point to receive the transformed point (the target point).public Point3f[] transform(Point3f[] pts)
pts
- (Point3f[], modified) The array of points to be transformed.public Vector3f transform(Vector3f v)
v
- (Vector3f, modified) The vector to be transformed by this transformation.public Vector3f transform(Vector3f v, Vector3f xfmV)
v
- (Vector3f, readonly) The vector to be transformed.xfmV
- (Vector3f, modified) The vector to receive the transformed vector (the target vector).public Vector3f[] transform(Vector3f[] vs, Vector3f[] xfmVs)
vs
- (Vector3f[], readonly) An array of vectors to be transformed.xfmVs
- (Vector3f[], modified) An array of vectors to receive the transformed vectors.


Synthetic Gemstones $10 each, includes stone setting service directly into the buckle. Stones set into a Rosette or Floral $10 each, plus Rosette or Floral cost.


Quickly check Powerball tickets for a single drawing. Click "Add Ticket" and:
- Select 5 white balls and 1 red Powerball
- Click "Check Ticket" to add your ticket and check it against the selected drawing.
- Look at the top right corner of each ticket to see if you've won.
All tickets are checked using the results from the selected drawing. Tickets are stored privately on your device until you delete them, so add your tickets when you buy them and then simply REFRESH the drawings to check your winnings using the latest results.
This site is meant to be helpful, but is UNOFFICIAL. Visit powerball.com to view complete rules and official results.


User Preferences
Export Location
File name
Use original
Custom
File name suffix
None
Dimensions (e.g. yourfilename
_666x666
).jpg
Show in folder


Javascript must be enabled in your browser for bluff to work
Bluff Card Game
beta
Video Help
Logout
Share
Tweet
Fork
place cards for sending here (click on card to add/remove from here)
pick/show
place
pass
cards on table
Log Messages (Most recent first)
Welcome to the bluff game !..
Please wait while we check your login!....


Dashboard
Nothing found
Please simplify your request and find joy in small things
Nothing found
Please simplify your request and find joy in small things


| Description | Part Number |
|---|---|
| 1⁄8" Male NPT Plug | C3159X2 |
| 1⁄4" Male NPT Plug | C3159X4 |
| 3⁄8" Male NPT Plug | C3159X6 |
| 1⁄2" Male NPT Plug | C3159X8 |
| 3⁄4" Male NPT Plug | C3159X12 |
| 1" Male NPT Plug | C3159X16 |
| 11⁄4" Male NPT Plug | C3159X20 |
| 11⁄3" Male NPT Plug | C3159X24 |
| 2" Male NPT Plug | C3159X32 |
| Description | Part Number |
|---|---|
| ⁄" X ⁄" | 5406-C-FUCKING MESS |
| Description | Part Number |
|---|---|
| 1⁄8" Male NPT Union | C3069X2 |
| 1⁄4" Male NPT X 1⁄8" Male NPT Union | C3069X4X2 |
| 1⁄4" Male NPT Union | C3069X4 |
| 3⁄8" Male NPT Union X 1⁄8" Male NPT Union | C3069X6X2 |
| 3⁄8" Male NPT Union X 1⁄4" Male NPT Union | C3069X6X4 |
| 3⁄8" Male NPT Union | C3069X6 |
| 1⁄2" Male NPT Union X 1⁄4" Male NPT Union | C3069X8X4 |
| 1⁄2" Male NPT Union X 3⁄8" Male NPT Union | C3069X8X6 |
| 1⁄2" Male NPT Union | C3069X8 |
| 3⁄4" Male NPT Union X 1⁄2" Male NPT Union | C3069X12X8 |
| 3⁄4" Male NPT Union | C3069X12 |
| 1" X 1⁄2" Male NPT Union | C3069X16X8 |
| 1" X 3⁄4" Male NPT Union | C3069X16X12 |
| 1" Male NPT Union | C3069X16 |
| 1" Male NPT Union X 11⁄4" | C3069X16X20 |
| 11⁄4" X 1" Male NPT Union | C3069X20X16 |
| 11⁄4" Male NPT Union | C3069X20 |
| 11⁄2" X 1" Male NPT Union | C3069X24X16 |
| 11⁄2" Male NPT Union | C3069X24 |
| 2" X 11⁄2" Male NPT Union | C3069X32X24 |
| 2" Male NPT Union | C3069X32 |
| Description | Part Number |
|---|---|
| 1⁄8" Female NPT Union | C3309X2 |
| 1⁄4" Female NPT X 1⁄8" Female NPT Union | C3309X4X2 |
| 1⁄4" Female NPT Union | C3309X4 |
| 3⁄8" Female NPT X 1⁄8" Female NPT Union | C3309X6X2 |
| 3⁄8" Female NPT X 1⁄4" Female NPT Union | C3309X6X4 |
| 3⁄8" Female NPT Union | C3309X6 |
| 1⁄2" Female NPT X 1⁄8" Female NPT Union | C3309X8X2 |
| 1⁄2" Female NPT X 1⁄4" Female NPT Union | C3309X8X4 |
| 1⁄2" Female NPT Union | C3309X8 |
| 3⁄4" Female NPT X 1⁄2" Female NPT Union | C3309X12X8 |
| 3⁄4" Female NPT Union | C3309X12 |
| 1" Female NPT X ⁄" Female NPT Union | C3309X16X8 |
| 1" Female NPT X 3⁄4" Female NPT Union | C3309X16X12 |
| 1" Female NPT Union | C3309X16 |
| 1" Female NPT X 11⁄4" Female NPT Union | C3309X16X20 |
| 11⁄4" Female NPT X 1" Female NPT Union | C3309X20X16 |
| 11⁄4" Female NPT Union | C3309X20 |
| 11⁄2" Female NPT Union X 1" Female NPT Union | C3309X24X16 |
| 11⁄2" Female NPT Union | C3309X24 |
| 2" Female NPT X 11⁄2" Female NPT Union | C3309X32X24 |
| 2" Female NPT Union | C3309X32 |
| Description | Part Number |
|---|---|
| 1⁄4" Female NPT X 1⁄8" Male NPT | C3209X4X2 |
| 1⁄4" Female NPT X 1⁄4" Male NPT | C3209X4X4 |
| 1⁄4" Female NPT X 3⁄8" Male NPT | C3209X4X6 |
| 3⁄8" Female NPT X 1⁄4" Male NPT | C3209X6X4 |
| 3⁄8" Female NPT X 3⁄8" Male NPT | C3209X6X6 |
| 3⁄8" Female NPT X 1⁄2" Male NPT | C3209X6X8 |
| 1⁄2" Female NPT X 1⁄8" Male NPT | C3209X8X2 |
| 1⁄2" Female NPT X 1⁄4" Male NPT | C3209X8X4 |
| 1⁄2" Female NPT X 3⁄8" Male NPT | C3209X8X6 |
| 1⁄2" Female NPT X 1⁄2" Male NPT | C3209X8X8 |
| 3⁄4" Female NPT X 1⁄4" Male NPT | C3209X12X4 |
| 3⁄4" Female NPT X 1⁄2" Male NPT | C3209X12X8 |
| 3⁄4" Female NPT X 3⁄4" Male NPT | C3209X12X12 |
| 1" Female NPT X 1⁄2" Male NPT | C3209X16X8 |
| 1" Female NPT X 3⁄4" Male NPT | C3209X16X12 |
| 1" Female NPT X 1" Male NPT | C3209X16X16 |
| 11⁄4" Female NPT X 1" Male NPT | C3209X20X16 |
| 11⁄2" Female NPT X 11⁄4" Male NPT | C3209X24X20 |
| 2" Female NPT X 11⁄2" Male NPT | C3209X32X24 |
| Description | Part Number |
|---|---|
| 1⁄4" Male NPT 1⁄8" Female NPT Reducer Bushing | C3109X4X2 |
| 3⁄8" Male NPT 1⁄8" Female NPT Reducer Bushing | C3109X6X2 |
| 3⁄8" Male NPT 1⁄4" Female NPT Reducer Bushing | C3109X6X4 |
| 1⁄2" Male NPT 1⁄8" Female NPT Reducer Bushing | C3109X8X2 |
| 1⁄2" Male NPT 1⁄4" Female NPT Reducer Bushing | C3109X8X4 |
| 1⁄2" Male NPT 3⁄8" Female NPT Reducer Bushing | C3109X8X6 |
| 3⁄4" Male NPT 1⁄4" Female NPT Reducer Bushing | C3109X12X4 |
| 3⁄4" Male NPT 3⁄8" Female NPT Reducer Bushing | C3109X12X6 |
| 3⁄4" Male NPT 1⁄2" Female NPT Reducer Bushing | C3109X12X8 |
| 1" Male NPT 1⁄4" Female NPT Reducer Bushing | C3109X16X4 |
| 1" Male NPT 3⁄8" Female NPT Reducer Bushing | C3109X16X6 |
| 1" Male NPT 1⁄2" Female NPT Reducer Bushing | C3109X16X8 |
| 1" Male NPT 3⁄4" Female NPT Reducer Bushing | C3109X16X12 |
| 11⁄4" Male NPT 3⁄8" Female NPT Reducer Bushing | C3109X20X6 |
| 11⁄4" Male NPT 1⁄2" Female NPT Reducer Bushing | C3109X20X8 |
| 11⁄4" Male NPT 3⁄4" Female NPT Reducer Bushing | C3109X20X12 |
| 11⁄4" Male NPT 1" Female NPT Reducer Bushing | C3109X20X16 |
| 11⁄2" Male NPT 3⁄4" Female NPT Reducer Bushing | C3109X24X12 |
| 11⁄2" Male NPT 1" Female NPT Reducer Bushing | C3109X24X16 |
| 11⁄2" Male NPT 11⁄4" Female NPT Reducer Bushing | C3109X24X20 |
| 2" Male NPT 11⁄4" Female NPT Reducer Bushing | C3109X32X20 |
| 2" Male NPT 11⁄2" Female NPT Reducer Bushing | C3109X32X24 |
| Description | Part Number |
|---|---|
| 1⁄8" Male NPT X 1⁄8" Female NPS Swivel | 9205X2X2 |
| 1⁄8" Male NPT X 1⁄4" Female NPS Swivel | 9205X2X4 |
| 1⁄4" Male NPT X 1⁄8" Female NPS Swivel | 9205X4X2 |
| 1⁄4" Male NPT X 1⁄4" Female NPS Swivel | 9205X4X4 |
| 1⁄4" Male NPT X 3⁄8" Female NPS Swivel | 9205X4X6 |
| 1⁄4" Male NPT X 1⁄2" Female NPS Swivel | 9205X4X8 |
| 3⁄8" Male NPT X 1⁄4" Female NPS Swivel | 9205X6X4 |
| 3⁄8" Male NPT X 3⁄8" Female NPS Swivel | 9205X6X6 |
| 3⁄8" Male NPT X 1⁄2" Female NPS Swivel | 9205X6X8 |
| 1⁄2" Male NPT X 3⁄8" Female NPS Swivel | 9205X8X6 |
| 1⁄2" Male NPT X 1⁄2" Female NPS Swivel | 9205X8X8 |
| 1⁄2" Male NPT X 3⁄4" Female NPS Swivel | 9205X8X12 |
| 5⁄8" Male NPT X 5⁄8" Female NPS Swivel | 9205X10X10 |
| 3⁄4" Male NPT X 1⁄2" Female NPS Swivel | 9205X12X8 |
| 3⁄4" Male NPT X 3⁄4" Female NPS Swivel | 9205X12X12 |
| 3⁄4" Male NPT X 1" Female NPS Swivel | 9205X12X16 |
| 1" Male NPT X 3⁄4" Female NPS Swivel | 9205X16X12 |
| 1" Male NPT X 1" Female NPS Swivel | 9205X16X16 |
| 1" Male NPT X 11⁄4" Female NPS Swivel | 9205X16X20 |
| 11⁄4" Male NPT X 1" Female NPS Swivel | 9205X20X16 |
| 11⁄4" Male NPT X 11⁄4" Female NPS Swivel | 9205X20X20 |
| 11⁄4" Male NPT X 11⁄2" Female NPS Swivel | 9205X20X24 |
| 11⁄2" Male NPT X 11⁄4" Female NPS Swivel | 9205X24X20 |
| 11⁄2" Male NPT X 11⁄2" Female NPS Swivel | 9205X24X24 |
| 2" Male NPT X 2" Female NPS Swivel | 9205X32X32 |
| Description | Part Number |
|---|---|
| 1⁄8" Female NPT X 1⁄8" Female NPS Swivel | 9255X2X2 |
| 1⁄4" Female NPT X 1⁄4" Female NPS Swivel | 9255X4X4 |
| 3⁄8" Female NPT X 3⁄8" Female NPS Swivel | 9255X6X6 |
| 1⁄2" Female NPT X 1⁄2" Female NPS Swivel | 9255X8X8 |
| 3⁄4" Female NPT X 3⁄4" Female NPS Swivel | 9255X12X12 |
| 3⁄4" Female NPT X 1" Female NPS Swivel | 9255X12X16 |
| 1" Female NPT X 1" Female NPS Swivel | 9255X16X16 |
| 11⁄4" Female NPT X 11⁄4" Female NPS Swivel | 9255X20X20 |
| 11⁄2" Female NPT X 11⁄2" Female NPS Swivel | 9255X24X24 |
| 2" Female NPT X 2" Female NPS Swivel | 9255X32X32 |
| Description | Part Number |
|---|---|
| 1⁄4" Male ORB X 1⁄8" Male NPT | C3249X4X2 |
| 1⁄4" Male ORB X 1⁄4" Male NPT | C3249X4X4 |
| 3⁄8" Male ORB X 1⁄4" Male NPT | C3249X6X4 |
| 1⁄2" Male ORB X 3⁄8" Male NPT | C3249X8X6 |
| 1⁄2" Male ORB X 1⁄2" Male NPT | C3249X8X8 |
| 5⁄8" Male ORB X 1⁄2" Male NPT | C3249X10X8 |
| 3⁄4" Male ORB X 3⁄4" Male NPT | C3249X12X12 |
| 1" Male ORB X 1" Male NPT | C3249X16X16 |
| 11⁄4" Male ORB X 11⁄4" Male NPT | C3249X20X20 |
| 11⁄2" Male ORB X 11⁄2" Male NPT | C3249X24X24 |
| 2" Male ORB X 2" Male NPT | C3249X32X32 |
| Description | Part Number |
|---|---|
| 1⁄4" Male ORB X 1⁄8" Female NPT | C3269X4X2 |
| 1⁄4" Male ORB X 1⁄4" Female NPT | C3269X4X4 |
| 5⁄16" Male ORB X 1⁄8" Female NPT | C3269X5X2 |
| 5⁄16" Male ORB X 1⁄4" Female NPT | C3269X5X4 |
| 3⁄8" Male ORB X 1⁄4" Female NPT | C3269X6X4 |
| 3⁄8" Male ORB X 3⁄8" Female NPT | C3269X6X6 |
| 3⁄8" Male ORB X 1⁄2" Female NPT | C3269X6X8 |
| 1⁄2" Male ORB X 1⁄4" Female NPT | C3269X8X4 |
| 1⁄2" Male ORB X 3⁄8" Female NPT | C3269X8X6 |
| 1⁄2" Male ORB X 1⁄2" Female NPT | C3269X8X8 |
| 5⁄8" Male ORB X 1⁄4" Female NPT | C3269X10X4 |
| 5⁄8" Male ORB X 3⁄8" Female NPT | C3269X10X6 |
| 5⁄8" Male ORB X 1⁄2" Female NPT | C3269X10X8 |
| 5⁄8" Male ORB X 3⁄4" Female NPT | C3269X10X12 |
| 3⁄4" Male ORB X 1⁄2" Female NPT | C3269X12X8 |
| 3⁄4" Male ORB X 3⁄4" Female NPT | C3269X12X12 |
| 7⁄8" Male ORB X 3⁄4" Female NPT | C3269X14X12 |
| 1" Male ORB X 1⁄2" Female NPT | C3269X16X8 |
| 1" Male ORB X 3⁄4" Female NPT | C3269X16X12 |
| 1" Male ORB X 1" Female NPT | C3269X16X16 |
| 11⁄4" Male ORB X 1" Female NPT | C3269X20X16 |
| 11⁄4" Male ORB X 11⁄4" Female NPT | C3269X20X20 |
| 11⁄2" Male ORB X 3⁄4" Female NPT | C3269X24X12 |
| 11⁄2" Male ORB X 1" Female NPT | C3269X24X16 |
| 11⁄2" Male ORB X 11⁄2" Female NPT | C3269X24X24 |
| 2" Male ORB X 2" Female NPT | C3269X32 |
| Description | Part Number |
|---|---|
| 1⁄4" Male ORB X 1⁄4" Female NPS Swivel | 9315X4X4 |
| 1⁄4" Male ORB X 3⁄8" Female NPS Swivel | 9315X4X6 |
| 5⁄16" Male ORB X 1⁄4" Female NPS Swivel | 9315X5X4 |
| 3⁄8" Male ORB X 1⁄4" Female NPS Swivel | 9315X6X4 |
| 3⁄8" Male ORB X 3⁄8" Female NPS Swivel | 9315X6X6 |
| 3⁄8" Male ORB X 1⁄2" Female NPS Swivel | 9315X6X8 |
| 1⁄2" Male ORB X 1⁄4" Female NPS Swivel | 9315X8X4 |
| 1⁄2" Male ORB X 3⁄8" Female NPS Swivel | 9315X8X6 |
| 1⁄2" Male ORB X 1⁄2" Female NPS Swivel | 9315X8X8 |
| 1⁄2" Male ORB X 3⁄4" Female NPS Swivel | 9315X8X12 |
| 5⁄8" Male ORB X 1⁄4" Female NPS Swivel | 9315X10X4 |
| 5⁄8" Male ORB X 3⁄8" Female NPS Swivel | 9315X10X6 |
| 5⁄8" Male ORB X 1⁄2" Female NPS Swivel | 9315X10X8 |
| 5⁄8" Male ORB X 3⁄4" Female NPS Swivel | 9315X10X12 |
| 3⁄4" Male ORB X 1⁄2" Female NPS Swivel | 9315X12X8 |
| 3⁄4" Male ORB X 3⁄4" Female NPS Swivel | 9315X12X12 |
| 7⁄8" Male ORB X 3⁄4" Female NPS Swivel | 9315X14X12 |
| 1" Male ORB X 3⁄4" Female NPS Swivel | 9315X16X12 |
| 1" Male ORB X 1" Female NPS Swivel | 9315X16X16 |
| 1" Male ORB X 12⁄4" Female NPS Swivel | 9315X16X20 |
| 11⁄4" Male ORB X 1" Female NPS Swivel | 9315X20X16 |
| 11⁄4" Male ORB X 11⁄4" Female NPS Swivel | 9315X20X20 |
| 11⁄2" Male ORB X 11⁄2" Female NPS Swivel | 9315X24X24 |
| Description | Part Number |
|---|---|
| 1⁄4" Female ORB X 1⁄4" Male NPT | C3239X4X4 |
| 3⁄8" Female ORB X 3⁄8" Male NPT | C3239X6X6 |
| 3⁄8" Female ORB X 1⁄2" Male NPT | C3239X6X8 |
| 1⁄2" Female ORB X 3⁄8" Male NPT | C3239X8X6 |
| 1⁄2" Female ORB X 1⁄2" Male NPT | C3239X8X8 |
| 5⁄8" Female ORB X 1⁄2" Male NPT | C3239X10X8 |
| 5⁄8" Female ORB X 3⁄4" Male NPT | C3239X10X12 |
| 3⁄4" Female ORB X 3⁄4" Male NPT | C3239X12X12 |
| 1" Female ORB X 1" Male NPT | C3239X16X16 |
| Description | Part Number |
|---|---|
| 1⁄8" Male NPT 90° Elbow | C3529X2 |
| 1⁄4" Male NPT 90° Elbow | C3529X4 |
| 3⁄8" Male NPT 90° Elbow | C3529X6 |
| 1⁄2" Male NPT 90° Elbow | C3529X8 |
| 3⁄4" Male NPT 90° Elbow | C3529X12 |
| 1" Male NPT 90° Elbow | C3529X16 |
| Description | Part Number |
|---|---|
| 1⁄8" Female NPT 90° Elbow | C3509X2 |
| 1⁄4" Female NPT 90° Elbow | C3509X4 |
| 3⁄8" Female NPT 90° Elbow | C3509X6 |
| 1⁄4" Female NPT 90° Elbow | C3509X8 |
| 3⁄4" Female NPT 90° Elbow | C3509X12 |
| 1" Female NPT 90° Elbow | C3509X16 |
| 11⁄4" Female NPT 90° Elbow | C3509X20 |
| 11⁄2" Female NPT 90° Elbow | C3509X24 |
| 2" Female NPT 90° Elbow | C3509X32 |
| Description | Part Number |
|---|---|
| 1⁄8" Male NPT X Female NPT 90° Elbow | C3409X2 |
| 1⁄4" Male NPT X Female NPT 90° Elbow | C3409X4 |
| 3⁄8" Male NPT X Female NPT 90° Elbow | C3409X6 |
| 3⁄8" Male NPT X 1⁄2" Female NPT 90° Elbow | C3409X6X8 |
| 1⁄2" Male NPT X 3⁄8" Female NPT 90° Elbow | C3409X8X6 |
| 1⁄2" Male NPT X Female NPT 90° Elbow | C3409X8 |
| 3⁄4" Male NPT X Female NPT 90° Elbow | C3409X12 |
| 1" Male NPT X Female NPT 90° Elbow | C3409X16 |
| 11⁄4" Male NPT X Female NPT 90° Elbow | C3409X20 |
| 11⁄2" Male NPT X Female NPT 90° Elbow | C3409X24 |
| 2" Male NPT X Female NPT 90° Elbow | C3409X32 |
| Description | Part Number |
|---|---|
| 1⁄8" Male NPT X 1⁄8" Female NPS Swivel 90° Elbow | 9405X2X2 |
| 1⁄8" Male NPT X 1⁄4" Female NPS Swivel 90° Elbow | 9405X2X4 |
| 1⁄4" Male NPT X 1⁄8" Female NPS Swivel 90° Elbow | 9405X4X2 |
| 1⁄4" Male NPT X 1⁄4" Female NPS Swivel 90° Elbow | 9405X4X4 |
| 1⁄4" Male NPT X 3⁄8" Female NPS Swivel 90° Elbow | 9405X4X6 |
| 1⁄4" Male NPT X 1⁄2" Female NPS Swivel 90° Elbow | 9405X4X8 |
| 3⁄8" Male NPT X 1⁄4" Female NPS Swivel 90° Elbow | 9405X6X4 |
| 3⁄8" Male NPT X 3⁄8" Female NPS Swivel 90° Elbow | 9405X6X6 |
| 3⁄8" Male NPT X 1⁄2" Female NPS Swivel 90° Elbow | 9405X6X8 |
| 3⁄8" Male NPT X 3⁄4" Female NPS Swivel 90° Elbow | 9405X6X12 |
| 1⁄2" Male NPT X 3⁄8" Female NPS Swivel 90° Elbow | 9405X8X6 |
| 1⁄2" Male NPT X 1⁄2" Female NPS Swivel 90° Elbow | 9405X8X8 |
| 1⁄2" Male NPT X 3⁄4" Female NPS Swivel 90° Elbow | 9405X8X12 |
| 1⁄2" Male NPT X 1" Female NPS Swivel 90° Elbow | 9405X8X16 |
| 3⁄4" Male NPT X 3⁄4" Female NPS Swivel 90° Elbow | 9405X12X12 |
| 3⁄4" Male NPT X 1" Female NPS Swivel 90° Elbow | 9405X12X16 |
| 1" Male NPT X 3⁄4" Female NPS Swivel 90° Elbow | 9405X16X12 |
| 1" Male NPT X 1" Female NPS Swivel 90° Elbow | 9405X16X16 |
| 1" Male NPT X 11⁄4" Female NPS Swivel 90° Elbow | 9405X16X20 |
| 11⁄4" Male NPT X 1" Female NPS Swivel 90° Elbow | 9405X20X16 |
| 11⁄4" Male NPT X 11⁄4" Female NPS Swivel 90° Elbow | 9405X20X20 |
| 11⁄4" Male NPT X 11⁄2" Female NPS Swivel 90° Elbow | 9405X20X24 |
| 11⁄2" Male NPT X 11⁄2" Female NPS Swivel 90° Elbow | 9405X24X24 |
| 2" Male NPT X 2" Female NPS Swivel 90° Elbow | 9405X32X32 |
| Description | Part Number |
|---|---|
| 1⁄8" Female NPT X 1⁄8" Female NPS Swivel 90° Elbow | 9455X2X2 |
| 1⁄4" Female NPT X 1⁄4" Female NPS Swivel 90° Elbow | 9455X4X4 |
| 1⁄4" Female NPT X 3⁄8" Female NPS Swivel 90° Elbow | 9455X4X6 |
| 1⁄4" Female NPT X 1⁄2" Female NPS Swivel 90° Elbow | 9455X4X8 |
| 3⁄8" Female NPT X 1⁄4" Female NPS Swivel 90° Elbow | 9455X6X4 |
| 3⁄8" Female NPT X 3⁄8" Female NPS Swivel 90° Elbow | 9455X6X6 |
| 3⁄8" Female NPT X 1⁄2" Female NPS Swivel 90° Elbow | 9455X6X8 |
| 1⁄2" Female NPT X 3⁄8" Female NPS Swivel 90° Elbow | 9455X8X6 |
| 1⁄2" Female NPT X 1⁄2" Female NPS Swivel 90° Elbow | 9455X8X8 |
| 1⁄2" Female NPT X 3⁄4" Female NPS Swivel 90° Elbow | 9455X8X12 |
| 3⁄4" Female NPT X 1⁄2" Female NPS Swivel 90° Elbow | 9455X12X8 |
| 3⁄4" Female NPT X 3⁄4" Female NPS Swivel 90° Elbow | 9455X12X12 |
| 3⁄4" Female NPT X 1" Female NPS Swivel 90° Elbow | 9455X12X16 |
| 1" Female NPT X 3⁄4" Female NPS Swivel 90° Elbow | 9455X16X12 |
| 1" Female NPT X 1" Female NPS Swivel 90° Elbow | 9455X16X16 |
| 1" Female NPT X 11⁄4" Female NPS Swivel 90° Elbow | 9455X16X20 |
| 11⁄4" Female NPT X 11⁄4" Female NPS Swivel 90° Elbow | 9455X20X20 |
| 11⁄2" Female NPT X 11⁄2" Female NPS Swivel 90° Elbow | 9455X24X24 |
| 2" Female NPT X 2" Female NPS Swivel 90° Elbow | 9455X32X32 |
| Description | Part Number |
|---|---|
| ⁄" Male ORB ⁄" Male NPT 90° Elbow | C3569X |
| ⁄" Male ORB ⁄" Male NPT 90° Elbow | C3569X |
| ⁄" Male ORB ⁄" Male NPT 90° Elbow | C3569X |
| ⁄" Male ORB ⁄" Male NPT 90° Elbow | C3569X |
| ⁄" Male ORB ⁄" Male NPT 90° Elbow | C3569X |
| ⁄" Male ORB ⁄" Male NPT 90° Elbow | C3569X |
| ⁄" Male ORB ⁄" Male NPT 90° Elbow | C3569X |
| ⁄" Male ORB ⁄" Male NPT 90° Elbow | C3569X |
| Description | Part Number |
|---|---|
| ⁄" Male ORB X ⁄" Female NPT 90° Elbow | C3459X6 |
| ⁄" Male ORB X ⁄" Female NPT 90° Elbow | C3459X |
| ⁄" Male ORB X ⁄" Female NPT 90° Elbow | C3459X |
| ⁄" Male ORB X ⁄" Female NPT 90° Elbow | C3459X |
| ⁄" Male ORB X ⁄" Female NPT 90° Elbow | C3459X |
| ⁄" Male ORB X ⁄" Female NPT 90° Elbow | C3459X |
| ⁄" Male ORB X ⁄" Female NPT 90° Elbow | C3459X |
| ⁄" Male ORB X ⁄" Female NPT 90° Elbow | C3459X |
| Description | Part Number |
|---|---|
| 1⁄4" Male ORB X 1⁄4" Female NPS Swivel 90° Elbow | 9515X4X4 |
| 1⁄4" Male ORB X 3⁄8" Female NPS Swivel 90° Elbow | 9515X4X6 |
| 3⁄8" Male ORB X 1⁄4" Female NPS Swivel 90° Elbow | 9515X6X4 |
| 3⁄8" Male ORB X 3⁄8" Female NPS Swivel 90° Elbow | 9515X6X6 |
| 3⁄8" Male ORB X 1⁄2" Female NPS Swivel 90° Elbow | 9515X6X8 |
| 1⁄2" Male ORB X 3⁄8" Female NPS Swivel 90° Elbow | 9515X8X6 |
| 1⁄2" Male ORB X 1⁄2" Female NPS Swivel 90° Elbow | 9515X8X8 |
| 1⁄2" Male ORB X 3⁄4" Female NPS Swivel 90° Elbow | 9515X8X12 |
| 5⁄8" Male ORB X 3⁄8" Female NPS Swivel 90° Elbow | 9515X10X6 |
| 5⁄8" Male ORB X 1⁄2" Female NPS Swivel 90° Elbow | 9515X10X8 |
| 5⁄8" Male ORB X 3⁄4" Female NPS Swivel 90° Elbow | 9515X10X12 |
| 3⁄4" Male ORB X 1⁄2" Female NPS Swivel 90° Elbow | 9515X12X8 |
| 3⁄4" Male ORB X 3⁄4" Female NPS Swivel 90° Elbow | 9515X12X12 |
| 7⁄8" Male ORB X 3⁄4" Female NPS Swivel 90° Elbow | 9515X14X12 |
| 1" Male ORB X 3⁄4" Female NPS Swivel 90° Elbow | 9515X16X12 |
| 1" Male ORB X 1" Female NPS Swivel 90° Elbow | 9515X16X16 |
| 11⁄4" Male ORB X 3⁄4" Female NPS Swivel 90° Elbow | 9515X20X12 |
| 11⁄4" Male ORB X 11⁄4" Female NPS Swivel 90° Elbow | 9515X20X20 |
| 11⁄2" Male ORB X 11⁄2" Female NPS Swivel 90° Elbow | 9515X24X24 |
| 2" Male ORB X 2" Female NPS Swivel 90° Elbow | 9515X32X32 |
| Description | Part Number |
|---|---|
| ⁄" Male NPT X Male NPT 45° | C5501X |
| ⁄" Male NPT X⁄" Male NPT 45° | C5501X |
| Description | Part Number |
|---|---|
| 1⁄4" Female NPT x Female NPT 45° | C3559X4 |
| 3⁄8" Female NPT x Female NPT 45° | C3559X6 |
| 1⁄2" Female NPT x Female NPT 45° | C3559X8 |
| 3⁄4" Female NPT x Female NPT 45° | C3559X12 |
| 1" Female NPT x Female NPT 45° | C3559X16 |
| 11⁄4" Female NPT x Female NPT 45° | C3559X20 |
| Description | Part Number |
|---|---|
| 1⁄8" Male NPT x Female NPT 45° | C3359X2 |
| 1⁄4" Male NPT x Female NPT 45° | C3359X4 |
| 3⁄8" Male NPT x Female NPT 45° | C3359X6 |
| 1⁄2" Male NPT x Female NPT 45° | C3359X8 |
| 3⁄4" Male NPT x Female NPT 45° | C3359X12 |
| 1" Male NPT x Female NPT 45° | C3359X16 |
| 11⁄4" Male NPT x Female NPT 45° | C3359X20 |
| Description | Part Number |
|---|---|
| 1⁄8" Male NPT X 1⁄8" Female NPS Swivel 45° | 9355X2X2 |
| 1⁄4" Male NPT X 1⁄8" Female NPS Swivel 45° | 9355X4X2 |
| 1⁄4" Male NPT X 1⁄4" Female NPS Swivel 45° | 9355X4X4 |
| 1⁄4" Male NPT X 3⁄8" Female NPS Swivel 45° | 9355X4X6 |
| 1⁄4" Male NPT X 1⁄2" Female NPS Swivel 45° | 9355X4X8 |
| 3⁄8" Male NPT X 1⁄4" Female NPS Swivel 45° | 9355X6X4 |
| 3⁄8" Male NPT X 3⁄8" Female NPS Swivel 45° | 9355X6X6 |
| 3⁄8" Male NPT X 1⁄2" Female NPS Swivel 45° | 9355X6X8 |
| 1⁄2" Male NPT X 3⁄8" Female NPS Swivel 45° | 9355X8X6 |
| 1⁄2" Male NPT X 1⁄2" Female NPS Swivel 45° | 9355X8X8 |
| 1⁄2" Male NPT X 3⁄4" Female NPS Swivel 45° | 9355X8X12 |
| 3⁄4" Male NPT X 1⁄2" Female NPS Swivel 45° | 9355X12X8 |
| 3⁄4" Male NPT X 3⁄4" Female NPS Swivel 45° | 9355X12X12 |
| 3⁄4" Male NPT X 1" Female NPS Swivel 45° | 9355X12X16 |
| 1" Male NPT X 3⁄4" Female NPS Swivel 45° | 9355X16X12 |
| 1" Male NPT X 1" Female NPS Swivel 45° | 9355X16X16 |
| 1" Male NPT X 11⁄4" Female NPS Swivel 45° | 9355X16X20 |
| 11⁄4" Male NPT X 11⁄4" Female NPS Swivel 45° | 9355X20X20 |
| 11⁄2" Male NPT X 11⁄2" Female NPS Swivel 45° | 9355X24X24 |
| Description | Part Number |
|---|---|
| 1⁄8" Female NPT X 1⁄8" Female NPS Swivel 45° | 9385X2X2 |
| 1⁄4" Female NPT X 1⁄4" Female NPS Swivel 45° | 9385X4X4 |
| 1⁄4" Female NPT X 3⁄8" Female NPS Swivel 45° | 9385X4X6 |
| 3⁄8" Female NPT X 3⁄8" Female NPS Swivel 45° | 9385X6X6 |
| 3⁄8" Female NPT X 1⁄2" Female NPS Swivel 45° | 9385X6X8 |
| 1⁄2" Female NPT X 1⁄2" Female NPS Swivel 45° | 9385X8X8 |
| 3⁄4" Female NPT X 3⁄4" Female NPS Swivel 45° | 9385X12X12 |
| 3⁄4" Female NPT X 1" Female NPS Swivel 45° | 9385X12X16 |
| 1" Female NPT X 1" Female NPS Swivel 45° | 9385X16X16 |
| 11⁄4" Female NPT X 11⁄4" Female NPS Swivel 45° | 9385X20X20 |
| 11⁄2" Female NPT X 11⁄2" Female NPS Swivel 45° | 9385X24X24 |
| Description | Part Number |
|---|---|
| 1⁄4" Male ORB X 1⁄4" Female NPS Swivel 45° | 9365X4X4 |
| 1⁄4" Male ORB X 3⁄8" Female NPS Swivel 45° | 9365X4X6 |
| 3⁄8" Male ORB X 3⁄8" Female NPS Swivel 45° | 9365X6X6 |
| 3⁄8" Male ORB X 1⁄2" Female NPS Swivel 45° | 9365X6X8 |
| 1⁄2" Male ORB X 3⁄8" Female NPS Swivel 45° | 9365X8X6 |
| 1⁄2" Male ORB X 1⁄2" Female NPS Swivel 45° | 9365X8X8 |
| 5⁄8" Male ORB X 1⁄2" Female NPS Swivel 45° | 9365X10X8 |
| 3⁄4" Male ORB X 3⁄4" Female NPS Swivel 45° | 9365X12X12 |
| 1" Male ORB X 1" Female NPS Swivel 45° | 9365X16X16 |
| 11⁄4" Male ORB X 11⁄4" Female NPS Swivel 45° | 9365X20X20 |
| Description | Part Number |
|---|---|
| 1⁄8" Female NPT Union Tee | C3709X2 |
| 1⁄4" Female NPT Union Tee | C3709X4 |
| 3⁄8" Female NPT Union Tee | C3709X6 |
| 1⁄2" Female NPT Union Tee | C3709X8 |
| 3⁄4" Female NPT Union Tee | C3709X12 |
| 1" Female NPT Union Tee | C3709X16 |
| 11⁄4" Female NPT Union Tee | C3709X20 |
| Description | Part Number |
|---|---|
| 1⁄8" Female NPT x Male NPT Run Tee | C3759X2 |
| 1⁄4" Female NPT x Male NPT Run Tee | C3759X4 |
| 3⁄8" Female NPT x Male NPT Run Tee | C3759X6 |
| 1⁄2" Female NPT x Male NPT Run Tee | C3759X8 |
| 3⁄4" Female NPT x Male NPT Run Tee | C3759X12 |
| 1" Female NPT x Male NPT Run Tee | C3759X16 |
| 11⁄4" Female NPT x Male NPT Run Tee | C3759X20 |
| Description | Part Number |
|---|---|
| 1⁄8" Female NPT x Male NPT Branch Tee | C3609X2 |
| 1⁄4" Female NPT x Male NPT Branch Tee | C3609X4 |
| 3⁄8" Female NPT x Male NPT Branch Tee | C3609X6 |
| 1⁄2" Female NPT x Male NPT Branch Tee | C3609X8 |
| 3⁄4" Female NPT x Male NPT Branch Tee | C3609X12 |
| 1" Female NPT x Male NPT Branch Tee | C3609X16 |
| 11⁄4" Female NPT x Male NPT Branch Tee | C3609X20 |
| 11⁄2" Female NPT x Male NPT Branch Tee | C3609X24 |
| Description | Part Number |
|---|---|
| 1⁄4" Female NPS Swivel Union Tee | 9705X4X4X4 |
| 3⁄8" Female NPS Swivel Union Tee | 9705X6X6X6 |
| 1⁄2" Female NPS Swivel Union Tee | 9705X8X8X8 |
| 3⁄4" Female NPS Swivel Union Tee | 9705X12X12X12 |
| 1" Female NPS Swivel Union Tee | 9705X16X16X16 |
| 11⁄4" Female NPS Swivel Union Tee | 9705X20X20X20 |
| Description | Part Number |
|---|---|
| 1⁄8" Female NPT Union Cross | C3959X2 |
| 1⁄4" Female NPT Union Cross | C3959X4 |
| 3⁄8" Female NPT Union Cross | C3959X6 |
| 1⁄2" Female NPT Union Cross | C3959X8 |
| 3⁄4" Female NPT Union Cross | C3959X12 |
| 1" Female NPT Union Cross | C3959X16 |
| 11⁄4" Female NPT Union Cross | C3959X20 |


{{Refimprove|date=September 2014}} {{Infobox prepared food | name = Chorba | image = | caption = A čorba from Serbia | alternate_name = | country = | region = | creator = | course = | type = Soup or stew | served = | main_ingredient = | variations = | calories = | other = }}
Chorba ({{Lang-tr|çorba}}, pronounced {{IPA-tr|tʃoɾˈba|}}) is one of various kinds of soup or stew found in national cuisines across the Balkans, North Africa, Eastern Europe, Central Asia, and the Middle East.
Chorba is derived from a Persian term شوربا from shor ("salty, brackish") and ba ("stew").<ref name="Davidson2006">{{cite book|author=Alan Davidson|title=The Oxford Companion to Food|url=https://books.google.com/books?id=pZ-1AQAAQBAJ&pg=PT2056|date=21 September 2006|publisher=OUP Oxford|isbn=978-0-19-101825-1|pages=2055–}}</ref>
Chorba is also called shorba ({{Lang-fa|شوربا}}), ({{Lang-am|ሾርባ}}), shorwa ({{lang-ps|شوروا}}), ciorbă ({{Lang-ro|ciorbă}}), shurpa ({{Lang-ru|шурпа}}), shorpa ({{lang-ug|ug=شورپا}}), shorpo ({{Lang-ky|шорпо}}), and sorpa ({{Lang-kk|сорпа}}).{{citation needed|date=July 2015}} In South Asia, the term shorba ({{lang-ur|شوربہ}}, {{lang-hi|शोरबा}}) simply means gravy.{{citation needed|date=July 2015}}
{{portal|Food}}
{{commons category|Shorpa}} {{reflist}}
{{Cuisine of Turkey}}
{{DEFAULTSORT:Corba}}


|
Snake_01
|
Main Function of the snake game. Organises calls, basic functions and later menu. More...
#include <iostream>
#include <string>
#include <stdlib.h>
#include <list>
#include <vector>
#include <forward_list>
#include "../include/Food.h"
#include "Gamewindow.h"
#include "Parameters.h"
#include "Snakepart.h"
#include "gdpc.h"
#include "smallFunctions.h"
Go to the source code of this file.
Functions | |
| int | initializeEverything () |
| This just initializes everything (beginning with the gamewindow, the head of the snake, food, and so on). It takes most information needed out of the SnakeList and par. | |
| Gamewindow * | startupMenu (bool val, Gamewindow *m) |
| Handles everything about the menu (drawing, keypressing, and so on. More... | |
| int | movement (Gamewindow *wd) |
| This function needs to be called in a lopp and organises the movement of the Snake. As long as the direction is not "STOP" (which will never happen unless the game starts) this function should create an endless movement. | |
| void | browseList (std::list< Snakepart > s) |
| This function just prints information to stdout about every Snakepart type object in the list. Mainly for debugging. | |
| int | exitStuff (Snakepart *sn) |
| Organises calls of deconstructors and clean exit. | |
| int | main (void) |
| Main function organises calling of every game function. | |
Variables | |
| Parameters | par |
| Parameter Object for global parameters. Not really used anymore, was a bad idea to begin with. | |
| std::list< Snakepart > | snakeList |
| Generates a two way List with type Snakepart. This stores the head as well as every following snakepart (yes a vector would have been better) | |
Main Function of the snake game. Organises calls, basic functions and later menu.
Definition in file main.cpp.
| Gamewindow * startupMenu | ( | bool | val, |
| Gamewindow * | m | ||
| ) |
Handles everything about the menu (drawing, keypressing, and so on.
| val | Bool value. If true new Gamewindow will be created. If False the Gamewindow will be deleted. |
| m | Gamewindow type pointer to the gamewindow that shall be deleted. If val is set to true this parameter should be set to NULL. |


Login
Please fill in your credentials to log in
Login via facebook
Email:
*
Password:
*
No account? Register


--- layout: post title: 'PostgreSQL Session #4 : From Oracle to PostgreSQL' ---
As a nice coincidence the 4th PostgreSQL Session held Thursday, October 4 which was also the last day of Oracle Open World conference. Suffice to say that the two events didn't share the same definition of the word "Open"!
As for the previous sessions organized by Dalibo, the room was full to listen to the various speakers.
The morning speeches were devoted to migration tools themselves with three main methods: ora2pg, ETL or Foreign Data Wrapper:
The afternoon was an overview of the alternatives to traditional Oracle tools, including
All presentations are available in PDF format here. Most the slides are in French, except Jean-Paul, Gabriele and Laurenz talks: http://www.postgresql-sessions.org/en/4/
For my part, I presented the following conclusions during the closing keynote:
1 - There are multiple ways to migrate from Oracle to PostgreSQL: according to your needs and the complexity of your database schema, you can use different tools. ora2pg is specialized and easy to implement. Kettle and other ETL are very powerful and useful if you need to transform the data. And finally oracle_fdw is an original solution to migrate smoothly.
2 - There's still some missing features in the PostgreSQL ecosystem: including comprehensive tools for partitioning or free alternatives to OEM. This leads many observers to judge that «Oracle is ahead of PostgreSQL». For my part, rather than looking at the position of each RDBMS at a given moment, I prefer to look at the innovation rate and the dynamic of each project ... And this 1-day conference showed us that the PostgreSQL community is currently in an extremely fertile and creative period. This extraordinary growth is the assurance that PostgreSQL will be a dominant RDBMS in the years to come. In other words: the PostgreSQL project is perhaps behind Oracle right now, but given its current speed it will quickly reach and surpass the competition.
3 - As stated by Jean-Paul during the opening keynote, a DBMS migration is 10% about tools and 90% about human. The good news is that open source is all about putting users above technology. Indeed, when moving from a proprietary database to PostgreSQL, the total cost of ownership (TCO) changes its nature: you no longer pay expensive licenses to a monopolistic giant. Instead your budget is redirected to "real services" (support, training, consulting) provided by local companies that are close to you. Switching to free software is not only a technical change, it is also (and above all) a revolution in the business relationships.
Finally, I would like to warmly thank all those who made this conference possible especially Laurentz Albe and Gabriele Bartolini.
The next PostgreSQL session will take place in early 2013. We are currently considering the theme of the day. Do not hesitate to submit your ideas and suggestions at<EMAIL_ADDRESS>. And Follow us on twitter !