|
G24Lib
A set of convenient classes, functions and other utilities mainly for quickly writing numerical code. Provides relatively easy integration with CUDA, general Runge-Kutta methods, linear equation solvers and more.
|
Provides a generic way to handle memory allocations and de-allocations in different memory contexts. More...
Go to the source code of this file.
Classes | |
| struct | g24_lib::MemoryContext::CPU |
Usual, CPU-addressable memory. Anything allocated by new or new[] fits here. More... | |
| struct | g24_lib::MemoryContext::CUDA_GPU |
Memory that is accessible only to CUDA kernels. In essence, anything from cudaMalloc . More... | |
| struct | g24_lib::CUDA_memory_manager< Type, indexer > |
| Manages memory on a CUDA-enabled GPU. More... | |
| struct | g24_lib::default_memory_manager< Type, indexer > |
Manages memory on the CPU. Basically a slightly different take on std::allocator ... More... | |
| struct | g24_lib::MemoryContext::memory_context_base |
| Provides a base class for all memory contexts. More... | |
| struct | g24_lib::memory_manager_base< Type, indexer > |
| Provides a base class for all memory managers. More... | |
Namespaces | |
| g24_lib | |
| The namespace where all the library resides. | |
| g24_lib::internals | |
| A namespace where several implementation details are stored. When possibly relevant, they are documented here, but, being implementation details, they should not be used by the end users! | |
| g24_lib::MemoryContext | |
| The different memory contexts supported by the library are here. | |
Typedefs | |
| template<class manager > | |
| using | g24_lib::MemoryContext::context_from_manager = typename manager::memory_location |
| The memory context in which a given manager allocates and deallocates memory. More... | |
| using | g24_lib::MemoryContext::current = decltype(internals::get_current_memory_context()) |
| The current memory context. More... | |
| template<class Type , class indexer > | |
| using | g24_lib::MemoryContext::current_manager = manager_from_context< current, Type, indexer > |
| The memory manager that is appropriate for the current memory context. More... | |
| template<class context , class Type , class indexer > | |
| using | g24_lib::MemoryContext::manager_from_context = decltype(internals::get_memory_manager_from_context< context, Type, indexer >()) |
| The memory manager that is appropriate for the a given memory context. More... | |
Functions | |
| constexpr CUDA_HOS_DEV auto | g24_lib::internals::get_current_memory_context () |
| Returns the memory context in which the code is being ran. More... | |
| template<class context , class Type , class indexer > | |
| static constexpr CUDA_HOS_DEV auto | g24_lib::internals::get_memory_manager_from_context () |
| Returns the an appropriate memory manager from a memory context. More... | |
Variables | |
| template<class context > | |
| constexpr bool | g24_lib::is_memory_context = std::is_base_of_v<MemoryContext::memory_context_base, context> |
Checks if context is a valid memory context. More... | |
| template<class manager > | |
| static constexpr bool | g24_lib::is_memory_manager = internals::memory_manager_checker<manager>::is_manager |
Checks if manager is a valid memory manager. More... | |
Provides a generic way to handle memory allocations and de-allocations in different memory contexts.
Definition in file memory_manager.h.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.fhg.iml.vlog.xfvrp.base.fleximport.FlexiImporter
public class FlexiImporter
FlexiImporter is the class which holds the concept for flexible and adaptive import of data into the XFVRP suite. The general points are - abstraction of data handling between chaotic user and stable algorithms - abstraction of import sequence (which data is first?) - Easy-to-fill data objects by eliminating import methods (set/add) with static parameters - Handling of vehicles (default or fleet) - Assiging the vehicle priority by sorting the vehicles with their capacities After import collected data can be accessed XFVRP suite.
| Field Summary | |
|---|---|
InternalVehicleData |
defaultVehicle
|
InternalVehicleData |
invalidVehicle
|
| Constructor Summary | |
|---|---|
FlexiImporter()
Standard constructor Here default vehicle is added to data. |
| Method Summary | |
|---|---|
void |
clear()
Clears all internal data lists and reset the internal fields. |
void |
clearCustomers()
Clears all imported customers |
void |
clearDepots()
Clears all imported depots. |
void |
clearVehicles()
Removes all inserted vehicles and reset the planning parameters to default. |
void |
finishImport()
If XFVRP suite begins execution, the import process is finished and all achieved data objects are finalized and inserted into the data lists. |
CustomerData |
getCustomerData()
Achieve a customer data object, where user can import data in any sequence. |
java.util.List<InternalCustomerData> |
getCustomerList()
|
DepotData |
getDepotData()
Achieve a depot data object, where user can import data in any sequence. |
java.util.List<InternalDepotData> |
getDepotList()
|
VehicleData |
getVehicleData()
Achieve a vehicle data object, where user can import data in any sequence. |
java.util.List<InternalVehicleData> |
getVehicleList()
|
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public final InternalVehicleData defaultVehicle
public final InternalVehicleData invalidVehicle
| Constructor Detail |
|---|
public FlexiImporter()
| Method Detail |
|---|
public void finishImport()
public DepotData getDepotData()
public CustomerData getCustomerData()
public VehicleData getVehicleData()
public void clear()
public void clearCustomers()
public void clearDepots()
public void clearVehicles()
public java.util.List<InternalDepotData> getDepotList()
public java.util.List<InternalCustomerData> getCustomerList()
public java.util.List<InternalVehicleData> getVehicleList()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


A platform to build next generation digital game items
Explore Demo
Project CHAOS
Build next generation digital game items
Sign Up for Free
No credit card required


Username
Password
Please choose a password.
Sign In
Forgot Password?
Username
Email
You need a valid e-mail to sign up
Password
Please choose a password.
Repeat Password
Please choose a password.
Sign Up
Forgot Password?


A service for storing and retrieving versions of Avro schemas
This service implements the API of the Confluent Schema Registry.
Imitation is the sincerest form of flattery, right?
This service is hosted by Salsify for anyone to use.
Host your own copy of this service on Heroku:
Details on the implementation can be found here.
Background on how we use this service is described on our blog.
This service is public. Uploaded schemas are visible to anyone.
The password for the service is 'avro'. The username for requests is not verified but you should choose something to identify yourself.
Data stored by this service may be cleared at any time.


|
SuperLU 6.0.0
|
Solves the system of linear equations A*X=B. More...
#include "slu_zdefs.h"
Functions | |
| void | zgssv (superlu_options_t *options, SuperMatrix *A, int *perm_c, int *perm_r, SuperMatrix *L, SuperMatrix *U, SuperMatrix *B, SuperLUStat_t *stat, int_t *info) |
| Driver routines. More... | |
Copyright (c) 2003, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from U.S. Dept. of Energy)
All rights reserved.
The source code is distributed under BSD license, see the file License.txt at the top-level directory.
-- SuperLU routine (version 3.0) -- Univ. of California Berkeley, Xerox Palo Alto Research Center, and Lawrence Berkeley National Lab. October 15, 2003
| void zgssv | ( | superlu_options_t * | options, |
| SuperMatrix * | A, | ||
| int * | perm_c, | ||
| int * | perm_r, | ||
| SuperMatrix * | L, | ||
| SuperMatrix * | U, | ||
| SuperMatrix * | B, | ||
| SuperLUStat_t * | stat, | ||
| int_t * | info | ||
| ) |
Purpose ======= ZGSSV solves the system of linear equations A*X=B, using the LU factorization from ZGSTRF. It performs the following steps: 1. If A is stored column-wise (A->Stype = SLU_NC): 1.1. Permute the columns of A, forming A*Pc, where Pc is a permutation matrix. For more details of this step, see sp_preorder.c. 1.2. Factor A as Pr*A*Pc=L*U with the permutation Pr determined by Gaussian elimination with partial pivoting. L is unit lower triangular with offdiagonal entries bounded by 1 in magnitude, and U is upper triangular. 1.3. Solve the system of equations A*X=B using the factored form of A. 2. If A is stored row-wise (A->Stype = SLU_NR), apply the above algorithm to the transpose of A: 2.1. Permute columns of transpose(A) (rows of A), forming transpose(A)*Pc, where Pc is a permutation matrix. For more details of this step, see sp_preorder.c. 2.2. Factor A as Pr*transpose(A)*Pc=L*U with the permutation Pr determined by Gaussian elimination with partial pivoting. L is unit lower triangular with offdiagonal entries bounded by 1 in magnitude, and U is upper triangular. 2.3. Solve the system of equations A*X=B using the factored form of A. See supermatrix.h for the definition of 'SuperMatrix' structure. Arguments ========= options (input) superlu_options_t* The structure defines the input parameters to control how the LU decomposition will be performed and how the system will be solved. A (input) SuperMatrix* Matrix A in A*X=B, of dimension (A->nrow, A->ncol). The number of linear equations is A->nrow. Currently, the type of A can be: Stype = SLU_NC or SLU_NR; Dtype = SLU_Z; Mtype = SLU_GE. In the future, more general A may be handled. perm_c (input/output) int* If A->Stype = SLU_NC, column permutation vector of size A->ncol which defines the permutation matrix Pc; perm_c[i] = j means column i of A is in position j in A*Pc. If A->Stype = SLU_NR, column permutation vector of size A->nrow which describes permutation of columns of transpose(A) (rows of A) as described above. If options->ColPerm = MY_PERMC or options->Fact = SamePattern or options->Fact = SamePattern_SameRowPerm, it is an input argument. On exit, perm_c may be overwritten by the product of the input perm_c and a permutation that postorders the elimination tree of Pc'*A'*A*Pc; perm_c is not changed if the elimination tree is already in postorder. Otherwise, it is an output argument. perm_r (input/output) int* If A->Stype = SLU_NC, row permutation vector of size A->nrow, which defines the permutation matrix Pr, and is determined by partial pivoting. perm_r[i] = j means row i of A is in position j in Pr*A. If A->Stype = SLU_NR, permutation vector of size A->ncol, which determines permutation of rows of transpose(A) (columns of A) as described above. If options->RowPerm = MY_PERMR or options->Fact = SamePattern_SameRowPerm, perm_r is an input argument. otherwise it is an output argument. L (output) SuperMatrix* The factor L from the factorization Pr*A*Pc=L*U (if A->Stype = SLU_NC) or Pr*transpose(A)*Pc=L*U (if A->Stype = SLU_NR). Uses compressed row subscripts storage for supernodes, i.e., L has types: Stype = SLU_SC, Dtype = SLU_Z, Mtype = SLU_TRLU. U (output) SuperMatrix* The factor U from the factorization Pr*A*Pc=L*U (if A->Stype = SLU_NC) or Pr*transpose(A)*Pc=L*U (if A->Stype = SLU_NR). Uses column-wise storage scheme, i.e., U has types: Stype = SLU_NC, Dtype = SLU_Z, Mtype = SLU_TRU. B (input/output) SuperMatrix* B has types: Stype = SLU_DN, Dtype = SLU_Z, Mtype = SLU_GE. On entry, the right hand side matrix. On exit, the solution matrix if info = 0; stat (output) SuperLUStat_t* Record the statistics on runtime and floating-point operation count. See util.h for the definition of 'SuperLUStat_t'. info (output) int* = 0: successful exit > 0: if info = i, and i is <= A->ncol: U(i,i) is exactly zero. The factorization has been completed, but the factor U is exactly singular, so the solution could not be computed. > A->ncol: number of bytes allocated when memory allocation failure occurred, plus A->ncol.


Capacitor features a native Android bridge that enables developers to communicate between JavaScript and Native Java for Android code.
Capacitor Android apps are configured and managed through Android Studio (generally), with dependencies managed by gradle.
Follow these guides for more information on each topic:
Configuring and setting permissions for Android


...a translator between New Zealand politcal poll results and MMP election results
| Act | Conservative | Green | Labour | Mana Internet | Maori | National | NZ First | United | |
|---|---|---|---|---|---|---|---|---|---|
| Support(%) | |||||||||
| Electorates | |||||||||
| Allies |
and the sample size:
then generate the graphs
taking the individual party results
taking the poll results as the basis for simulating 1000 elections
for the code behind the graphs, see https://github.com/thoughtfulbloke/onevoteweb


--- layout: post title: Jack has_many :things disqus_id: /2008/09/28/jack-has_many-things/ lastmod: 2011-12-06 categories: - database - heuristics - ruby-rails ---
I am Jack's sofa, stereo and wardrobe... I make Jack's life complete. I reside in a ActiveRecord table called "things" and Jack is the only one that has the key. This is Jack's life, and it's ending one minute at a time.
As rails developers, we have done this simple relationship over and over again. I'm sure the has_many association is by far the most common in app/db design. It gives a single resource quick and easy access to others, but as your application grows, and depression sets in, we have to open up.
I am talking about groups. Not the underground ones that carve us out of wood, but ones where we share with those around us. This is healing. The time has come to for our objects to do the same, but how?
The problem is that the ActiveRecord has_many association is scoped to an individual. No matter what conditions are tacked on, they are always pwned by the proxy owner. The things they own have ended up owning you! Sure we could model some groupable schema and go through it, ActiveRecord is beautiful that way. But what about our hard work in all those existing has_many associations and scopes?
The solution is on everyone's face, it is on the tip of everyone's tongue. I just gave it a name. It is called GroupedScope and it will fundamentally change the constructed SQL for the has_many associations you want to share. The best part, it will leave those associations untouched for continued use. GroupedScope even works with your existing association extensions and any scopes. Let's have a session.
First we need to install the gem. So bundle up in your Gemfile.
{% highlight ruby %} gem 'grouped_scope', '~> 3.1.0' {% endhighlight %}Now let's open up our people schema and the Person model, so Jack can share. First we add a group_id column to the people table.
{% highlight ruby %} class PeopleCanChooseAGroup < ActiveRecord::Migration def up add_column :people, :group_id, :integer end def down remove_column :people, :group_id end end {% endhighlight %}Next we declare grouped_scope on a few associations.
{% highlight ruby %} class Person < ActiveRecord::Base has_many :things has_many :acquaintances has_many :problems grouped_scope :things, :problems end @jack = Person.find_by_name('Jack') @bob = Person.find_by_name('Bob') @jack.update_attribute :group_id, 1 @bob.update_attribute :group_id, 1 {% endhighlight %}
So now every Person object in our app is now ready to share their :things
and their :problems
. I have also just arbitrarily put Jack and Bob into the same group. Declaring grouped_scope
in the model generates a new group
instance method that will allow us to either reflect on the group or delegate to the associations we have declared as now haveing grouped scope.
The object returned by the group method, is an instance of GroupedScope::SelfGrouping
. It is far cooler than you think. It looks and acts as an enumerable array, but in reality it is a ActiveRecord::Relation
object that can delegate to generated grouped association reflections which mimic their originals. Essentially giving the group access to all associated objects of its members, in this case their :things
and :problems
. Did I loose you?
Without going into the detail of Jack's and Bob's problems, we can see that within the group, they are all shared. This is what the GroupedScope gem is really all about. It allows existing has_many associations to be called on the group which changes the SQL generated to be owned by the group, essentially from id = 1
to id IN (SELECT id FROM people WHERE group_id = 1)
.
The way it accomplishes this is pretty sweet. GroupedScope creates reflections that use a custom association scope method which uses a little Arel magic to build predicate conditions. Since it copies all your existing association reflection options, it can be really smart by maintaining all the logic in the existing association. So options like :class_name
, :foreign_key
, :though
, and :extend
will just work! It also lets you chain scopes existing scopes or use your custom association extensions on the original associations. Here is very contrived example:
The GroupedScope gem is never quite done. It is however well tested and can do exactly all that I have outlined in ActiveRecord 3.1.0. I even have older gem versions that track our legacy 2-3-stable git branch.
Also, you may have noticed that GroupedScope
does not try to solve what your group business logic may look like. This is intentional and left to the end user to implement a Group
object. This object would be the primary key owner of the group_id
column in your models that declare grouped scope. You would also need to declare some sort of belongs_to
association to your custom group model too.
Lastly, if we you see something you might like in features or notice a bug, open a issue on our Github project page.


{% extends "layout.html" %} {% block content %}
Click on the following link to view a .pdf version of my CV: Justin Glover CV
Check back soon for an html version.


| Class | Description |
|---|---|
| AddCareProviderCommentView | |
| AddorEditRecordView | |
| AddPatientView | |
| AddProblemView | |
| BodyPhoto |
A body photo which is used by a Patient to indicate where on their problem is located on their body.
|
| BodyPhotoTest | |
| CareProvider |
The CareProvider class creates CareProvider objects/users and their data
|
| CareProviderComment |
CareProviderComment represents the comment records that careproviders can leave on patient problems.
|
| CareProviderCommentTest |
Created by caochenlin on 2018/11/2.
|
| CareProviderHomeView | |
| CareProviderProblemView | |
| CareProviderTest | |
| CaretakerTest | |
| CreateAccountActivity | |
| EditProblem | |
| ExampleUnitTest |
Example local unit test, which will execute on the development machine (host).
|
| LoginActivity | |
| MapView | |
| NotificationsController |
NotificationController handles alerting a Patient of when they should add another record to
one of their problems based on the notifications added to problems by the Patient.
|
| notifyUserControllerTest | |
| Patient |
The Patient class creates Patient objects/users and their data
|
| PatientDataManagerTest |
Created by caochenlin on 2018/11/2.
|
| PatientHomeView | |
| PatientRecord |
The patient record is a record added to a problem by a patient.
|
| PatientRecordTest | |
| PatientTest | |
| Photo |
Photo object that represents the photos that can be added to patient records.
|
| PhotoTest | |
| Problem |
The Problem object represents a patient's medical problem.
|
| ProblemTest |
Created by caochenlin on 2018/10/28.
|
| SearchActivity |
SearchActivity will enable patients and careproviders to search for problems and records.
|
| SearchResultsView |
SearchResultsView enables patients and careproviders to view the results of their search queries.
|
| SlideShowActivity |
SlideShowActivity will enable patients and careproviders to view a slidehsow of all of the photos
associated with a problem.
|
| User |
The User superclass class creates user objects and contains all the constructors, getters, and setters to modify user
objects and promote data access within both CareProvider and Patient subclasses
|
| UserDataController<E> |
Used to load data from server or local cache as well as save to server and local cache.
|
| UserDataControllerTest |
Created by caochenlin on 2018/11/2.
|
| UserSettingsActivity | |
| ViewMyProblems | |
| ViewPatients | |
| ViewPatientsProblems |


Set 1 Select the first set of variables for the correlations.
Set 2 Select the second set of variables for the correlations.
This dialog specifies what output is displayed and the scoring behavior.
Rootname for Score Variables Enter a prefix for the names of the generated score variables.
• If either scoring or creating a syntax file for scoring is selected, a rootname is required.
Scores Check the box and specify a dataset name in order to create a dataset of scores. The dataset will contain the centered variables and the scores.
Scoring Syntax File Check the box and select an output file specification to create a syntax file containing the commands for scoring a dataset. The syntax centers the data and then calculates scores for both sets of variables.
• The syntax expects the same variable names as were used for computing the correlations.
Scoring Dimension Limit By default all the correlations are used for scoring. You can specify a smaller limit by checking the box and entering the number of canonical correlations to use.
Display Check the boxes for the desired output. The pairwise correlations are the same as would be produced by running the Correlations procedure with listwise missing value deletion. A table of correlations and tests is always produced.
This dialog generates syntax for the STATS CANCORR extension command. To display syntax help for this command, run the following syntax:
STATS CANCORR /HELP.


UN sounds alarm on desert locust outbreak in Rajasthan, Horn of Africa
A small swarm eats as much food daily as about 35,000 people, according to the FAO
by Samuel Gebre | BloombergA desert locust outbreak in the Horn of Africa and the Indo-Pakistan border remains “serious and threatening,” the United Nation’s Food and Agriculture Organization said.
“Breeding will continue along both sides of the Red Sea, which could be supplemented by the arrival of a few small swarms on the Eritrean coast from Ethiopia, causing a further increase in locust numbers,” the FAO said in a bulletin.
Control operations in October treated 7,000 hectares in Ethiopia and Sudan. India and Pakistan treated 82,944 hectares and 22,650 hectares respectively. An increased number of swarms formed during October in India and Pakistan, the FAO said. The insects are moving west to Iran “where recent rains should allow them to survive until the spring.”
An adult locust can consume roughly its own weight of about 2 grams daily, and swarms can cover up to 150 kilometers (93 miles) a day. A small swarm eats as much food daily as about 35,000 people, according to the FAO.


GDJ
Entertainment
Home
About
Services
Contact
Performances
Book Now
(current)
Book Now
Your name
Your email
Phone
City
Date & Time
Your message
Send


{% extends "FSJ/base_with_banner.html" %} {% load i18n %} {# NOTE YOU MUST LOAD i18n to every HTML page even though it's also loaded to base.html #} {# A standardized page for viewing the fields of an individual program #} {# This page is also used to edit programs, it is up to the form to disable/enable views #} {% block heading %} {% if program_code %} {# Translators: Edit program page heading #} {% trans "Edit Program" %} {% else %} {# Translators: Add program page heading #} {% trans "Add Program" %} {% endif %} {% endblock %} {% block content %}


Add an animal button and click on it You can start and pause the animation when clicking on an image Page Color: Red Blue Yellow Pink Green


IBV reads line represents evidence; OpenUrl RNASeq genes Fig. Beaudette gene host expressed RNA relative Download ORFb translation CrossRef RiboSeq cells Supp. differentially mapped new Open analysis data-hide-link-title=""> data-icon-position="" figure represent tab blue TRS codon nodes virus read ribosomal using viral Table View coronavirus mRNA ribosome Virol. coloured coverage sequence Figure S). genes. infectious FREE TRS-B Text bronchitis chimeric initiation number profiling shown used Abstract ORFa kidney mapping million phase positions -nt AUG expression green region sites ;<;div ORFs different encoded evidence experimental identified pausing response sequences seven Beaudette, RPFs codons comparisons database indicates mock-infected pause plotted proteins regions ribosomes significantly values ORFc abundant avian chick coding data efficiency genomic indicated level protein purple termination terms transcription Science Seven Web associations. black co-expression co-ocurrence commonly enriched fusion genome light lines link neighborhood network predicting presence red relationship sequencing sgmRNA text-mining types upstream yellow Irigoyen ORF codon, density frame gRNA libraries (A) Coverage Res. Virus associated down-regulated downstream end evidence.<;/div>;<;/div>;" frameshifting pauses start strains up-regulated xmlns=";http://www.w.org//xhtml";>;STRING (<;strong>;panels I<;/strong>;). PRF RPF abundance calculated cell derived genes, infected infection length library novel nucleotide respectively; seen set transcript (B) (see Cavanagh, Reads Sawicki, [[#x]] abundances according blue, cells. codons. consistent core discontinuous lengths panel) present purple, shows stop translational (RPM). Biol. Brierley, Britton, a/b case described efficiencies encoding inline leader logFC popup residues revealed samples specific strain subgenomic table: virus. A.E. Beau-CK Beaudette-infected Data Firth, M-infected RPKM STRING TRS-L TRS-spanning TRSs Translation acid amino biological densities differential ends highly indicate internal kilobase located observed occurs orange, position primarily proportion protein-coding respectively, study total transcripts <;strong>;(B)<;/strong>; (.% (AUG) (UNN) (red) -codon Brierley Brown, Chimeric Gen. Histograms Infectious Ingolia Ingolia, M-CK N.T. Note P-site Ribosomal Ribosome S.G. assigned compared cycloheximide decumulated efficient encoded. evident genome. immediately infection, infection. junction large library. likely mRNAs mean measured nascent non-canonical nucleotides orange pathways paused phasing possible previously programmed reading respectively ribosomally sgmRNAs spanning structural substantial synthesis uORF vitro <;strong>;(A)<;/strong>; (CU (PRF) (i.e. (left (left) (mRNA (right (right). ;Histograms A.M. Acids Beaudette. Bentley Casais, DEGs Liu, Nucleic ORFc, Positions S), Sawicki Sequence Set T.D. Tuller, U/ml UNN UTR absence accessory allowed attenuated average, bias canonical changes charged chicken contain contains correspond corresponding dORF deep discussed early efficiently eukaryotic expected expression. fact flanking following forward high identify included individual initiating library.<;/div>;" logo low mechanism membrane obvious occupied occur pathogen peptide performed polyprotein potential previous primary produced putative ratio reflect regulation remains respectively. result reveals samples. scanning sequence. sgmRNAs. signal site. spike strand synthesis. term transcription. transcriptional


How to prepare content?
Need a lot of research and organizing ideas
How to produce
Develop your idea and record it.
To record you will need: Sound, Camera, Light and a Computer
How to delivery
You can choose any digital media like: YouTube, Twitch or Instagram.


I'm Ana, I am an undergraduate student at Wellesley College. This is my personal webiste where you will find some of the cool stuff I have created. I am primarily interested in data analytics and software engineering internships.
WHAT I'M UP TO
Member of Prof. Mustafaraj's CRED Research Lab
Taking CS234: Data Analytics and Visualizations
Probably looking for a decent taco in Boston
PROFESSIONAL
data science | SWE | web design
VALE LA PENA
Gloria Anzaldúa, Xicana feminist scholar and one of my role models, once said "Do that work that matters. Vale la pena". In other words, it's worth it if it matters. Below are some of my various, eclectic side projects.


BIRD ON A WIRE [Probable Spoilers] Reviewer: Jaye Mathisen Copyright 1990 Jaye Mathisen
Summary: A person in the witness protection program, runs into some baddies and the girl he almost married. Crashes, guns, and a few laughs round out the score.
Mel Gibson is Richard Jarmine, a guy who testified against a couple of corrupt DEA agents, and was rewarded by being placed in the Federal Witness Protection program. Goldie Hawn plays a lawyer (Marianne Graves) who runs into Richard at a Gas Station. The last time she's seen him is 15 years ago when he left her at the altar. In fact, when she gets gas at a station that he's working at,she's not sure it's him.
Prior to all the above events, a bad dude (David Carradine) -- one of the DEA people that Rick sent to prison -- has just been released, and needs to wipe Rick out both on general principles, and because Rick hasn't testified against the bad dude's partner, another bad dude.
 In the meantime, Marianne has gone back to the place where Rick works to see if it really is him, and notices the bad dudes attempting to turn Rick into dog food. Some excitement later, Rick and Marianne are now together, and Rick needs Marianne to help him find his contact at the FBI to relocate him, but that person appears to have retired, and the FBI doesn't have any record of Rick now. (This is because another bad FBI dude has wiped out Ricks records for reasons that never were explained).
The rest of the movie is guns, babes (Rachel Varney -- played by some playmate), motorcycles, hairdressers, bad dudes, and wild animals. Rick and Marianne constantly leap from the frying pan and into the fire. The final fire is at a zoo where Rick used to work, and he uses his rapport with animals and a lot of luck to smoke all the bad dudes.
The number of chases/crashes/exciting events is quite long, and fun to watch. However, after LETHAL WEAPON 1 & 2, it's very difficult to watch Mel not being a kick-butt kind of guy. I suppose it was an attempt to show that clever is better than brawn, but I think the latter is more fun to watch.
In the end, Rick and Marianne emerge victorious and in love, and live happily ever after....
Rating: If I was going to be picky, BIRD ON A WIRE doesn't have a lot going for it. The plot doesn't really develop (why was the FBI guy that wiped out Ricks file involved with the other bad dudes), and I'm not sure why they bothered to mention that Marianne is a lawyer. I don't recall hearing her spout any legalese, unless the point was to show that she's rich. There were other gripes, and holes, but it certainly wasn't the worst. So it rates 2 stars (**,average) on the 1 to 4 star scale.
Enjoyability Rating: Disregarding the above, the film is pretty good. I enjoyed it very much, Mel's a stud, Goldie's a babe, and there was enough action/comedy/adventure that even if you noticed the holes in the plot, you were too caught up in what was going on to pay much attention. Make no mistake, the film hauls butt. I'd recommend it to my friends, and maybe even see it again, so it gets a 3 stars out of 4 for enjoyment.
-- Jaye Mathisen,systems manager Internet<EMAIL_ADDRESS>410 Roberts Hall BITNET<EMAIL_ADDRESS>Dept. of Computer Science Montana State University PHONE: (406) 994-{4780,3931} Bozeman MT 59717
.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Start Bootstrap
GitHub Pages
(current)
mDrive
CSIS server
Bm Breuss's Student Home Page
Assignments
Assignment 01
Assignment 02
Assignment 03
Assignment 04
Assignment 05
Assignment 06
Assignment 07
Bootstrap 4.5.0
jQuery 3.5.1


touchstart
touchmove
touchend
tap
doubleTap
longTap
swipe
swipeLeft
swipeRight
swipeUp
swipeDown
click


To Ruby from C and C++
It’s difficult to write a bulleted list describing how your code will be different in Ruby from C or C++ because it’s quite a large difference. One reason is that the Ruby runtime does so much for you. Ruby seems about as far as you can get from C’s “no hidden mechanism” principle—the whole point of Ruby is to make the human’s job easier at the expense of making the runtime shoulder more of the work. Unless or until you profile your code for optimization, you don’t need to care one whit about “keeping your compiler happy” when using Ruby.
That said, for one thing, you can expect your Ruby code to execute much more slowly than “equivalent” C or C++ code. At the same time, your head will spin at how rapidly you can get a Ruby program up and running, as well as at how few lines of code it will take to write it. Ruby is much much simpler than C++—it will spoil you rotten.
Ruby is dynamically typed, rather than statically typed—the runtime does as much as possible at run-time. For example, you don’t need to know what modules your Ruby program will “link to” (that is, load and use) or what methods it will call ahead of time.
Happily, it turns out that Ruby and C have a healthy symbiotic relationship. Ruby supports so-called “extension modules”. These are modules that you can use from your Ruby programs (and which, from the outside, will look and act just like any other Ruby module), but which are written in C. In this way, you can compartmentalize the performance-critical parts of your Ruby software, and smelt those down to pure C.
And, of course, Ruby itself is written in C.
Similarities with C
As with C, in Ruby…
- You may program procedurally if you like (but it will still be object-oriented behind the scenes).
- Most of the operators are the same (including the compound assignment
and also bitwise operators). Though, Ruby doesn’t have
++
or--
. - You’ve got
__FILE__
and__LINE__
. - You can also have constants, though there’s no special
const
keyword. Const-ness is enforced by a naming convention instead— names starting with a capital letter are for constants. - Strings go in double-quotes.
- Strings are mutable.
- Just like man pages, you can read most docs in your terminal
window—though using the
ri
command. - You’ve got the same sort of command-line debugger available.
Similarities with C++
As with C++, in Ruby…
- You’ve got mostly the same operators (even
::
).<<
is often used for appending elements to a list. One note though: with Ruby you never use->
—it’s always just.
. public
,private
, andprotected
do similar jobs.- Inheritance syntax is still only one character, but it’s
<
instead of:
. - You may put your code into “modules”, similar to how
namespace
in C++ is used. - Exceptions work in a similar manner, though the keyword names have been changed to protect the innocent.
Differences from C
Unlike C, in Ruby…
- Objects are strongly typed (and variable names themselves have no type at all).
- There’s no macros or preprocessor. No casts. No pointers (nor pointer arithmetic). No typedefs, sizeof, nor enums.
- There are no header files. You just define your functions (usually referred to as “methods”) and classes in the main source code files.
- There’s no #define. Just use constants instead.
- As of Ruby 1.8, code is interpreted at run-time rather than compiled to any sort of machine- or byte-code.
- All variables live on the heap. Further, you don’t need to free them yourself—the garbage collector takes care of that.
- Arguments to methods (i.e. functions) are passed by reference, not by value.
- It’s
require 'foo'
instead of#include <foo>
or#include "foo"
. - You cannot drop down to assembly.
- There’s no semicolon’s ending lines.
- You go without parentheses for
if
andwhile
condition expressions. - Parentheses for method (i.e. function) calls are often optional.
- You don’t usually use braces—just end multi-line constructs (like
while
loops) with anend
keyword. - The
do
keyword is for so-called “blocks”. There’s no “do statement” like in C. - The term “block” means something different. It’s for a block of code that you associate with a method call so the method body can call out to the block while it executes.
- There are no variable declarations. You just assign to new names on-the-fly when you need them.
- When tested for truth, only
false
andnil
evaluate to a false value. Everything else is true (including0
,0.0
, and"0"
). - There is no
char
—they are just 1-letter strings. - Strings don’t end with a null byte.
- Array literals go in brackets instead of braces.
- Arrays just automatically get bigger when you stuff more elements into them.
- If you add two arrays, you get back a new and bigger array (of course, allocated on the heap) instead of doing pointer arithmetic.
- More often than not, everything is an expression (that is, things like
while
statements actually evaluate to an rvalue).
Differences from C++
Unlike C++, in Ruby…
- There’s no explicit references. That is, in Ruby, every variable is just an automatically dereferenced name for some object.
- Objects are strongly but dynamically typed. The runtime discovers at runtime if that method call actually works.
- The “constructor” is called
initialize
instead of the class name. - All methods are always virtual.
- “Class” (static) variable names always begin with @@ (as in @@total_widgets).
- You don’t directly access member variables—all access to public member variables (known in Ruby as attributes) is via methods.
- It’s
self
instead ofthis
. - Some methods end in a ’?’ or a ’!’. It’s actually part of the method name.
- There’s no multiple inheritance per se. Though Ruby has “mixins” (i.e. you can “inherit” all instance methods of a module).
- There are some enforced case-conventions (ex. class names start with a capital letter, variables start with a lowercase letter).
- Parentheses for method calls are usually optional.
- You can re-open a class anytime and add more methods.
- There’s no need of C++ templates (since you can assign any kind of object to a given variable, and types get figured out at runtime anyway). No casting either.
- Iteration is done a bit differently. In Ruby, you don’t use a separate
iterator object (like
vector<T>::const_iterator iter
) but instead your objects may mixin theEnumerator
module and just make a method call likemy_obj.each
. - There’s only two container types:
Array
andHash
. - There’s no type conversions. With Ruby though, you’ll probably find that they aren’t necessary.
- Multithreading is built-in, but as of Ruby 1.8 they are “green threads” (implemented only within the interpreter) as opposed to native threads.
- A unit testing lib comes standard with Ruby.


My Internship At Kayako
Mar 2, 2016 00:00 · 2078 words · 10 minute read
This post was originally posted on Medium as a part of life at Kayako series.
This summer I got the opportunity to do an internship as a Product Engineer at Kayako. I was fresh out of college and looking for a chance to apply the knowledge that I learned at college. I accepted the offer straight away.
The internship was the perfect platform to kick start my professional career. It not only honed my technical skills, but also helped me to the understand the various aspects of how an organization like this works.
In this post I’ll briefly explain my internship project and how it impacted Kayako.
A Background to Kayako
Kayako is a cloud-based customer support software provider with over 35,000+ customers across the globe.
Kayako has team members based all over the world, with the main three offices are located in London, Gurgaon, and Jalandhar. Kayako’s CEO, Varun Shoor, oversees all the work from the London headquarters.
I was based in the Gurgaon office, where I worked for 3 months in the development team.
The Tech Stack
Kayako has rapidly adopted microservices architectural pattern and has broken down the monolith core application into a multi-tier application. Most of the microservices are developed in PHP on top of a framework, whereas some of them are developed in Golang.
We have an in-house PHP framework based on MVC architecture. It overcomes the shortcomings of the language. It has a strong caching mechanism, robust exception handling, worker & queuing system, ORM, integration with third party services like Slack, and lots of other interesting features.
We plan to open source the framework in future.
The entire tech stack of the company is humongous and beyond scope of this post. The project that was assigned to me during the internship was supposed to be developed in PHP using the framework. I later realized how much less efforts I had to put in because of the framework.
The Project
Since the rise of the internet, software can no longer be developed with a single language or geography in mind. Support for common and popular languages is now essential for the increased market reach and success of any product.
My project was to develop a microservice which automates the localization of Kayako. The project was crucial for the product as it will allow it to be accessible in several languages other than English. For those who are unfamiliar with the term localization, it is the process of adapting a product to local languages.
Language translation is a complex task. It cannot be done by simply replacing the values word by word. There are no standards for currency and numbers which are applicable for all the languages. Even the sequence (left-to-right or right-to-left) in which a language is read/written varies from language to language.
Just to give you an idea of complexity, there are more than 20 ways of saying “to get” in French!
 It’s very difficult for them to understand the context. Machine translations are therefore very awkward and often produce hilarious results which make no sense at all. For example:
The above translated text in Hindi is equivalent of — Brother hangs me outside.
Therefore only a human can truly recognize the intent of a sentence.
In the current version of Kayako helpdesk, the translations are handled through a community driven translation portal–http://translate.kayako.com. The process of manually uploading language packs and then integrating them with each release is painfully slow and prone to errors. It does not stand strong against the rapid development pace of the product. Any such manual layer has an added maintenance cost which increases as the team grows.
Tools for translation
Transifex
We needed a system that was accurate, fast, and integrated with our continuous integration (CI) system. Whenever a new phrase gets introduced in the code, it should be automatically sent to human translators, and on completion of translations it should be automatically added to the platform.
We also didn’t want to lose the advantages of the community-driven translations, like verification or support for unpopular languages, so we decided to integrate the the whole system with the translation portal Transifex.
We chose to go with Transifex because it natively supports the translation service Gengo, which provides human translations. The rich web interface of Transifex would allow us to order translations from Gengo, as well as continue to support community-driven translations.
Transifex provides exhaustive APIs to update resources, add translations, add new resources, etc. An API was a critical requirement for us as we had to automate everything from within a script, which would not have been possible without it. However we soon realized that ordering translations of the phrases from Gengo is supported only through the web interface, and not through the APIs. It was a big problem.
Gengo
Gengo is a service which provides translations by real people across the globe. We realized that it also offers an API to order the translations. Therefore we decided to directly place order for translations by using the Gengo API, instead of placing them from Transifex API (which was not supported by Transifex).
Process of ordering a translation from Gengo is as follows:
- A request (job) is sent through the API.
- Gengo allocates the job to a translator.
- A translator picks up the job and starts working.
- When complete, the job is retrieved via API.
- We approves the completed translation.
The API is asynchronous. You don’t need to poll Gengo for the status of translations. A callback is fired once a translator finishes the job.
Gengo also has a comprehensive sandbox mode which is very helpful for testing out the APIs. It has support for pseudo credits so that no actual money is charged when placing orders for testing.
Joining the pieces together
We decided to use Transifex for managing the localization and Gengo for automating the translations. Our next step was to figure out how to fit the individual pieces together and integrate it with our CI system, Travis CI.
As there were quite a many systems involved — Gengo, Transifex, Travis, GitHub, and Deployment, I was overwhelmed by the requirements. But slowly, the things which were obscure started to make sense as we researched more.
Although I was itching to start coding, Varun Shoor suggested that I wait until we were absolutely clear about the complete flow. There were still some unanswered questions which could kill the project. We decided not to write even a single line of code until we had the complete flow, the database schema, and the API documentation ready.
I googled day in, day out, read the API documentations of Gengo and Transifex, wrote some demo scripts to see the APIs in action, and analyzed the Git branch flow followed in Kayako.
Whenever I wasn’t sure about anything, my mentor Pankaj was always available to help me out. He helped me to get things bootstrapped and gave me insights into how engineering at Kayako works. I also explored the framework and other cool projects that were going on at Kayako.
After few days of work, we finally came out with a proposal. It was my first real project proposal and I was nervous about it. I was really elated when Varun appreciated me for it.
Joining the pieces together
We decided to use Transifex for managing the localization and Gengo for automating the translations. Our next step was to figure out how to fit the individual pieces together and integrate it with our CI system, Travis CI.
As there were quite a many systems involved — Gengo, Transifex, Travis, GitHub, and Deployment, I was overwhelmed by the requirements. But slowly, the things which were obscure started to make sense as we researched more.
Although I was itching to start coding, Varun Shoor suggested that I wait until we were absolutely clear about the complete flow. There were still some unanswered questions which could kill the project. We decided not to write even a single line of code until we had the complete flow, the database schema, and the API documentation ready.
I googled day in, day out, read the API documentations of Gengo and Transifex, wrote some demo scripts to see the APIs in action, and analyzed the Git branch flow followed in Kayako.
Whenever I wasn’t sure about anything, my mentor Pankaj was always available to help me out. He helped me to get things bootstrapped and gave me insights into how engineering at Kayako works. I also explored the framework and other cool projects that were going on at Kayako.
After few days of work, we finally came out with a proposal. It was my first real project proposal and I was nervous about it. I was really elated when Varun appreciated me for it.
This proposal was short-lived as it missed out many important details. Soon we came out with another iteration of the proposal which included DFDs, API design, database design, milestones and a tentative timeline along with visible challenges in sight. My experience with writing project proposals for open source projects in Google Summer Of Code came in handy.
The intricate nature of the project meant we had to produce multiple iterations of the workflow before we got it right. We worked on the proposal for around two weeks and what came next was what I was craving for — coding.
The Part I Was Waiting For — Coding!
We divided the big complex system into three easy to digest submodules: Checker, Submitter, and Synchronizer.
When a commit or a pull request comes to a GitHub repository, the checker gets activated. It checks if the translations of the phrases present in the repository are complete or not. If not, the build fails and the submitter gets activated which places an order for the phrases which are not yet translated.
Once the translations are completed, the synchronizer commits the translations back into the same branch. The commit triggers a build, but this time it passes because the translations are now present.
Learnings From Building the Workflow
In the initial versions of the workflow we missed out some of the key aspects like:
-
Travis [skip ci] feature: If someone uses [skip ci] in the commit description then the build is skipped. So we also need to check the phrases which are not part of current commit or pull request (PR).
-
Cancelling orders: If a new phrase was modified before its translation arrives, we need to cancel the previous order and place a new one. Also, if a PR is closed before merging, we need to cancel the orders placed in that PR.
-
Batch commit: Since each phrase corresponds to a new job, the callback of translations of each phrase comes as a separate request. Creating a new commit for every phrase was inefficient. We now commit in batches.
-
Commit branch: We were committing translations to Kayako branch instead of the branch from which a PR was originating. It is important to commit to same branch because the build will only restart (and pass) when a commit comes to that branch.
-
Duplicate translations: Two identical phrases which were in different files were ordered separately, resulting in duplicate orders. All the issues listed above, along with several other pitfalls, were fixed in the subsequent iterations. We also developed a uniform naming scheme so that each phrase can be uniquely mapped to a file and a repository. This was required to commit the translations back to the correct file in the correct repository when a callback is received from Gengo. With a clear understanding of each and every part, the coding phase went very smoothly. The alpha version of the project was ready well ahead of schedule!
Putting the Cherry On Top
We realized that we need to show the status of translations in the PR itself. So we used the GitHub statuses API. For the first time in my life, I was happy to see a red cross in front of my PR.
Conclusion
The careful planning and designing of this project was key to its success. This helped us to foresee problems, allowing us to fine-tune the flow without much resistance. Changing the structure of an existing code is much more difficult and time consuming than doing it with a pen and paper.
It was the most interesting project which I’ve ever worked on, particularly because it involved synchronization of so many services, all in one project!


--- layout: post title: Rails application walk-through by Scott Baron categories: - documentation author: admin published: true date: 2005-02-13 13:34:11.000000000 +00:00 ---
Scott Baron is walking through the process of creating an application “…used by a university cable television station to manage and generate schedules for their movie channels”. He’s doing it in several installments and the first two are already available. The first installment describes the background and the freshly published second installment walks through the creation of all the models in the system.
Scott promises that the next installment will focus on validations and unit tests and that the whole thing will be packaged as both HTML and PDF when its done. Great work, Scott!


Malaysia reports first case of polio since 1992
by ReutersA three-month-old Malaysian infant has been diagnosed with polio, the first case reported in the country in nearly three decades, a top health official said on Sunday.
The baby boy from Tuaran in Malaysia’s Sabah state on Borneo island tested positive for polio on Friday after being admitted to hospital with a fever and muscle weakness, Director General of Health Noor Hisham Abdullah said in a statement.
“The patient is being treated in an isolation ward and is in stable condition, but still requires assistance to breathe,” he said.
Malaysia was declared polio-free in 2000, after reporting its last known case of the disease in 1992. Its resurgence comes just months after the Philippines, north of Borneo, reported its first cases of polio since 1993 in September.
Noor Hisham said tests showed the child was infected with a polio strain that shared genetic links with the virus detected in the Philippine cases.
Checks in the area where the baby lived showed 23 of 199 children between 2 and 15 had not received the polio vaccine, he said.
“This is a worrying situation as the spread of the disease … can only be stopped with polio immunization,” he said, adding vaccination rates needed to be above 95% to prevent infection.
There is no cure for polio, which invades the nervous system and can cause irreversible paralysis within hours, but it can be prevented with vaccines.
The virus spreads rapidly among children, especially in unsanitary conditions in underdeveloped or war-torn regions where healthcare access is limited.
Afghanistan and Pakistan are the last countries where the disease is endemic.
Noor Hisham said fecal samples from the infected child’s close contacts and his surroundings had been collected in a bid to detect the polio virus.
The authorities have also stepped up monitoring of acute flaccid paralysis (AFP) cases, a common sign of acute polio, he said.
Noor Hisham advised parents to ensure their children were fully vaccinated.
In recent years, Malaysia has faced a challenge convincing some parents to immunize their children. In 2016, five children died from diphtheria, a vaccine-preventable disease, prompting an outcry here among health officials.


Package : com.danehansen.utils Class : public class AJAX Inheritance : AJAX > Object
AJAX class contains shortcuts to making AJAX requests.
Public Constants
SUCCESS_EVENT : Object
[static] A mockup of a successful event to be used for testing purposes.
Public Methods
delete(url:String, listener:Function):XMLHttpRequest
[static] Makes a DELETE request to a given url and calls a given listener when finished.
get(url:String, listener:Function, data:Object):XMLHttpRequest
[static] Makes a GET request to a given url with the given data and calls a given listener when finished.
post(url:String, listener:Function, data:Object = null, header:Object = null):XMLHttpRequest
[static] Makes a POST request with optional headers to a given url optionally with the given data and calls a given listener when finished.
put(url:String, listener:Function, data:Object = null, header:Object = null):XMLHttpRequest
[static] Makes a PUT request with optional headers to a given url optionally with the given data and calls a given listener when finished.
querify(obj:Object, url:String):String
[static] Returns a url with url parameters made from a provided object.
Color
Package : com.danehansen.utils Class : public class Color Inheritance : Color > Object
Color class contains static methods to help manipulate colors.
Public Methods
red(color:uint):uint
[static] Returns the red portion of a uint.
green(color:uint):uint
[static] Returns the green portion of a uint.
blue(color:uint):uint
[static] Returns the blue portion of a uint.
rgbToHex(rgb:String):String
[static] Converts a "rgb(X,X,X)" string into a "#XXXXXX" string.
rgbToUint(r:uint, g:uint, b:uint):uint
[static] Converts 3 uints into a single uint.
uintToRGB(color:uint):String
[static] Converts a uint into a "rgb(X,X,X)" string.
uintToRGBA(color:uint, alpha:Number = 1):String
[static] Converts a uint and alpha into a "rgba(X,X,X,X)" string.
Cookie
Package : com.danehansen.utils Class : public class Cookie Inheritance : Cookie > Object
The Cookie class contains is an interface to reading/writing browser cookies.
Public Methods
clear()
[static] Clears the cookie‘s "data" value.
date():Date
[static] Returns the cookie’s date value.
get():Object
[static] Returns a parsed JSON object from the “data” value of the browser cookie.
merge(obj:Object, days:uint = 30)
[static] Accepts an object which gets stringified and merged with the cookie under the property of “data”. Also accepts a parameter, which represents the number of days in the future that “expires” will be set.
Heap
Package : com.danehansen.utils Class : public class Heap Inheritance : Heap > Object
The Heap class creates an instance to be used in heap sorting.
Public Constants
MAX : Function
[static] A comparison function that sorts by max value.
MIN : Function
[static] A comparison function that sorts by min value.
Public Properties
array : Array
[read-only] The current array of the heap.
length : uint
[read-only] The current size of the heap.
Public Methods
Heap(sort:Function = Heap.MAX)
Constructs a new Heap object with an optional sort function.
sort()
Sorts down the heap stack from the top.
push()
Adds an item to the heap and sorts the heap up from the bottom.
shift():Object
Removes the topmost item of the heap, sorts the heap from the top down, and then returns the item.
log()
Logs the heap to the console.

Public Methods
average(... args):Number
[static] Accepts either an unlimited quantity of numbers or an array of numbers and returns the total.
ceil(num:Number, increment:Number = 1):Number
[static] Rounds a number up to the nearest increment.
circleIntersection(centerA:Point, radiusA:Number, centerB:Point, radiusB:Number):Number
[static] Returns an array of the two points at which 2 circles intersect, if they intersect.
cover(content:Element, frame:Element)
[static] Takes content element and fills the entirety of the frame element to scale. This would be likened to filling an element with a background image where with the css property background-size:cover but where that is not possible, Such as filling an element with a video element. It is assumed that the content will have position:absolute and the frame will have at least some sort of positioning applied, and probably also overflow:hidden. To scale the content, the original dimentions of the item before manipulation are recorded and then referred to each time it is resized. For example, if you are filling the entire background of a page with a bleeding video, the body would have position:relative and overflow:hidden applied, and the video would have position:absolute as well as width:1280px and height:720px.
ease(target:Object, key:String, destination:Number, speed:Number = 0.05)
[static] Brings the object’s provided property (target[key]) towards the destination by a factor of speed. Great for making a display object follow a mouse cursor or some other moving target.
ease(num:Number, destination:Number, speed:Number = 0.05):Number
[static] Same as above, but returns the eased amount rather than actually changing an object’s property.
euclid(a:int, b:int):int
[static] Returns the greatest common divisor of two integers.
floor(num:Number, increment:Number = 1):Number
[static] Rounds a number down to the nearest increment.
indexOf(list:, value:):int
[static] Similar to Array’s built in indexOf method, but can pass in a NodeList or anything with numeric keys and a length property to find the index. Returns -1 if not found.
intLength(num:uint):uint
[static] Returns the number of decimals in an integer.
luhn(num:uint):Boolean
[static] Returns whether or not an integer meets the Luhn validation.
modulo(num:Number, limit:Number):Number
[static] Similar to the modulo (%) operator, but rather than mirroring at 0, it continues past 0. For example, -1%4=-1, but modulo(-1, 4)=3. Great for when you decrement a value below 0 and need the functionality to wrap, like an image gallery.
primes(limit:Number):Array
[static] Returns an array of all prime numbers between 0 and limit.
random(limit1:Number, limit2:Number = 0, round:Boolean = false, natural:int = 1):Number
[static] Returns a random number between limit1 and limit2. Optionally, it will be rounded. The natural... tough one to explain. It is a representation of how to make the random number favor towards the middle of the two limits. There is a difference between Math.random()*2, and Math.random()+Math.random(), and this argument builds upon that. If you covered a square with 100 points all with random x and y positions, leaving the natural factor would result in scattered points like until a section of a starry night. With natural bumped up to 2 or higher, it would look more like a shotgun blast.
randomChoice(list:* = [-1,1], natural:int = 1):*
[static] Returns a random value from the provided array or list. The default is [-1,1] for instances when you need to randomly determine if something should be left or right, up or down.
relativePercentage(bottomEnd:Number, topEnd:Number, current:Number):Number
[static] Returns the position of current in reference to a scale between bottomEnd and top end. Example: relativePercentage(2,4,3) returns 0.5.
round(num:Number, increment:Number):Number
[static] Returns a number rounded by the increment, rather than by 1.
shuffle(list:Number, duplicate:Boolean = false):Array
[static] Shuffles the provided array or list. If duplicate is set to true, the original list if left alone and the shuffled list is returned on a new array. Note: when shuffling a NodeList, always set duplicate to true as a NodeList does not shuffle well.
sortAscending(a:Number, b:Number):Number
[static] Returns the difference between the a and b, meant to pass into the Array.sort method as an alternate to the default alphabetical.
sortDescending(a:Number, b:Number):Number
[static] Returns the reversed difference between a and b, meant to pass into the Array.sort method as an alternate to the default alphabetical.
splitUint(num:int):Array
[static] Returns an array representing each digit of an integer.
toDegrees(rad:Number, offset:Boolean = false):Number
[static] Converts an angle in radians to degrees. By default, just returns an angle of the same amount measured in degrees, but when set to true will also account for offsetting by 1/4 turn.
toRadians(deg:Number, offset:Boolean = false):Number
[static] Converts an angle in degrees to radians. By default, just returns an angle of the same amount measured in radians, but when set to true will also account for offsetting by 1/4 turn.
total(list:*):Number
[static] Calculates the total in an array or list of values. Booleans will also be totaled as 1s or 0s.
velocityEase(target:Object, key:String, destination:Number, speed:Number = 0.05, decay:Number = 0.9)
[static] Brings the object’s provided property (target[key]) towards the destination by a factor of speed but with a velocity which decays at the decay speed. Great for making an elasticy ease.
MyText
Package : com.danehansen.utils Class : public class MyText Inheritance : MyText > Object
The MyText class is a collection of static methods used for processing/manipulating strings.
Public Methods
addCommas(value:Number):String
[static] Rounds and formats numbers to have a comma every 3 places.
leadingZeros(value:Number, length:uint):String
[static] Ensures that a number is a certain number of digits long, adding leading zeros to fill in the remainder.
formatCard(num:String):String
[static] Returns a formatted credit card number code like XXXX XXXX XXXX XXXX or XXXX XXXXXX XXXXX and optionally will turn all but the last 4 digits to asterisks.
formatExpiration(date:String):String
[static] Returns a formatted expiration date like XX/XX or XX/XXXX.
formatPhone(num:String):String
[static] Returns a formatted phone number like X (XXX) XXX-XXXX or if an optional deliminator is provided, like X-XXX-XXX-XXXX.
formatTime(seconds:uint, useHours:Boolean = false):String
[static] Formats seconds into an minutes:seconds format, optionally an hours:minutes:seconds format.
formatZip(num:String):String
[static] Returns a formatted zip code like XXXXX-XXXX.
leadingZeros(num:int, length:uint):String
[static] Returns a string representation of the integer with leading zeros equaling to a given length.
logObject(obj:Object, name:String)
[static] Logs the name of the object to the console, then line by line logs out each value within the object.
toDollars(value:Number):String
[static] Formats a number as a dollar amount, such at $1,000,000.49.
toTitleCase(str:String):String
[static] Formats a string in title case.
toUnicode(str:String):String
[static] Converts a string to unicode characters.
validateCard(num:String):String
[static] Returns the name of the the credit card if valid.
validateEmail(email:String):Boolean
[static] Returns true if a valid email, false if not. Is it perfect? No. Good enough? Yes.
validateExpiration(date:String):Object
[static] Returns an object containing the month and year of the date if it is a valid experiation date in the future.
Timer
Package : com.danehansen.utils Class : public class Timer Inheritance : Timer > EventDispatcher > Object
The Timer class is the interface to setTimeout and setInterval, based on the AS3 Timer class but simplified. This class depends on EventDispatcher.js. Use the start() method to start a timer. Add an event listener for the timer event to set up code to be run on the timer interval.
You can create Timer objects to run once or repeat at specified intervals to execute code on a schedule.
Public Methods
Timer(delay:Number, repeatCount:int = 0)
Constructs a new Timer object with the specified delay and repeatCount states.
currentCount():int
Gets the total number of times the timer has fired since it started at zero.
delay(value:Number):*
Gets or sets the delay, in milliseconds, between timer events.
repeatCount(value:int):*
Gets or sets the total number of times the timer is set to run.
reset()
Stops the timer, if it is running, and sets the currentCount property back to 0, like the reset button of a stopwatch.
running():Boolean
Gets the timer’s current state; true if the timer is running, otherwise false.
start()
Starts the timer, if it is not already running.
stop()
Stops the timer.
Public Constants
TIMER : String = "timer"
[static] The Timer.TIMER constant defines the value of the type property of a timer event object.
TIMER_COMPLETE : String = "timerComplete"
[static] The Timer.TIMER_COMPLETE constant defines the value of the type property of a timerComplete event object.
Events
timer
Dispatched whenever a Timer object reaches an interval specified according to the Timer.delay property.
timerComplete
Dispatched whenever it has completed the number of requests set by Timer.repeatCount.
Utils
Package : com.danehansen.utils Class : public class Utils Inheritance : Utils > Object
A collection of commonly reused static functions.
Public Methods
addClass(elements:*, className:String)
[static] Accepts either a single element, array of elements, or node list and applies a class to each if it does not already exist.
addEventListener(elements:*, event:String, listener:Function)
[static] Accepts either a single element, array of elements, or node list and adds an event listener to each.
addMouseEnter(elements:*, listener:Function)
[static] Accepts either a single element, array of elements, or node list and adds an event listener simulating jQuery’s mouseEnter.
addMouseLeave(elements:*, listener:Function)
[static] Accepts either a single element, array of elements, or node list and adds an event listener simulating jQuery’s mouseLeave.
autoAlpha(elements:*, value:Number)
[static] Accepts either a single element, array of elements, or node list and sets the opacity, while also setting visibility to hidden if at 0.
bind(functions:Array, obj:Object, ...args:*)
[static] Loops through an array of function names as strings, finds them on the object, and replaces them with versions which are bound to the object, with any additional parameters provided. Useful in writing object-oriented JavaScript on a class where you can with one line write Utils.bind(["play", "stop", "resize"], this); rather than this.play.bind(this); this.stop.bind(this); this.resize.bind(this);
browser():Object
[static] Returns an object which contains information on the browser name, version and vendor prefix; and whether the browser is webkit, phone, tablet, mobile, iOS, or Android.
bubbleSort(array:Array, compare:function):Array
[static] Sorts an array and returns the results specifically using the bubble sort method.
compare(a:Object, b:Object)
[static] Accepts two objects to compare similarity.
css(elements:*, props:Object)
[static] Accepts either a single element, array of elements, or node list and applies all style properties contained in props to them.
duplicate(obj:Object)
[static] Accepts and object and returns a duplicate.
getStyle(element:Element, property:String):String
[static] First looks for the element’s style on it’s style object, if not there, looks to the window.getComputedStyle of the element.
getMatrixStyle(element:Element, axis:String):Number
[static] Returns a number representing an elements transform on a specified axis.
getURLVars():Object
[static] Returns an object with all current url variables.
hasClass(elements:*, className:String):Boolean
[static] Accepts either a single element, array of elements, or node list and looks through all of them and returns if one of them has that class or not.
loadBigImages(parent:Element)
[static] Accepts either single element, and searches within it, and including it, for elements with a “data-background-image” or “data-src” attribute and applies that to the image, then deletes the data attribute. Good for loading large images below the fold after the entire page has loaded, or loading in all the images of a slideshow only when it gets activated.
merge(newObject:Object, oldObject:Object, copy:Boolean = false):Object
[static] Merges one object onto another and returns the result.
removeClass(elements:*, className:String)
[static] Accepts either a single element, array of elements, or node list and removes a class from each if it exists.
removeEventListener(elements:*, event:String, listener:Function)
[static] Accepts either a single element, array of elements, or node list and removes an event listener from each.
removeMouseEnter(elements:*, listener:Function)
[static] Accepts either a single element, array of elements, or node list and removes an event listener simulating jQuery’s mouseEnter.
removeMouseLeave(elements:*, listener:Function)
[static] Accepts either a single element, array of elements, or node list and removes an event listener simulating jQuery’s mouseLeave.
touch():Boolean
[static] Returns whether or not the browser supports touch events.


Portfolio
-
Martin Campaign Website
When beginning his campaign for Sheriff, Kent Martin reached out to me to build him a website for his campaign. This website has all of the tools he required for his campaign.
-
Z's Music and Sound Website
When Z's Music and Sound's owner decided to retire, he needed someone to update his website to aid in the selling of his inventory.
-
Edwards Wedding Video
Joshua and Kathleen Edwards sought out to capture their wedding day and its special memories. This is the video of their special day!
-
Choices Banquet Videos
After needing to move their banquet online, Choices Pregnancy and Health reached out to film some stories to highlight during their banquet.


“Yato ahaṁ pabbajito,
sammāsambuddhasāsane;
Vimuccamāno uggacchiṁ,
kāmadhātuṁ upaccagaṁ.
When I had gone forth
in the teaching of the Buddha,
while letting go, I rose up;
escaping the sensual realm.
Brahmuno pekkhamānassa,
tato cittaṁ vimucci me;
Akuppā me vimuttīti,
sabbasaṁyojanakkhayā”ti.
… Migasiro thero ….
Then, as the supreme one looked on,
my mind was freed.
My freedom is unshakable
with the ending of all fetters.


--- layout: post title: Qt Developer Network down date: '2012-01-05T19:14:00.000+01:00' author: Luca Ferrari tags: - qt modified_time: '2012-01-05T19:14:00.095+01:00' thumbnail: http://4.bp.blogspot.com/-0uO0Z0e_aZo/TwWwsF5gelI/AAAAAAAAAic/6tpCRx-ZRVU/s72-c/qt-down.png blogger_id: tag:blogger.com,1999:blog-1836481905487384887.post-8026447223397506399 blogger_orig_url: http://fluca1978.blogspot.com/2012/01/qt-developer-network-down.html permalink: /:year/:month/:day/:title.html ---


The conditional (ternary) operator is the only JavaScript operator that takes three operands. This operator is frequently used as a shortcut for the if
statement.
condition ? expr1 : expr2
condition
true
or false
.expr1
, expr2
If condition
is true
, the operator returns the value of expr1
; otherwise, it returns the value of expr2
. For example, to display a different message based on the value of the isMember
variable, you could use this statement:
"The fee is " + (isMember ? "$2.00" : "$10.00")
You can also assign variables depending on a ternary result:
var elvisLives = Math.PI > 4 ? "Yep" : "Nope";
Multiple ternary evaluations are also possible (note: the conditional operator is right associative):
var firstCheck = false, secondCheck = false, access = firstCheck ? "Access denied" : secondCheck ? "Access denied" : "Access granted"; console.log( access ); // logs "Access granted"
You can also use ternary evaluations in free space in order to do different operations:
var stop = false, age = 16; age > 18 ? location.assign("continue.html") : stop = true;
You can also do more than one single operation per case, separating them with a comma:
var stop = false, age = 23; age > 18 ? ( alert("OK, you can go."), location.assign("continue.html") ) : ( stop = true, alert("Sorry, you are much too young!") );
You can also do more than one operation during the assignation of a value. In this case, the last comma-separated value of the parenthesis will be the value to be assigned.
var age = 16; var url = age > 18 ? ( alert("OK, you can go."), // alert returns "undefined", but it will be ignored because // isn't the last comma-separated value of the parenthesis "continue.html" // the value to be assigned if age > 18 ) : ( alert("You are much too young!"), alert("Sorry :-("), // etc. etc. "stop.html" // the value to be assigned if !(age > 18) ); location.assign(url); // "stop.html"
Created by Mozilla Contributors, license: CC-BY-SA 2.5


Derek Eder
@derekeder
.@MTBracken on the story of gov.uk. So many lessons to take to heart here in Chicago and the US http://www.youtube.com/watch?v=3bK9B8_0FDQ #cfasummit
10/19/2013, 11:00:10 AM
Favs: 2
Retweets: 0
link← @derekeder Twitter archive
Derek Eder
@derekeder
.@MTBracken on the story of gov.uk. So many lessons to take to heart here in Chicago and the US http://www.youtube.com/watch?v=3bK9B8_0FDQ #cfasummit
10/19/2013, 11:00:10 AM
Favs: 2
Retweets: 0
link


---
layout: bio
class: leadership
name: Jim Davis
title: 'EVP, National Leasing'
photo: Davis-Jim
permalink: "/retail-minds/leadership/jim-davis/"
parent: leadership
bio: 'Jim Davis is the Executive Vice President, National Leasing heading all national leasing efforts for the Centennial Collection Mall Portfolio, Mr. Davis manages Centennial’s team of experienced leasing personnel and oversees portfolio deal executions.
Jim is a seasoned professional with 29 years of experience in the shopping center industry. His leasing career began at Richard E Jacobs Group as a leasing representative. Mr. Davis was a VP of leasing at Urban Retail Properties where he assumed many duties including third party asset leasing. Mr. Davis switched gears for a decade and joined the retail side as SVP/Officer for The Finish Line, Inc. He also held leadership positions with RED Development and Olshan Properties. Over his career, he has been involved in millions of square feet of commercial lease transactions while enhancing each company’s success and profitability.
Mr. Davis is a graduate of Cleveland State University and a 29-year member of ICSC.'
linkedin: https://www.linkedin.com/in/james-davis-2b5551145/
---
{% include_relative banner.html %}


© 2002-2021
Encyclopaedia Metallum
Best viewed
without Internet Explorer,
in 1280 x 960 resolution
or higher.
| Blestema | |
| Silence VIII | Bass |
| Lifeless | Guitars, Vocals |
| Nahual | Drums |
| Arkanus Mors | |
| Astrum Mortis | Bass, Vocals |
| Inferis | Vocals, Guitars |
| Arkanus | Drums |
| Azif | Vocals |
| Harkas | Guitars |
| Grimorium Serpent | |
| Azoth Xul | Bass |
| Lifeless | Drums |
| Asderel Mir | Guitars |
| Azif | Vocals |
| Added by: extreme Sounds Blog | Modified by: PFTBM |
| Added on: 2021-05-18 21:39:41 | Last modified on: 2021-05-25 20:41:13 |


Becky's Beach Bash was a blast!
Please check back soon to see pictures from this occasion!
Click
Here
to see where
Becky and Mike are registered
People:
Bride and Groom
|
Hren Family
|
Ohlsen Family
|
Wedding Party
Wedding: RSVP |
Ceremony
|
Directions
|
Reception
|
Directions
|
Hotels
Events / Info:
Bridal Shower
| RSVP |
Directions
|
Rehersal Dinner
|
Directions
|
Registry


{% extends "index.html" %} {% block title %}Page not found{% endblock title %} {% block content %} Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. Head back home to try finding it again. {% endblock content %}


Buy_My_Car
SIGN-UP
Email
First Name
Last Name
Password
Confirm Password
By creating an account you agree to our
Terms & Conditions
.
Sign Up
Already have an account?
Login here...


JsRender: Next-generation jQuery Templates
JsRender templates are optimized for high-performance pure string-based rendering, without DOM or jQuery dependency
JsViews are Interactive data-driven views, built on top of JsRender templates
Source code:
https://github.com/BorisMoore/jsrender


| I l@ve RuBoard |
Each developer is unique, with individual strengths and weaknesses, preferences and dislikes. Over time, each will craft his or her own personal environment. That environment will reflect the programmer's individuality just as forcefully as his or her hobbies, clothing, or haircut. However, if you're a Pragmatic Programmer, you'll share many of the following characteristics:
Early adopter/fast adapter. You have an instinct for technologies and techniques, and you love trying things out. When given something new, you can grasp it quickly and integrate it with the rest of your knowledge. Your confidence is born of experience.
Inquisitive. You tend to ask questions. That's neat—how did you do that? Did you have problems with that library? What's this BeOS I've heard about? How are symbolic links implemented? You are a pack rat for little facts, each of which may affect some decision years from now.
Critical thinker. You rarely take things as given without first getting the facts. When colleagues say "because that's the way it's done," or a vendor promises the solution to all your problems, you smell a challenge.
Realistic. You try to understand the underlying nature of each problem you face. This realism gives you a good feel for how difficult things are, and how long things will take. Understanding for yourself that a process should be difficult or will take a while to complete gives you the stamina to keep at it.
Jack of all trades. You try hard to be familiar with a broad range of technologies and environments, and you work to keep abreast of new developments. Although your current job may require you to be a specialist, you will always be able to move on to new areas and new challenges.
We've left the most basic characteristics until last. All Pragmatic Programmers share them. They're basic enough to state as tips:
Tip 1
Care About Your Craft
We feel that there is no point in developing software unless you care about doing it well.
Tip 2
Think! About Your Work
In order to be a Pragmatic Programmer, we're challenging you to think about what you're doing while you're doing it. This isn't a one-time audit of current practices—it's an ongoing critical appraisal of every decision you make, every day, and on every development. Never run on auto-pilot. Constantly be thinking, critiquing your work in real time. The old IBM corporate motto, THINK!, is the Pragmatic Programmer's mantra.
If this sounds like hard work to you, then you're exhibiting the realistic characteristic. This is going to take up some of your valuable time—time that is probably already under tremendous pressure. The reward is a more active involvement with a job you love, a feeling of mastery over an increasing range of subjects, and pleasure in a feeling of continuous improvement. Over the long term, your time investment will be repaid as you and your team become more efficient, write code that's easier to maintain, and spend less time in meetings.
| I l@ve RuBoard |


- 2 July 2016 -- Reflection
- 2 July 2016 -- Time and habits
- 7 July 2016 -- HTML-CSS-DOM-p1
- 8 July 2016 -- HTML-CSS-DOM-p2
- 10 July 2016 -- Emotinal Ingelligence -- SIY Chapter 1
- 17 July 2016 -- t3-design-to-web-blog
- 17 July 2016 -- c3-meditation-process -- SIY Chapter 2
- 24 July 2016 -- Javascript basics
- 24 July 2016 -- Daily mindfulness -- SIY Chapter 3
- 29 July 2016 -- Self Confidence -- SIY Chapter 4
- 29 July 2016 -- Problem solving
- 04 August 2016 -- Self control -- SIY Chapter 5
- 04 August 2016 -- JavaScript language notations
- 14 August 2016 -- Motivation
- 21 August 2016 -- Javascript scope


Add the details of the person or organisation you want to send money to
This is the name of the person or organisation you are paying.
Can be used to help you identify your payment if you have multiple payments going to the same payee.


Packages
C/C++ genomics tools available as WebAssembly modules
samtools
Parse and manipulate .sam
/ .bam
read alignment files
bcftools
Parse and manipulate .vcf
/ .bcf
variant calling files
bedtools
Parse .bed
files and perform complex "genome arithmetic"
bowtie2
Align sequencing reads (.fastq
) files to a reference genome
minimap2
Align sequencing reads (.fastq
) files to a reference genome
fastp
Manipulate and evaluate QC of .fastq
files
seqtk
Manipulate and evaluate QC of .fasta
/ .fastq
files
wgsim
Simulate short reads from a reference genome
v2011.10.17seq-align
Align sequences to each other using the Smith-Waterman and Needleman-Wunsch algorithms
v2017.10.18ssw
A SIMD-based implementation of the Smith-Waterman (requires enabling the WebAssembly SIMD flag in browser)
v1.2.4bhtsne
Run the t-SNE dimensionality-reduction algorithm
v2016.08.22jq
Filter and wrangle JSON strings
v1.6modbam2bed
Summarize BAM files containing modified-base information to BED formatted counts
v0.3.1gawk
Manipulate data files with patterns of interest
v5.1.0


service :
started :
completed :
A python based quiz game, in which two teams compete against each other with questions loaded in via csv. It took roughly a weekend to code and worked fine on launch day, a day in which parents & children used it in a school opening.