18.5. Union: A Space-Saving ClassA union is a special kind of class. A union may have multiple data members, but at any point in time, only one of the members may have a value. When a value is assigned to one member of the union, all other members become undefined. The amount of storage allocated for a union is at least as much as the amount necessary to contain its largest data member. Like any class, a union defines a new type. Defining a UnionUnions offer a convenient way to represent a set of mutually exclusive values that may have different types. As an example, we might have a process that handles different kinds of numeric or character data. That process might define a union to hold these values: // objects of type TokenValue have a single member, // which could be of any of the listed types union TokenValue { char cval; int ival; double dval; }; A union is defined starting with the keyword union, followed by an (optional) name for the union and a set of member declarations enclosed in curly braces. This code defines a union named TokenValue that can hold a value that is either a char, an int, a pointer to char, or a double. Section 18.5 (p. 795) will look at what it means to omit the union name. Like any class, a union type defines how much storage is associated with objects of its type. The size of each union object is fixed at compile time: It is at least as large as the size of the union's largest data member. No Static, Reference, or Class Data MembersSome, but not all, class features apply equally to unions. For example, like any class, a union can specify protection labels to make members public, private, or protected. By default, unions behave like structs: Unless otherwise specified, the members of a union are public. A union may also define member functions, including constructors and destructors. However, a union may not serve as a base class, so a member function may not be virtual. A union cannot have a static data member or a member that is a reference. Moreover, unions cannot have a member of a class type that defines a constructor, destructor, or assignment operator: union illegal_members { Screen s; // error: has constructor static int is; // error: static member int &rfi; // error: reference member Screen *ps; // ok: ordinary built-in pointer type }; This restriction includes classes with members that have a constructor, destructor, or assignment operator. Using a Union TypeThe name of a union is a type name: TokenValue first_token = {'a'}; // initialized TokenValue TokenValue last_token; // uninitialized TokenValue object TokenValue *pt = new TokenValue; // pointer to a TokenValue object Like other built-in types, by default unions are uninitialized. We can explicitly initialize a union in the same way that we can explicitly initialize (Section 12.4.5, p. 464) simple classes. However, we can provide an initializer only for the first member. The initializer must be enclosed in a pair of curly braces. The initialization of first_token gives a value to its cval member. Using Members of a UnionThe members of an object of union type are accessed using the normal member access operators (. and ->): last_token.cval = 'z'; pt->ival = 42; Giving a value to a data member of a union object makes the other data members undefined. When using a union, we must always know what type of value is currently stored in the union. Retrieving the value stored in the union through the wrong data member can lead to a crash or other incorrect program behavior.
Nested UnionsMost often unions are used as nested types, where the discriminant is a member of the enclosing class: class Token { public: // indicates which kind of value is in val enum TokenKind {INT, CHAR, DBL}; TokenKind tok; union { // unnamed union char cval; int ival; double dval; } val; // member val is a union of the 3 listed types }; In this class, the enumeration object tok serves to indicate which kind of value is stored in the val member. That member is an (unnamed) union that holds either a char, int, or double. We often use a switch statement (Section 6.6, p. 199) to test the discriminant and then do processing dependent on which value is currently stored in the union: Token token; switch (token.tok) { case Token::INT: token.val.ival = 42; break; case Token::CHAR: token.val.cval = 'a'; break; case Token::DBL: token.val.dval = 3.14; break; } Anonymous UnionsAn unnamed union that is not used to define an object is referred to as an anonymous union. The names of the members of an anonymous union appear in the enclosing scope. For example, here is our Token class rewritten to use an anonymous union: class Token { public: // indicates which kind of token value is in val enum TokenKind {INT, CHAR, DBL}; TokenKind tok; union { // anonymous union char cval; int ival; double dval; }; }; Because an anonymous union provides no way to access its members, the members are directly accessible as part of the scope where the anonymous union is defined. Rewriting our previous switch to use the anonymous-union version of our class would look like: Token token; switch (token.tok) { case Token::INT: token.ival = 42; break; case Token::CHAR: token.cval = 'a'; break; case Token::DBL: token.dval = 3.14; break; }
|


Homepage
About Me
Blog Posts
My Resume
Contact Me
Projects
| JavaScript Prototype | A cheatsheet for understanding and using JavaScript Prototypes. This is meant for coding beginners. |
| Restaurant Roulette | An application that allows groups to make a quick restaurant choice. Every member of the group gets to vote on two specific preferences for a restaurant. App will take the majority preferences into consideration and return a random restaurant from the filtered pool of restaurants. |
| Project #3 | Description |
| Project #4 | Description |
| Project #5 | Description |


Provides models to fit the dynamics of a regulated system experiencing exogenous inputs. The underlying models use differential equations and linear mixed-effects regressions to estimate the characteristic parameters of the equation (the coefficients) and an estimated signal. The package also provides print, summary, plot and predict functions, specific for the models outputs.
| Version: | 0.1.0 |
| Imports: | zoo, data.table, lme4, ggplot2, lmerTest |
| Suggests: | knitr, rmarkdown, devtools, roxygen2 |
| Published: | 2018-08-30 |
| Author: | Mongin Denis [aut], Uribe Adriana [aut], Courvoisier Delphine [aut], Courvoisier Delphine [cre] |
| Maintainer: | Courvoisier Delphine <Delphine.Courvoisier at hcuge.ch> |
| License: | GPL-3 |
| NeedsCompilation: | no |
| CRAN checks: | doremi results |
| Reference manual: | doremi.pdf |
| Vignettes: |
Introduction to doremi |
| Package source: | doremi_0.1.0.tar.gz |
| Windows binaries: | r-devel: doremi_0.1.0.zip, r-release: doremi_0.1.0.zip, r-oldrel: doremi_0.1.0.zip |
| OS X binaries: | r-release: doremi_0.1.0.tgz, r-oldrel: doremi_0.1.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=doremi to link to this page.


{{ partial "header.html" . }}
{{ partial "navigation.html" . }}
{{ partial "hero.html" . }}
{{ partial "about-sm.html" . }}
{{ partial "about-sm2.html" . }}
{{/* partial "about-sm2.html" . */}}
{{ partial "howitworks.html" . }}
{{ partial "about-sm3.html" . }}
{{ partial "benefits.html" . }}
{{ partial "cta.html" . }}
{{ partial "footer.html" . }}


{% extends "base.html" %} {% block title %}
Medieval catalogues > UNIVERSITY AND COLLEGE LIBRARIES OF OXFORD > All Souls College > Inventory of books in circulation, early 16th cent.
{% endif %}71 identified entries found.
All data was derived from the List of Identifications by Professor Richard Sharpe.
{% if not printing %}
A key to codes used in the List is available (opens in new tab).{% endif %}


[gecode-users] FW: Final Call for Participation: Advanced School and Workshop on Global Constraints
Christian Schulte
schulte at imit.kth.se
Tue May 9 10:16:21 CEST 2006
FYI, Christian
--
Christian Schulte, http://www.imit.kth.se/~schulte/
-----Original Message-----
From: Toby Walsh [mailto:Toby.Walsh at nicta.com.au]
Sent: Tuesday, May 09, 2006 9:06 AM
Subject: Final Call for Participation: Advanced School and Workshop on
Global Constraints
*** PLEASE CIRCULATE *** PLEASE CIRCULATE *** PLEASE CIRCULATE ****
Final Call for Participation
Second International Summer School of the
Association for Constraint Programming
Advanced School and International Workshop on
GLOBAL CONSTRAINTS
Doryssa Bay Hotel
Samos, Greece
June 18-23, 2006
http://www.cse.unsw.edu.au/~tw/school.html
The Second International Summer School on Constraint Programming is an
advanced school and associated workshop on global constraints. The school
and workshop are aimed at PhD students, researchers, and practitioners of
all levels who wish to learn about this key area in depth. A workshop will
run alongside the school where the very latest research results in global
constraints will be presented. Lecturers include:
Philippe Baptisite, Global Constraints and Scheduling
Nicolas Beldiceanu, Global Constraints and Graphs
Christian Bessiere, Consistency and Complexity of Global Constraints Mats
Carlsson, Case Studies in Global Constraints Willem-Jan van Hoeve, Soft
Global Constraints Irit Katriel, Current Challenges Jean-Charles Regin, All
Difference and Cardinality Constraints.
The school and workshop will take place in the Doryssa Bay hotel on the
Aegean island of Samos in Greece. The hotel is next to the fishing village
of Pythagorion, the birth place of the Greek philosopher
Pythagoras.
To participate in the advanced school and workshop, please email Toby Walsh
(tw at cse.unsw.edu.au) as soon as possible.  Registration is free.
More details are available at
http://www.cse.unsw.edu.au/~tw/school.html
--------------------------------------------------------------------------
This email and any attachments may be confidential. They may contain legally
privileged information or copyright material. You should not read, copy, use
or disclose them without authorisation. If you are not an intended
recipient, please contact us at once by return email and then delete both
messages. We do not accept liability in connection with computer virus, data
corruption, delay, interruption, unauthorised access or unauthorised
amendment. This notice should not be removed.
More information about the gecode-users
mailing list


| Description | Hierarchy | Fields | Methods | Properties |
type TStringComparator = class(TObject)
The purpose of this class is to implement the string comparison Algorithms described on the paper "Advanced Methods for Record Linkage", by William E. Winkler, Bureau of the Census, Washington DC 20233-9100. The document can be accessed at http://www.census.gov/srd/www/abstract/rr94-5.html
It was used the code on http://www.census.gov/geo/msb/stand/strcmp.c as a base for this program
The Lynch algorithm is the most advanced one and should be preferred
function calculateJaro(): double; |
|
function calculateLynch(): double; |
|
function calculateMcLaughlin(): double; |
|
function calculateWinkler(): double; |
|
procedure setNomes(s1,s2: String); |
function calculateJaro(): double; |
Calculates equivalence between the strings using the Jaro algorithm.
Uses the following formula:the result of the Jaro calculation
function calculateLynch(): double; |
Calculates equivalence between the strings using the Lynch algorithm. Uses the McLaughlin algorithm as the base value Boosts the comparator value if more than half of the characters beyond the first four are equal.
the result of the Lynch calculation
function calculateMcLaughlin(): double; |
Calculates equivalence between the strings using the McLaughlin algorithm. This algorithm uses the similar characters to boost the result. It calls the Winkler method after the calculation
Uses the following formula:the result of the McLaughlin calculation
function calculateWinkler(): double; |
Calculates equivalence between the strings using the Winkler algorithm. This algorithm counts how many characters are shared up to the 4th char and boosts the result.
the result of the Winkler calculation
procedure setNomes(s1,s2: String); |
Sets the strings and calculates values that are uses by the other methods
Common characters are the characters that are on the other string at half length -1 of the shorter string. The common characters are recorded on others strings that are used to calculate the traspositions.
Transpositions are characters that out of order with the correspondent one on the other string
Similarities are errors that occur due to wrong typing or mispelling. Similarities are calculated like common characters
André Cipriani Bandarra (andre@bandarra.org)


Toggle Progress Movement Visibility
Toggle Start / Stop
Toggle Next Color
Toggle Progress Visible
{{fps}} fps
To mass-buy, click a button then hold Enter
If you want patterns, not gameplay (won't be in final version):
+1k
+50k


Services
-
Soccer
Indoor Soccer is a type of five-a-side football, a variation of Association Football.
Pricing: $50 per hour
-
BaseBall
Indoor Baseball Game, 1905. Indoor baseball was invented by George Hancock in 1887 at the Farragut Boat Club on Chicago's South Side.
Pricing: $100 per hour
-
Cricket
indoor cricket involves two batsmen, a bowler and a team of fielders. The bowler bowls the ball to the batsmen who must score runs.
Pricing: $80 per hour


Crystal 0.27.1 has been released!
This release includes new features and improvements in compiler errors that will be useful for many scenarios: scientific, web apps, cli, future advent of codes, you name it. There were 202 commits since 0.27.0 by 33 contributors.
This release ended up being bigger than expected, and we decided to close it at a point that made sense, and defer some WIP for the next version. There are a couple of breaking changes waiting to be merged already to start the process of 0.28.
Let’s review some of the most relevant changes in this release. But don’t miss the rest of the release changelog with a lot of valuable information.
Language changes
You already know tuples {1, "foo"}
. We now allow a trailing comma as in {1, "foo", }
to be a valid tuple. This comes in really handy when the tuple is generated from macros, for example. More on this at #7182.
Macros
There is a new macro that allows you to embed the content of a text file as a string literal during compile time. Neat for embedding text resources. This new macro comes in two flavors:
read_file(filename)
that will raise a compile time error if the file does not exist.read_file?(filename)
that will generate anil
value if the file does not exist.
You can read about more about at #6967 and #7094 since there was some rethinking after the first PR and in the docs.
Numeric
The compiler is now able to emit overflow checks, but for now this feature is only available with an opt-in flag, to allow a migration path and feedback. In a future version, the overflow checks will be the default. When you build a program you can pass -D preview_overflow
to enable them. Depending on your setup you might also need to use -D compiler_rt
until we ship the compiler-rt dependency properly.
Assuming the overflow checks are turned on, methods like +
, -
, *
, **
, to_i8
and Int32.new
will raise an OverflowError
if the result doesn’t fit within the representable values. This applies to all integer types (including 128).
In case you need wrapping (a.k.a.: previous) behaviour you will need to use &+
, &-
, &*
, &**
, to_i8!
, Int32.new!
.
Many parts of the stdlib and the compiler had been updated to explicit use &+
(like Hasher
) but if we happened to miss any, it would be great to hear about it. Check your apps with -D preview_overflow
and let us know if you found any issues (before the overflow is the default behaviour).
You can read more about that at #7206 where you will also find other PRs related to it.
While implementing that, we also took care of some leftovers related to Int128
support like #7135
Also, one of those big little changes that bring joy to some of you, is that you are now able to use BigInt.new("1_000")
to mimic 1_000
. Read more at #7107.
Collections
There were many additions to Iterator
, Enumerable
that will come in handy in the next advent of code, and when processing collections of data.
Let’s see some quick examples of these additions. For Iterator#slice_after
added by #7146:
For Iterator#slice_before
added by (#7152:
For Iterator#slice_when
added by #7159:
Using ary.chunk_while { |x, y| x == y }.each { |x| puts x }
would’ve lead to the same result.
Note that some of these methods have a reuse
param to avoid unneeded allocations per slice/chunk. Mind the allocation!
Enumerable#one?
has joined the party of #all?
and #none?
. It helps you check if a collection has only one truthy value. Read more at #7166.
Multiple methods in Enumerable
, Iterator
and Array
can now accept a pattern. Patterns are things that implement #===
like Range
, Regex
, or any class. This will allow you to write things like:
This applies to methods like #select
, #reject
, #all?
, #any?
, #none?
and the new ones described above. Read more at #7174.
Enumerable#to_h(&block)
will now let you generate a hash from a collection in an easier way. Read more at #7150.
Serialization
Thanks to JSON::Any#to_yaml
and YAML::Any#to_json
converting between these formats is now a piece of cake. Read more at #7232.
Networking
The following feature will leave some of you speechless. There is now a MIME registry.
Multiple PRs like #5765, #7077 and others implement this feature described fully in their docs.
Essentially, there is an updated default list of known MIME types, plus the operating system’s MIME database is loaded if available and you can override these values.
The registry can be queried for extensions or filenames.
This is used in HTTP::StaticFileHandler
but you can give it other uses for sure.
System
Every platform integration counts, even the smallest changeset. In #7041 the inlined ASM when compiling for ARM got a fix. And in #6972 methods to get hostname and cpu count in Win32 were implemented.
Compiler
There were many fixes related to improving error messages of the compiler in different scenarios. Don’t miss the full changelog. One of the most noticeable improvements is related to the type inference in recursions that involve blocks.
The following code was unable to compile as is in 0.27.0 but now it works like a charm.
Read more at #7161.
Formatter
The formatter didn’t fall short on improvements. Besides handling more cases, and handling some of them better, #7257 has reworked the CLI to return more accurate status codes, behave more consistently and support opt-in error traces for people who want to get involved in the formatter itself.
Next steps
Please update your Crystal and report any issues. We will keep moving forward and start the development focusing in 0.28. In case you missed it, there are ways to test your shards and apps with nightly releases, it’s great to keep updated on upcoming breaking changes.
The development is possible thanks to the community’s effort, 84codes’ support, and every supporter.


Vadim's Resume
manokhin.vadim [at] gmail.com
PDF
Summary
I am an Integrations Specialist / Full Stack Application Developer with experience working as a UI, UX, & QA engineer, systems administrator. Current career goals and objectives include designing and implementing enterprise-scale systems, minimizing costs and maximizing performance of software solutions, improving operational efficiency of organizations, learning new technologies to overcome business challenges, empowering and leading effective teams of engineers. Other professional interests include business intelligence and data analytics, automation, finance, and investing.
Skills & Experience
- Full stack application development using ACF/Fusebox, APEX/VF/SOQL (SFDC), PHP (Drupal and TERMINALFOUR), C#/.NET, Java, JS and CSS along with their popular frameworks/libraries in production systems to serve enterprise customers while handling an increasing growth of requests, users, and functionalities;
- Working in results-oriented teams that employ continuous integration and various development methodologies;
- Building complex interactive cross-browser web applications w/ and w/o JS frameworks;
- Creating enterprise-scale SOAP and RESTful web-services that expose/consume API with XML and JSON serialization;
- Preparing systems to satisfy PCI compliance requirements;
- Extensively using t-SQL (MS SQL Server) for prototypes and production applications;
- Learning about and teaching new and existing skills and technologies, including: Workday, Informatica, Salesforce.com (Sales/HEDA cloud), Canvas, Blackboard, EMS, Cvent, Drupal, Mendix, Neoload, Laserfiche, JIRA, Confluence, and others;
- Configuring and administering applications such as JIRA, Confluence, and others;
- Integrating with popular web services and APIs (Google APIs, Amazon Web Services, etc.);
- Agile Methodologies (Kanban, Scrum, Sprinting, etc.)
Technical Skills Breakdown
- Advanced knowledge of Adobe ColdFusion, t-SQL, JS, CSS, XML/HTML, ETL tools (Informatica, SSIS), SOAP and RESTful web services, JIRA, Confluence, Cvent.
- Intermediate knowledge of C/C#, .NET, Java, PHP, Drupal, TERMINALFOUR, Salesforce.com/SOQL/APEX/Visualforce, Workbench, SharePoint, Workday, Canvas, Blackboard, VSS, git.
- Familiarity with most flavors of shell scripting, Assembly (MASM), Python, Perl, Objective C/Swift, Selenium, CrazyEgg, Mendix, Neoload, Laserfiche, WebRTC, MEAN stack.
Employment
- Babson College, Babson Park, MA
- Integrations Specialist, Jul 2019 - Present
- - Create enterprise-scale integration solutions for a variety of systems using SOAP and RESTful web services, APIs, ETL tools, MS SQL Server;
- - Work with, use, write integrations to/from, and help configure Salesforce.com (Sales/HEDA Cloud), Informatica (ICS, DI, APIs), Cvent, Canvas, Workday (HCM, Financials, Student), JIRA (on prem), SharePoint, Neoload and other technologies.
- Recent projects:
- - Architecturing and writing in and outbound integrations with Cvent - an event management system - using their API;
- - Designing and implementing data integrations for an SFDC-based alumni engagement platform that serves a community of over 40,000 Babson alumni around the world;
- Application Developer, Apr 2014 - Jul 2019
- - Design, develop, and support complex dynamic cross-browser web applications using ACF/Fusebox, APEX/VF/SOQL (SFDC), PHP/Drupal, C#/.NET, JS/CSS along with their popular frameworks/libraries in production systems while handling a growing number of requests, users, and functionalities;
- Recent projects:
- - Redesigning the Babson online giving site resulting in an improved UX which increased number of donations - one of the primary sources of income for the college;
- Software Developer Co-op / Application Developer Intern, May 2012 - Apr 2014
- - Created and maintained dynamic web applications for the Babson Portal - a platform of over 150 custom written tools with 2,000,000+ lines of code; researched, proposed, and integrated new software solutions;
- - Wrote custom two-way web services and data feeds to integrate internal data stores and systems with a variety of third party applications and tools;
- - Developed custom system workflows (XML), services, and events (JellyScript) in JIRA, performed system administration of the Atlassian stack (JIRA, Confluence) including data back-up, indexing, and restoring, system troubleshooting, patching, etc.
- Projects included:
- - Developing a single page web app that streamlined the annual faculty reporting of student opinion surveys, significantly reducing time and paper required to create the reports;
- - Automating the semiannual e-mail send-out of personalized print statistics as part of a print awareness campaign, increasing efficient printing practices and awareness of sustainability initiatives, resulting in several thousand dollars of reduced costs.
Education
- Babson College, Babson Park, MA
- Master of Science in Business Analytics Sep 2018 - Dec 2019
- - BI&A consulting project for a customer of an ERP software company with the project goal of developing statistical models to highlight the effects of local weather on store traffic.
- Master of Business Administration May 2016 - Aug 2018
- - Business Analytics concentration
- - BI&A management consulting project for a local celebrity owned fast-casual burger chain with the project goal of identifying key loyalty, satisfaction, and traffic drivers for its customer base.
- Wentworth Institute of Technology, Boston, MA
- Bachelor of Science in Computer Science, Applied Math minor (GPA: 3.82) Sep 2011 - Apr 2014
- - Dean's List (2011-2014); Graduated with honors: magna cum laude;
- - Alternative Spring Break 2012 volunteer;
- - Wentworth Community Scholarship, Wentworth Merit Scholarship, and Wentworth Annual Award recipient; Tau Alpha Pi Honor Society member;
- - Wentworth Admissions Office: Admissions Blogger;
- - Wentworth Career Services: Created Interactive Map of Recent Co-op Employers as a part of COMP650: Senior Project with Prof. Durga Suresh;
- - Wentworth Teaching and Learning Center: Created CourseAid Web Aggregator as a part of COMP 566: Software Design and Development with Prof. Durga Suresh.
- - Wentworth Accelerate Summer 2014 participant.
- University of Tyumen, Tyumen, Russia
- Majored in Software Development and Information Systems Administration Sep 2008 - May 2011
- - 2008 Outstanding Incoming Class Award Recipient, Institute of Mathematics and Computer Science;
- - Full Tuition Scholarship.
Other
- Conferences, workshops, hackathons, and training sessions I've attended
- - MIT Reality Hack 2020, Jan 2020 (Cambridge, MA) - SpaceChangers App
- - Red Hat Security Symposium, New England 2019, Dec 2019 (Waltham, MA)
- - Air Asia Design Thinking Challenge, Oct 2019 (Wellelsey, MA)
- - Eliassen Group Agile Foundations 2-day Training, May 2019 (Wellesley, MA)
- - The Citizens Challenge FinTech Hackathon, Jul 2018 (Boston, MA)
- - Babson Finance Conference - The Future of FinTech, Mar 2018 (Boston, MA)
- - Lubrizol Design Thinking Challenge, Feb 2018 (Wellelsey, MA)
- - TERMINALFOUR Advanced Web Developer 3-day onsite training, Jan 2018 (Wellesley, MA)
- - Clinton Global Initiative Codeathon @Northeastern, Oct 2017 (Boston, MA)
- - Reality Virtually Hack @ MIT, Oct 2017 (Cambridge, MA) - WebVR Checkout
- - Programmatic Development Using Apex and Visualforce (DEV450), Sep 2017 (Burlington, MA)
- - Hacking for Good @ HBS, Jun 2017 (Boston, MA)
- - Informatica World, May 2017 (San Francisco, CA)
- - HackWITus 2-day Hackathon @ WIT, Mar 2017 (Boston, MA) - WebArm
- - Progressive Web Apps @ Akamai, Mar 2017 (Cambridge, MA)
- - HackerX Boston (Front-End) @ Chewey, Mar 2017 (Boston, MA)
- - AT&T Mobile App Hackathon 2016 @ Workbar, Aug 2016 (Boston, MA)
- - BCBSMA Design Thinking Bootcamp, July 2016 (Wellelsey, MA);
- - AT&T WebRTC Boston Coding Workshop, May 2016 (Boston, MA)
- - Future of Wearables Scramble™ 2016 @ Babson, Apr 2016 (Wellelsey, MA)
- - Boston Code Camps 24 - 27, Nov 2015, 2016 / Mar 2016, 2017 (Cambridge, MA)
- - Salesforce World Tour Boston, 2016 / 2017 / 2018 (Boston, MA)
- - Workday Higher Education Summit, Oct 2015 (Wellesley, MA)
- - Neotys North American User Conference, Oct 2015 (Boston, MA)
- - Dyn's Hackademy, May 2015 (Manchester, NH) - Conversion Wars Web App
- - Workday workshop, Apr 2015 (Wellesley, MA)
- - NeoLoad 3-day training, Feb 2015 (Waltham, MA)
- - Laserfiche 4-day onsite training, Sep 2014 (Wellesley, MA)
- - Mendix 3-day onsite training, Aug 2014 (Wellesley, MA)
- - Dyn's Hackademy, May 2014 (Manchester, NH) - DWC BoyScouts iOS App
- Affiliations and Personal Interests
- - I'm the current chair of the Advanced Degree Employee Resource Group (ERG) at Babson which is committed to fostering relationships across the College for those employees who are balancing their work and personal life while pursuing an advanced degree or certificate (MS, MBA, PhD, MEd, CAM, etc.).
- - I've been a member of ΤΑΠ (Tau Alpha Pi, Massachusetts Alpha Chapter) - the professional honor society for engineering technology - since 2013.
- - Occasionally, I participate in the local Boston technology meetups, hackathons, and user group activities such as BNT (Boston New Technology), Boston AUG (Atlassian User Group), Code for Boston Hack Nights, and others.
- - I'm a frequent Kiva.org lender and encourage you to become one.
- - I sat on the board of a local nonprofit as a Babson Board Fellow (2018-2019 cohort).
- - Outside of my day to day duties as a developer I enjoy cycling and running (recently finished a 5k in under 20 minutes - woohoo!), creating and playing music, learning new things, and generally expanding my horizons.
http://manokhinv.github.io » resume
Updated 8/2019


---
layout: default
title: Mini Projects
permalink: /projects/mini-projects/
description: These are some of the mini projects that were really useful for automating tasks. These were mainly created while learning new technologies.
---
Mini Projects
These are some of the mini projects that were really useful for automating tasks.
These were mainly created while learning new technologies.
Tic Tac Toe Game using AI
Wanna play with an intelligent computer opponent? Try this unbeatable Tic Tac Toe based on Artificial Intelligence.
Minimax algorithm is the base for this project.
Source Code: Github
Technology Used: Python
Classic Snake game
Play the classic Snake game using this simple Python program
Source Code: Github
Technology Used: Python, PyGame
A reminder application to remind you about the upcoming birthdays
Forget birthdays of your loved ones? Don't worry its time to wish them all. This script will remind you of the birthdays that you have already stored.
Source Code: Github
Technology Used: Python
Download all CodeChef Problem statements
This was the script that helped me alot with my competitive programming skills. This script downloads all the problem statements from the CodeChef website
and store them into organized folders depending on the level of the problem statement.
Source Code: Github
Technology Used: Beautiful Soup, urllib
A simple note taking terminal application
This is the one which inspired me to create web app. This simple terminal application
helps you to create, retrieve, modify and delete notes right from terminal.
Source Code: Github
Technology Used: Python, SQlite, MySQl


By default the Standard Toolbar appears beneath the menubar. It provides quick mouse access to several common tools in HexEdit Pro. These include facilities for file handling, using the clipboard and changing the window display.
Another default toolbar is called the Edit Bar, which has commands useful during editing.
To hide or display the Standard toolbar, choose the View Standard Toolbar from the View menu.
To customize this or any toolbar or even create new toolbars use the Toolbar page of the Customize dialog.
Click To
Open an existing file. HexEdit Pro displays the File Open dialog box.
Save the file. If you have not named the file, HexEdit displays the Save As dialog box.
Print the file. HexEdit Pro displays the Print dialog box.
Preview the file on screen as it would be printed.
Remove the selected bytes from the file and store them on the clipboard.
Copy the selected bytes to the clipboard.
Insert the contents of the clipboard at the insertion point.
Undo the last action that modified the file or changed the display.
Toggle Autofit mode. When Autofit is on the columns change to fit the display.
Increase the size of the display font.
Decrease the size of the display font.
Toggle between decimal and hex addresses.
Display the area selection drop down menu
Displays the hex area and hides the char area
Displays the char area and hides the hex area
Displays characters and hex in stacked mode
Display the character set drop menu (commands are only available when the char area is displayed)
Displays ASCII characters in the char area
Displays the ANSI extensions to the ASCI character set
Displays IBM/OEM graphics characters (includes ASCII)
Displays the EBCDIC character set
Display the control char drop menu (commands are only available for ASCII and ANSI char sets)
Displays control characters as a dot
Displays control characters as their alpha equivalent
Displays control characters as their C/C++ escape sequence character
Select a color scheme from the list
When docked vertically (ie on the left or right side of the main window) this button is displayed which opens the colors page of the options dialog
Toggle between retaining original file times when saving and using current time.
Toggle between read-only and read-write mode.


Kaila's Page of Interests
During my free time...

I enjoy hanging out with my friends and spending time, or catching up with them.
I love everything about art. When I'm bored I'll end up either sketching, or painting on canvases.
Photography is another hobby of mine. I enjoy snapping moments, nature and people.
Whenever I am able to, my family and I love to travel around the world to see what it has to offer.


PySOT Dictionary Layout¶
When the server is launched it compiles a dictionary of all components required to to start a Surrogate Optimization. It is generated by using the pySOT_dictionary module.
Inforation on how each of the component is stored in the dictionary is given below. Also more inforamtion on how each of the components operate can be found here.
Experimental Design¶
Surrogate Model¶
Adaptive Sampling¶
Optimization Problem¶
Strategy¶
Controller¶
Kernel¶
Tail¶
Delay¶
Projection Function¶
Note: For some of the list of list entries in the dictionary, it can be seen that instead of have a list as a second entry there is just a single “None” entry. This means that this piticular class did not have any default values.
Note: In most cases the number of default values are lesser than the number of input arguments for most of the objects. This means that not all arguments had default values. As an example if an object had list of arguments [‘a’, ‘b’, ‘c’] and default values [‘x’, ‘y’]. Then ‘b’ would have the default value ‘x’ and ‘c’ would have ‘y’. It is assumed that this order is preserved in later versions of PySOT.
{
"experimental_design":
{
"BoxBehnken": [["dim"], "None"],
"TwoFactorial": [["dim"], "None"],
"LatinHypercube": [["dim", "npts", "criterion"], ["c"]],
"SymmetricLatinHypercube": [["dim", "npts"], "None"]
},
"kernel":
[
"LinearKernel",
"TPSKernel",
"CubicKernel"
],
"tail":
[
"ConstantTail",
"LinearTail"
],
"delay":
[
"delay"
],
"proj_fun":
[
"projection"
],
"surrogate_model":
{
"RBFInterpolant":
[
["kernel", "tail", "maxp", "eta"],
["CubicKernel", "LinearTail", 500, 1e-08]
]
},
"adaptive_sampling":
{
"CandidateDDS_INT":
[
["data", "numcand", "weights"],
["None", "None"]
],
"CandidateDDS":
[
["data", "numcand", "weights"],
["None", "None"]
],
"CandidateUniform_INT":
[
["data", "numcand", "weights"],
["None", "None"]
],
"CandidateDYCORS_CONT":
[
["data", "numcand", "weights"],
["None", "None"]
],
"CandidateSRBF":
[
["data", "numcand", "weights"],
["None", "None"]
],
"GeneticAlgorithm":
[
["data"],
"None"
],
"CandidateDYCORS_INT":
[
["data", "numcand", "weights"],
["None", "None"]
],
"CandidateDYCORS":
[
["data", "numcand", "weights"],
["None", "None"]
],
"CandidateSRBF_INT":
[
["data", "numcand", "weights"],
["None", "None"]
],
"MultiSampling":
[
["strategy_list", "cycle"],
"None"
],
"MultiStartGradient":
[
["data", "method", "num_restarts"],
["L-BFGS-B", 30]
],
"CandidateUniform_CONT":
[
["data", "numcand", "weights"],
["None", "None"]
],
"CandidateDDS_CONT":
[
["data", "numcand", "weights"],
["None", "None"]
],
"CandidateUniform":
[
["data", "numcand", "weights"],
["None", "None"]
],
"CandidateSRBF_CONT":
[
["data", "numcand", "weights"],
["None", "None"]
]
},
"optimization_problem":
{
"Rastrigin": [["dim"], [10]],
"Levy": [["dim"], [10]],
"Schwefel": [["dim"], [10]],
"Quartic": [["dim"], [10]],
"Exponential": [["dim"], [10]],
"Hartman6": [["dim"], [6]],
"Whitley": [["dim"], [10]],
"Hartman3": [["dim"], [3]],
"LinearMI": [["dim"], [5]],
"Rosenbrock": [["dim"], [10]],
"Sphere": [["dim"], [10]],
"SchafferF7": [["dim"], [10]],
"Griewank": [["dim"], [10]],
"Ackley": [["dim"], [10]],
"StyblinskiTang": [["dim"], [10]],
"Keane": [["dim"], [10]],
"Michalewicz": [["dim"], [10]]
},
"controller":
{
"SimTeamController": [["objective", "delay", "workers"], "None"],
"SerialController": [["objective", "skip"], [false]],
"ThreadController": [[], "None"],
"ScriptedController": [[], "None"],
"Controller": [[], "None"]
},
"strategy":
{
"SyncStrategyNoConstraints":
[
[
"worker_id", "data", "response_surface", "maxeval",
"nsamples", "exp_design", "sampling_method",
"extra", "extra_vals"
],
["None", "None", "None", "None"]
],
"SyncStrategyPenalty":
[
[
"worker_id", "data", "response_surface", "maxeval",
"nsamples", "exp_design", "sampling_method",
"extra", "penalty"
],
["None", "None", "None", 1000000.0]
],
"SyncStrategyProjection":
[
[
"worker_id", "data", "response_surface", "maxeval",
"nsamples", "exp_design", "sampling_method",
"extra", "proj_fun"
],
["None", "None", "None", "None"]
]
}
}


--- title: gokrazy quickstart aliases: - /quickstart.html menu: main: title: "Quickstart" weight: 20 ---
Currently, the Raspberry Pi 3 and Pi 4 are the only supported models. Many people assume the Raspberry Pi Zero W could be used as well. Unfortunately, it uses the older BCM2835 SoC, which is not arm64, so gokrazy won’t run on it. See also stapelberg’s reddit comment about supported hardware.

Create a directory for this gokrazy instance and initialize a Go module:
INSTANCE=gokrazy/hello mkdir -p ~/${INSTANCE?} cd ~/${INSTANCE?} go mod init hello
Then, install the gokr-packer:
go install github.com/gokrazy/tools/cmd/gokr-packer@latest
Plug an SD card into your card reader and locate its device node by checking dmesg | tail
. In this example, we’ll assume the SD card is accessible as /dev/sdb
.
To overwrite the entire SD card /dev/sdb
with a gokrazy installation running a hello world program, use:
cd ~/gokrazy/hello gokr-packer \ -overwrite=/dev/sdb \ -serial_console=disabled \ github.com/gokrazy/fbstatus \ github.com/gokrazy/hello \ github.com/gokrazy/serial-busybox
The gokr-packer
command above will result in log output like this:
2017/03/01 20:59:55 packer.go:85: installing [github.com/gokrazy/hello] 2017/03/01 20:59:56 packer.go:131: partitioning /dev/sdb 2017/03/01 20:59:56 parttable.go:40: device holds<PHONE_NUMBER>6 bytes 2017/03/01 20:59:56 packer.go:139: waiting for /dev/sdb1 to appear If your applications need to store persistent data, create a file system using e.g.: mkfs.ext4 /dev/sdb4 To boot gokrazy, plug the SD card into a Raspberry Pi 3 or 4 (no other models supported) To interact with the device, gokrazy provides a web interface reachable at: http://gokrazy:<automatically-generated-random-password>@gokrazy/ In addition, the following Linux consoles are set up: 1. foreground Linux framebuffer console on HDMI
After booting from this SD card, your Raspberry Pi 3 or 4 will:
~/.config/gokrazy/http-password.txt
)The only way for you to interact with the device is via the web interface (unless the installed programs provide other ways).
A good next program to try is breakglass, which allows you to run an interactive SSH session to explore the system.
If you prefer the serial console, you can optionally connect a
serial adapter to the Raspberry Pi and remove
the -serial_console=disabled
flag to make the primary
Linux console end up on the serial console.
When pressing Enter
on the serial console, gokrazy will
start the program /perm/sh
if present. You can for
example rename
a statically
linked busybox
arm64 binary to sh
,
store it in the SD card’s persistent data partition, and use it as
an interactive shell.


HTML
HTML
HTML
HTML
Nagu Nagutha Ganitha is a mathematics programme for building number concepts among lower primary school children. The approach is based on sequential thinking strategies - Concrete, Representational and Abstract levels, in that order. The programme covers a wide range of mathematical concepts and operations focusing on both Quantitative Literacy and Quantitative Thinking.
HTML
HTML
HTML
HTML
#EC6608
Orange
#75CF7E
Green
#3891E3
Blue
#24B2B6
Turquoise
#7575BC
Purple
#CB0012
Red
#2C3E50
Dark blue
#C6DFE7
Grayish Cyan
#8E8CA5
Ash purple
#F6F6F6
Cream
#D8D8D8
Light Grey
#6398E5
Soft Blue
#6D6D6D
Dark Grey
#4D4D4D
Dark Grey
| Pre-School | ||
|---|---|---|
|
Active Students Count 1992 |
5400 boys 65% 2700 girls 35% |
Teacher
1 :
Student
30 |
HTML
HTML
HTML
HTML
HTML
HTML
HTML
HTML
This is Overview content
This is Methodology content
This is Assessments and Evaluation content
HTML
HTML


"Obi-wan never told you what happened to your father... C3PO, _I_ am your father."
We waited out in the rain at the 34th and Lexington movie theater. There were umbrellas up and rainslickers worn, but no lightsabres, no one dressed as Chewbacca. This was the 8:30PM show, and I suspect the folks who would have come that way were going to the Ziegfeld at midnight. The line started to form at about 6PM, though it didn't get serious until after 7PM. The smartest man on line had gotten there a bit earlier, and was sitting in a portable chair underneath the movie theater's marquee, out of the rain. We were in the first dozen feet of the bunched together line, half the group in the rain, half out of it. We did have a box of Krispy Kremes, so we were reasonably prepared. I have to admit -- sheepishly -- I took a bit of organizer's prerogative and ducked out for half an hour to have a burrito dinner at Blockheads out of the rain.
I think "Star Wars" was the first movie I saw in a movie theater. I guess I was seven. This was the old RKO Keith's in Flushing, now a burned out shell after a real estate development dispute. A pity: it was a landmark, decked out in a Beaux Arts style. There's, of course, great affection for the saga, though I realize that there's a certain cheesiness to it all, that Harrison Ford doesn't figure out how to act until about halfway through "Empire", and so on. The momentum of the movie carries all such deficits away, making them irrelevant. It's part of our secular mythology.
The new movie does well, and is not a godawful Godzilla-sized disappointment, which is what some of the worst reviews make it out to be. Not as fun as "Star Wars", not as dark and somberly open-ended as "Empire", but not as stupidly goofy and Ewok-ridden as "Jedi", it's more an introduction, the first step on a path to Anakin's Greek tragedy two films away. Despite the cluttered plot and the slow wait for things to get moving, it's not bad. We see new vistas and familiar characters in different settings; since this movie cannot be seen outside of context, there is a purposeful, barely perceptible cloud of doom hanging over some of these first meetings. The action, once it gets going in the second half, is fantastic, culminating in the lightsabre duel between Darth Maul and the two Jedi.
It's a worthy beginning, but it could have been better. As noted, things took a while to get moving. In "Star Wars", before we settle into the story, there was a fantastic first punch of action with the boarding of Leia's ship. No such luck here -- the pacing failed for me -- though we do have a fascinating view of what fully trained Jedi in their prime can do, how much of a One Man Army they are. Yes, it's just like the computer game.
Darth Maul had too little to do. We understand that he's bad, but he doesn't do more than be the apprentice of a greater power, and participate in the climatic sabre duel. Vader, at least, had more to do in the first film, and especially in the second. His casual evil is demonstrated in action, not simply signified in bad-ass black garb.
That the whole conflict was sparked by some sort of trade dispute is somewhat silly. I think it's Lucas's attempt to create a relatively inconsequential reason for the Federation to go to war against Naboo: mercantile issues shouldn't motivate combatants with thoroughgoing passions in the way nationalistic fervor, the will to power or the fight for freedom might. At the end of the movie, the Federation's leaders can be carted off for trial and the stripping of their trade privileges, leaving the status quo ante relatively intact but the insidious motivator still hidden. My problem with this sequence of events is that the trade dispute turned massively bloody. It is far too pat an ending. I'm sure someone could have come up with a more credible conflict to get things rolling.
I disagree with Lucas's attempt to give a pseudo-scientific explanation for the Force. It's deeply lame, deeply distracting: you think they're basically mispronouncing "mitochondria", which is a real symbiotic bacteria found in multicellular life. This attempt robs the Force of its mysticism, undermining the long-elaborated theme from the previous films of spirit triumphing over machine. Better for the Jedi to feel a great stirring in the Force when around Anakin than to take a blood sample. I'd be thrilled silly if the following two movies never bring up this point again. By the way, I'm not touching Anakin's immaculate conception with a ten-foot pole.
The fight choreography of the lightsabre duel between Darth Maul and the Jedi is spectacular, far more dynamic or energetic than the duels between Luke and Vader, or the somewhat stiffly geriatric duel between Vader and Kenobi. I suspect this is due partially to better effects technology: a guy doesn't have to sit there and hand paint all the glowing sabres frame by frame, because a computer can do this, following the arc of a fast moving sabre more effectively. Perhaps more importantly, the fight choreography of martial arts films has become more mainstream than it was in the Seventies and early Eighties. We expect flashy aggressiveness and balletic spins in this sort of combat. Anything bordering on stiff and clumsy is deemed insufficient.
Interestingly, while the wonderful dynamics of the sabre combat exists when the Jedi face Darth Maul, but it's not quite there when the Jedi hack their way through hordes of battle droids. Partially, this is intentional: the droids pose no serious challenge to Jedi. A more compelling argument is that the actors have nothing to react to when they're supposed to be facing the droids, whereas Darth Maul is physically there in the form of Ray Park wielding a prop sword. I remember at least two instances where Ewan McGregor twirls and swing the sabre casually into a droid. There seemed to be no force, no urgency in the action. Well, there was nothing there to act against.
No wonder, then, that Liam Neeson wants to quit movie acting; no wonder McGregor found the filming a chore: they spent a great deal of time interacting with CGI characters. This can't be fun for an actor, spending weeks in front of a blue screen, talking to things that aren't there. Such is the result of technical change over the past decade. Perhaps an intriguing analogy may be made with the introduction of sound in film. Silent film actors who were adept at the exaggerated facial expressions and gestures of that type of film had a difficult time adjusting. What we may see in coming years is a cadre of actors well-suited to the blue screen for one reason or another. Consider, though, Ebert's statement about an upcoming golden age of visual style at http://www.suntimes.com/output/ebert1/clear18f.html.
I suppose we'll have to see what happens in the subsequent films. Clearly, Anakin, as an apprentice Jedi, will attempt to free the slaves on Tatoonie, and perhaps his passion to save his mother will be his undoing, the tragic flaw through which he becomes Vader. Hopefully, Obi-Wan will be less stiff and constipated, with more screen time. We'll just have to see, but I think it's a good start.
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


{% block head %}
{# Usual header stuff #}
{# Meta data is taken from Site.yml: #}
{# The content of Site.yml can be accessed via site.x #}
{% block title %}{{ site.name }} - {{ page.title|e }}{% endblock %}
{# The relative url '/static/style.css' is properly encoded using the local url filter #}
{% endblock head %}
{{ site.name|e }}
{# Only show the blog menu if the blog-directory is included #}
{# This shall demonstrate the subdirectory feature of mkaestatic #}
{% if 'blog' in root %}
Blog Menu
We can also have a menu of blog entries which is generated in the template:
{# Directories can also be accessed in the templates. Via root.x all the pages in the root directory can be accessed. Looping over the root.blog directory gives all pages in the ./blog folder #}
{% for p in root.blog %}