Class Block
Represents a block definition.
Implements
Inherited Members
Namespace: netDxf.Blocks
Assembly: CADability.dll
Syntax
public class Block : TableObject, IHasXData, ICloneable, IComparable, IComparable<TableObject>, IEquatable<TableObject>
Remarks
Avoid to add any kind of dimensions to the block's entities list, programs loading DXF files with them seems to behave in a weird fashion. This is not applicable when working in the Model and Paper space blocks.
Constructors
| Improve this Doc View SourceBlock(String)
Initializes a new instance of the Block
class.
Declaration
public Block(string name)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | Block name. |
Block(String, IEnumerable<EntityObject>)
Initializes a new instance of the Block
class.
Declaration
public Block(string name, IEnumerable<EntityObject> entities)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | Block name. |
| System.Collections.Generic.IEnumerable<EntityObject> | entities | The list of entities that make the block. |
Block(String, IEnumerable<EntityObject>, IEnumerable<AttributeDefinition>)
Initializes a new instance of the Block
class.
Declaration
public Block(string name, IEnumerable<EntityObject> entities, IEnumerable<AttributeDefinition> attributes)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | Block name. |
| System.Collections.Generic.IEnumerable<EntityObject> | entities | The list of entities that make the block. |
| System.Collections.Generic.IEnumerable<AttributeDefinition> | attributes | The list of attribute definitions that make the block. |
Block(String, String)
Initializes a new instance of the Block
class as an external reference drawing.
Declaration
public Block(string name, string xrefFile)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | Block name. |
| System.String | xrefFile | External reference path name. |
Remarks
Only DWG files can be used as externally referenced blocks.
Block(String, String, Boolean)
Initializes a new instance of the Block
class as an external reference drawing.
Declaration
public Block(string name, string xrefFile, bool overlay)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | Block name. |
| System.String | xrefFile | External reference path name. |
| System.Boolean | overlay | Specifies if the external reference is an overlay, by default it is set to false. |
Remarks
Only DWG files can be used as externally referenced blocks.
Fields
| Improve this Doc View SourceDefaultModelSpaceName
Default ModelSpace block name.
Declaration
public const string DefaultModelSpaceName = "*Model_Space"
Field Value
| Type | Description |
|---|---|
| System.String |
DefaultPaperSpaceName
Default PaperSpace block name.
Declaration
public const string DefaultPaperSpaceName = "*Paper_Space"
Field Value
| Type | Description |
|---|---|
| System.String |
Properties
| Improve this Doc View SourceAttributeDefinitions
Gets the AttributeDefinition list of the block.
Declaration
public AttributeDefinitionDictionary AttributeDefinitions { get; }
Property Value
| Type | Description |
|---|---|
| AttributeDefinitionDictionary |
Remarks
Null or attribute definitions already owned by another block or document cannot be added to the list. Additionally Paper Space blocks do not contain attribute definitions.
Description
Gets or sets the block description.
Declaration
public string Description { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
Remarks
AutoCAD has an unknown limit on the number of characters for the description when loading an external DXF,
while, on the other hand is perfectly capable of saving a Block description that surpasses such limit.
Keep in mind that when saving a DXF prior to the AutoCad2007 version, non-ASCII characters will be encoded,
therefore a single letter might consume more characters when saved into the DXF.
New line characters are not allowed.
Entities
Gets the EntityObject list of the block.
Declaration
public EntityCollection Entities { get; }
Property Value
| Type | Description |
|---|---|
| EntityCollection |
Remarks
Null entities, attribute definitions or entities already owned by another block or document cannot be added to the list.
Flags
Gets the block-type flags (bit-coded values, may be combined).
Declaration
public BlockTypeFlags Flags { get; }
Property Value
| Type | Description |
|---|---|
| BlockTypeFlags |
IsForInternalUseOnly
All blocks that starts with "*" are for internal use only.
Declaration
public bool IsForInternalUseOnly { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
IsXRef
Gets if the block is an external reference.
Declaration
public bool IsXRef { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Layer
Gets or sets the block Layer.
Declaration
public Layer Layer { get; set; }
Property Value
| Type | Description |
|---|---|
| Layer |
Remarks
It seems that the block layer is always the default "0" regardless of what is defined here, so it is pointless to change this value.
ModelSpace
Gets the default *Model_Space block.
Declaration
public static Block ModelSpace { get; }
Property Value
| Type | Description |
|---|---|
| Block |
Name
Gets the name of the table object.
Declaration
public string Name { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
Remarks
Table object names are case insensitive.
Origin
Gets or sets the block origin in world coordinates, it is recommended to always keep this value to the default Vector3.Zero.
Declaration
public Vector3 Origin { get; set; }
Property Value
| Type | Description |
|---|---|
| Vector3 |
PaperSpace
Gets the default *Paper_Space block.
Declaration
public static Block PaperSpace { get; }
Property Value
| Type | Description |
|---|---|
| Block |
Record
Gets the block record associated with this block.
Declaration
public BlockRecord Record { get; }
Property Value
| Type | Description |
|---|---|
| BlockRecord |
Remarks
It returns the same object as the owner property.
XrefFile
Gets the external reference path name.
Declaration
public string XrefFile { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
Remarks
This property is only applicable to externally referenced blocks.
Methods
| Improve this Doc View SourceClone()
Creates a new Block that is a copy of the current instance.
Declaration
public override object Clone()
Returns
| Type | Description |
|---|---|
| System.Object | A new Block that is a copy of this instance. |
Overrides
| Improve this Doc View SourceClone(String)
Creates a new Block that is a copy of the current instance.
Declaration
public override TableObject Clone(string newName)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | newName | Block name of the copy. |
Returns
| Type | Description |
|---|---|
| TableObject | A new Block that is a copy of this instance. |
Overrides
| Improve this Doc View SourceCreate(DxfDocument, String)
Creates a block from the content of a DxfDocument.
Declaration
public static Block Create(DxfDocument doc, string name)
Parameters
| Type | Name | Description |
|---|---|---|
| DxfDocument | doc | A DxfDocument instance. |
| System.String | name | Name of the new block. |
Returns
| Type | Description |
|---|---|
| Block | The block build from the DxfDocument content. |
Remarks
Only the entities contained in ModelSpace will make part of the block.
Load(String)
Creates a block from an external DXF file.
Declaration
public static Block Load(string file)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | file | DXF file name. |
Returns
| Type | Description |
|---|---|
| Block | The block build from the DXF file content. It will return null if the file has not been able to load. |
Remarks
The name of the block will be the file name without extension, and only the entities contained in ModelSpace will make part of the block.
Load(String, IEnumerable<String>)
Creates a block from an external DXF file.
Declaration
public static Block Load(string file, IEnumerable<string> supportFolders)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | file | DXF file name. |
| System.Collections.Generic.IEnumerable<System.String> | supportFolders | List of the document support folders. |
Returns
| Type | Description |
|---|---|
| Block | The block build from the DXF file content. It will return null if the file has not been able to load. |
Remarks
The name of the block will be the file name without extension, and only the entities contained in ModelSpace will make part of the block.
Load(String, String)
Creates a block from an external DXF file.
Declaration
public static Block Load(string file, string name)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | file | DXF file name. |
| System.String | name | Name of the new block. |
Returns
| Type | Description |
|---|---|
| Block | The block build from the DXF file content. It will return null if the file has not been able to load. |
Remarks
Only the entities contained in ModelSpace will make part of the block.
Load(String, String, IEnumerable<String>)
Creates a block from an external DXF file.
Declaration
public static Block Load(string file, string name, IEnumerable<string> supportFolders)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | file | DXF file name. |
| System.String | name | Name of the new block. |
| System.Collections.Generic.IEnumerable<System.String> | supportFolders | List of the document support folders. |
Returns
| Type | Description |
|---|---|
| Block | The block build from the DXF file content. It will return null if the file has not been able to load. |
Remarks
Only the entities contained in ModelSpace will make part of the block.
OnAttributeDefinitionAddedEvent(AttributeDefinition)
Declaration
protected virtual void OnAttributeDefinitionAddedEvent(AttributeDefinition item)
Parameters
| Type | Name | Description |
|---|---|---|
| AttributeDefinition | item |
OnAttributeDefinitionRemovedEvent(AttributeDefinition)
Declaration
protected virtual void OnAttributeDefinitionRemovedEvent(AttributeDefinition item)
Parameters
| Type | Name | Description |
|---|---|---|
| AttributeDefinition | item |
OnEntityAddedEvent(EntityObject)
Declaration
protected virtual void OnEntityAddedEvent(EntityObject item)
Parameters
| Type | Name | Description |
|---|---|---|
| EntityObject | item |
OnEntityRemovedEvent(EntityObject)
Declaration
protected virtual void OnEntityRemovedEvent(EntityObject item)
Parameters
| Type | Name | Description |
|---|---|---|
| EntityObject | item |
OnLayerChangedEvent(Layer, Layer)
Declaration
protected virtual Layer OnLayerChangedEvent(Layer oldLayer, Layer newLayer)
Parameters
| Type | Name | Description |
|---|---|---|
| Layer | oldLayer | |
| Layer | newLayer |
Returns
| Type | Description |
|---|---|
| Layer |
Save(String, DxfVersion)
Saves a block to a text DXF file.
Declaration
public bool Save(string file, DxfVersion version)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | file | DXF file name. |
| DxfVersion | version | Version of the DXF database version. |
Returns
| Type | Description |
|---|---|
| System.Boolean | Return true if the file has been successfully save, false otherwise. |
Save(String, DxfVersion, Boolean)
Saves a block to a DXF file.
Declaration
public bool Save(string file, DxfVersion version, bool isBinary)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | file | DXF file name. |
| DxfVersion | version | Version of the DXF database version. |
| System.Boolean | isBinary | Defines if the file will be saved as binary. |
Returns
| Type | Description |
|---|---|
| System.Boolean | Return true if the file has been successfully save, false otherwise. |
Events
| Improve this Doc View SourceAttributeDefinitionAdded
Declaration
public event Block.AttributeDefinitionAddedEventHandler AttributeDefinitionAdded
Event Type
| Type | Description |
|---|---|
| Block.AttributeDefinitionAddedEventHandler |
AttributeDefinitionRemoved
Declaration
public event Block.AttributeDefinitionRemovedEventHandler AttributeDefinitionRemoved
Event Type
| Type | Description |
|---|---|
| Block.AttributeDefinitionRemovedEventHandler |
EntityAdded
Declaration
public event Block.EntityAddedEventHandler EntityAdded
Event Type
| Type | Description |
|---|---|
| Block.EntityAddedEventHandler |
EntityRemoved
Declaration
public event Block.EntityRemovedEventHandler EntityRemoved
Event Type
| Type | Description |
|---|---|
| Block.EntityRemovedEventHandler |
LayerChanged
Declaration
public event Block.LayerChangedEventHandler LayerChanged
Event Type
| Type | Description |
|---|---|
| Block.LayerChangedEventHandler |


--- layout: post title: Using Active Directory and Duo on Ubuntu Server 16.04 date: type: post published: false status: draft categories: - Configuration - Ubuntu tags: - Duo meta: {} author: login: joshuadmiller email<EMAIL_ADDRESS>display_name: Joshua D. Miller first_name: '' last_name: '' ---
Over the last day or so I've been experimenting with Ubuntu Server 16.04. I'm planning on giving Observium a try as it is an open source networking monitoring solution and we are currently paying for PRTG Network Monitor. It is my hope that Observium becomes a great solution and we will no longer need PRTG as we are primarily monitoring servers and some devices (Steelcase Room Wizards). As I spun up the server I found that configuring Active Directory and Duo was a bit of a challenge however I was able to get it working. Check below the jump for the configuration pieces I used.
First we need to install the necessary additional packages for Active Directory. This involves installing the following:


Issue: CONDITION-SLOTS
References: Condition System, version 18
Issue CLOS-CONDITIONS
Issue PACKAGE-CLUTTER
ANSI CL draft pp.5-4, 5-5
Category: CLARIFICATION
Edit history: 3-Jan-90, Version 1 by Barrett
30-Apr-90, Version 2 by Moon (rewrite, just one proposal,
extend to cover all specified objects that have slots)
Problem description:
Pages 5-4 and 5-5 of the ANSI CL draft specification from last fall refer
to slots of specified conditions. However these slots were not put into
the specification in a consistent way.
CLOS-CONDITIONS:INTEGRATE, which was adopted by X3J13, changed condition
slots to be the same as CLOS slots, but did not say that the specified
conditions have any specified slots. However, some people have taken it
to mean that the condition classes defined by the standard all contain
slots whose names are external symbols in the CL package which are
STRING= to the specified initargs for creating conditions. The ANSI CL
draft specification was edited in some places as if this were true.
Revision 18 of the conditions document, which was adopted by X3J13,
refers to initialization arguments and accessors, but carefully avoids
naming the slots themselves. The philosophy of that document was that
slots are only defined for programmer defined conditions, and that the
only sanctioned interface for the standard condition classes is through
the use of the defined accessor functions.
A related, more general issue that PACKAGE-CLUTTER:REDUCE failed to
address is whether there are naming restrictions on
implementation-dependent slots of specified classes.
This is Symbolics issue #8 and Loosemore issue #15 of 27 Feb 90.
Proposal (CONDITION-SLOTS:HIDDEN):
1. Clarify that no specified condition classes have any specified slots.
The implementation of the required information storage by the specified
condition classes is implementation-dependent. We need to be clear that
specified conditions are not required to have any particular slots with
any particular names. They -are- required to be the type of object that
is able to have slots. User-defined conditions -are- required to have
slots with the names mentioned in the DEFINE-CONDITION form.
2. Table 5-1 in the ANSI CL draft specification should not contain slot
names, because they will not necessarily be accessible via WITH-SLOTS in
the way people might infer. Instead, the table should mention initargs
and accessors. For example, :FORMAT-STRING and
SIMPLE-CONDITION-FORMAT-STRING -- but not the symbol FORMAT-STRING.
3. Define that it is unspecified whether slots are involved in the
operation of specified functions on instances of specified classes,
except when slots are explicitly specified by the standard.
4. Define that if in a particular implementation a specified class has
slots that are not specified by the standard, the names of these slots
must not be external symbols of packages defined in the standard nor
otherwise accessible in the USER package.
Rationale:
Allowing the information storage to be implementation-dependent is
essential to compatibility with existing systems, which may not represent
this information in the "obvious" way.
Specifying slots for the condition classes would require putting the slot
names into the COMMON-LISP package, adding many symbols.
Part 4 of the proposal repairs an omission in PACKAGE-CLUTTER:REDUCE. It
is necessary if users are to be able to define a subclass of a condition
class (which is necessary whenever users define their own conditions) and
give slots to their class without potentially interfering with
implementation-defined slots.
Current practice:
Parts 1 through 3 are likely to be consistent with all existing
implementations. Part 4 is not known to be specifically violated by any
implementation, but it might well be violated by accident. I have not
tested any implementations specifically.
Cost to Implementors:
Easy, all they have to do is keep slot names out of user visible packages.
Cost to Users:
Easy, all they have to do is use the specified accessors rather than
SLOT-VALUE or WITH-SLOTS to access information in conditions.
Cost of non-adoption:
Substantially increased size of the COMMON-LISP package and considerable
extra work on the ANSI CL specification to document all the slots.
Porting problems for any code that defines its own condition types
because of slot name collisions.
Performance impact:
None of any consequence. SLOT-VALUE might be faster than calling an
accessor in some implementations (although in most implementations it is
slower, when not called from a method), but access to a slot of a
condition never occurs in important inner loops.
Benefits:
Conditions will be specified as originally intended.
Esthetics:
Abstraction is better than mandating one particular implementation
of information storage.
Discussion:
None.


Have been working as a data scientist for more than one month. Still a lot to learn and to play with. Definitely love what I am doing and look forward to making some impacts. The data I am working with is a lot messier than datasets I’ve been working with before. But yeah, welcome to the real world!
Working environment is somehow different from PhD life. You don’t have that much time to understand something thoroughly and make something ‘perfectly’.  Some rules I learned at Insight are still applicable here:
ROI: Prioritize your tasks. Work on things with higher ROI.
80% rule: Get 80% job done in a short period is much better than getting 99% done in a long time
15 mins rule: No need to reinvent the wheel. Whenever you get stuck for some time (maybe 15 mins), stand up and ask around. Data sciense is teamwork.
Skillwise, I belive these skills will be heavily involved and honed in my current project:
1. Communication
Definitely the most important skill. Should be able to convey your ideas and deliver your results to others fully and clearly. Be mindful about high-level thinking and talking (speak English, not math). Also, listen really well to others’ ideas. Be open-minded. Listen to understand, not to be right.
2. Information integration
A lot of times, I will be working with multiple data/infomation from different data sources. Being able to connect the dots and integrate information is crucial.
3. SQL
Retrieving data from our database.
4. Python
Especially packages like Pandas, Numpy, sklearn, matplotlib. Data cleaning, merging, wrangling, and machine learning!
5. R
Though I am a big Python fan, it’s good to know something new.
6. Machine Learning
Black box! Secret weapon!
7. Tableau (data delivery / visualization)
Deliver your insights and results in a neat and actionable manner.
Some skills I want to learn but are not emphasized here include big data platform (Spark especially), interactive data visualization (D3), and database knowledge. So, here are three online courses that can get my feet wet. Play with them in my free time!
1. Introduction to Big Data with Apache Spark
2. Data Visualization and D3.js
3. Introduction to Databases
Have fun!


Prints messages related to the execution of the decorated method to the console.
Note that this functionality can be enabled and disabled by configuring
the tracing
option when configuring this module for your application.
When @Trace() is used outside of an Alterior execution context, the trace
logs are always enabled, and the default log listeners are used.
For example, given a class:
class Thing {
@ConsoleTrace()
static doSomething(data : any, stuff : number) {
console.log("ALMOST...");
try {
this.anotherSomething(stuff);
} catch (e) {
}
}
@ConsoleTrace()
static anotherSomething(stuff : number) {
console.log("NAH...");
throw new Error('Uh oh');
}
}
When executed, one may see:
Thing#doSomething({"stuff":321,"other":"nice"}, 12333) {
ALMOST...
Thing#anotherSomething(12333) {
NAH...
(!!) Exception:
Error: Uh oh
} // [Exception] Thing#anotherSomething(12333)
} // [Done, 6ms] Thing#doSomething({"stuff":321,"other":"nice"}, 12333)
Echos the value of a value. Trys to print the value out in the best way possible given the different types.
The object to print out.
Optional options object that alters the output.
Pass the string through with no stylization.
Use console colors to style the string. Suitable for output to terminals with ANSI color support.
Generated using TypeDoc
If an exception occurs within the target method, report that exception to the console and rethrow.


[1]
NICE HARDWARE , NICE DESIGN , GREAT SOUND; NONE TO SPEAK OF
[2]
Everything except....; Greed. Greed. Greed. Shame. Shame.


Textarea Expander Summary
The jQuery Textarea Expander is a plugin that allows textareas to expand as more content is added.
You can type content in, or copy and paste content in and the text area will grow in height to fit the content.
Please read the input expander documentation for instructions on how to use the plugin.
Options
- classmodifier
- Used to apply class names to the elements created by the plugin. You only need to specify a class modifier if you have a name-clash.


Hi. I'm Abbi. I am a 22 year-old fresh Full-Stack JavaScript Web Developer.
About
Winged-eyeliner. 22 years. Full-Stack JavaScript Web Dev. Conscious Capitalist.
Education
Bentley University
Waltham, MA | Sept 2013-Dec 2016
Major: B.S. Managerial Economics
Concentration in Law; Minor in Global Studies
Graduated Magna Cum Laude
Presidential Merit Scholarship Recipient
The London School of Economics
London, UK | Sept 2015-June 2016
Selected for General Course Programme
Dept of Economic History
Awarded Firsts in Information Technology Law and Environmental Economics
Code Fellows
Seattle, WA | Jan-June 2017
18+ Week Full-Stack JavaScript Intensive
Diversity Scholarship Recipient
Leadership
HOPE worldwide
Honduras and Guatemala | July 2014-Present
Website Design and Content Creator
Created and maintained design, content, layout for non-profit website and online application forum.
OnForce Inc.
Lexington, MA | May 2015-March 2016
Software Product Management Intern
Utilized SQL database querying and created analytical report for over 50 software product features describing consumer usage and the interactions between software components.
The Song Factory
Nashville, TN | May-July 2014
Music Publishing Intern
Analyzed data relating to song profitability, songwriting productivity, and predictions regarding future market growth.
The Future
Relevant Skills
- Front-End: CSS Responsive Design, jQuery Events, JavaScript, DOM Manipulation, Handlebars.js, API configuration
- Back-End: Node.js, Express, SQL querying, Database System Management
- Organization: GitHub Repository Flow, SMACSS
- Environments: Unix
Cares About:
- Business Strategy relating to software feature development
- Economic development of impoverished communities by means of technical and financial education
- STEM, financial, and business education for women and girls
- Augmented Reality and 3D Technology
- Nutrition and Fitness
Looking For:
- Full-time position in Web Development
- Intracompany mentorship
- Opportunities for challenge and growth
- Boston, Seattle, London
other things I care about --books: "How to Win Friends and Influence People" (Carnegie), "Hooked" (Eyal), "Extravagant Grace" (DeGuid), "Rich Dad Poor Dad" (Kiyosaki), "Is Everyone Hanging Out Without Me?" (Kaling), "Conscious Capitalism" (Mackey) --music: childish gambino, lord huron, chance the rapper, liz anne, joseph --stuff: comfortable shoes, yoga, shakespeare conspiracy theories, bruce springsteen, veggies


Simple JSP Counter
You have accessed this page 1 time(s).
This page has been accessed a total of 10 time(s).


{% extends "global/Base.html" %} {% load otree_tags %} {% block title %} Solution to Understanding Question {{ num_q }} of {{ total_q }} {% endblock %} {% block content %} {% ifequal player.training_amount_mine 0 %}
Your answer {{player.training_amount_mine}} for yourself was correct.
{% else %}Your answer {{player.training_amount_mine}} for yourself was incorrect.
{% endifequal %} {% ifequal player.training_amount_other 0 %}Your answer {{player.training_amount_other}} for the other participant was correct.
{% else %}Your answer {{player.training_amount_other}} for the other participant was incorrect.
{% endifequal %}Suppose that you demanded 55 points and the other participant demanded 80 points. What would you and the other participant get respectively?
Solution: Both of you would get 0.
Explanation: The sum of your demands was 55+80=135, which was larger than 100. Hence both of you would get nothing.
{% next_button %}
{% include instructions %} {% endblock %}


{{#if winner}}
{{#if curPlayerWon}}
{{curPlayerName}} guessed the following solution and
won!!!
{{#each guessedCardSet}}
- {{this}}
{{/each}}
{{else}}
{{curPlayerName}} guessed a solution but failed.
{{#if youAreTheWinner}}
You are the last active player and therefore
won!!!
{{else}}
{{winner}} is the last active player therefore won!
{{/if}}
{{/if}}
The game is finished.
Close
{{else}}
{{curPlayerName}} guessed a solution but failed.
The game continues.
{{#if myTurn}}
Next turn
{{/if}}
{{/if}}


| Class name | Description |
|---|---|
| ExpressionStatemachine |
public class ExpressionStatemachine
|
| SimpleStatemachine |
public class SimpleStatemachine
|
| Statemachine |
abstract public class Statemachine
|
| StringBookmark |
public class StringBookmark
|
| StringWriter |
public class StringWriter
|
| TokenEnumerator |
public class TokenEnumerator
|
| TokenStatemachine |
public class TokenStatemachine
|


--- layout: post title: "Syntactic sugar for IO" description: "How to make use of the C# IO container less ugly." date: 2020-06-29 5:49 UTC tags: [Functional Programming] --- {% include JB/setup %}
{{ page.description }}
This article is part of an article series about the IO container in C#. In the previous article you saw a basic C# hello world program using IO<T>
to explicitly distinguish between pure functions and impure actions. The code wasn't as pretty as you could hope for. In this article, you'll see how to improve the aesthetics a bit.
The code isn't going to be perfect, but I think it'll be better.
The IO<T>
container is an imitation of the Haskell IO
type. In Haskell, IO
is a monad. This isn't a monad tutorial, and I hope that you're able to read the article without a deep understanding of monads. I only mention this because when you compose monadic values with each other, you'll sometimes have to write some 'noisy' code - even in Haskell. To alleviate that pain, Haskell offers syntactic sugar in the form of so-called do
notation.
Likewise, F# comes with computation expressions, which also gives you syntactic sugar over monads.
C#, too, comes with syntactic sugar over monads. This is query syntax, but it's not as powerful as Haskell do
notation or F# computation expressions. It's powerful enough, though, to enable you to improve the Main
method from the previous article:
static IO<Unit> Main(string[] args) { return from _ in Console.WriteLine("What's your name?") from name in Console.ReadLine() from now in Clock.GetLocalTime() let greeting = Greeter.Greet(now, name) from res in Console.WriteLine(greeting) select res; }
If you use C# query syntax at all, you may think of it as exclusively the realm of object-relational mapping, but in fact it works for any monad. There's no data access going on here - just the interleaving of pure and impure code (in an impureim sandwich, even).
For the above code to compile, you must add a pair of methods to the IO<T>
API. You can write them as extension methods if you like, but here I've written them as instance methods on IO<T>
.
When you have multiple from
keywords in the same query expression, you must supply a particular overload of SelectMany
. This is an oddity of the implementation of the query syntax language feature in C#. You don't have to do anything similar to that in F# or Haskell.
public IO<TResult> SelectMany<U, TResult>(Func<T, IO<U>> k, Func<T, U, TResult> s) { return SelectMany(x => k(x).SelectMany(y => new IO<TResult>(() => s(x, y)))); }
Once you've implemented such overloads a couple of times, they're more tedious than challenging to write. They always follow the same template. First use SelectMany
with k
, and then SelectMany
again with s
. The only marginally stimulating part of the implementation is figuring out how to wrap the return value from s
.
You're also going to need Select
as shown in the article about IO as a functor.
C#'s query syntax offers limited syntactic sugar over functors and monads. Compared with F# and Haskell, the syntax is odd and its functionality limited. The most galling lacuna is that you can't branch (e.g. use if
or switch
) inside query expressions.
The point of these articles is (still) not to endorse this style of programming. While the code I show in this article series is working C# code that runs and passes its tests, I'm pretending that all impure actions in C# return IO
results. To be clear, the Console
class this code interacts with isn't the Console class from the base class library. It's a class that pretends to be such a class from a parallel universe.
So far in these articles, you've seen how to compose impure actions with pure functions. What I haven't covered yet is the motivation for it all. We want the compiler to enforce the functional interaction law: a pure function shouldn't be able to invoke an impure action. That's the topic for the next article.


Ayodhya Verdict: Sunni Board distances itself from AIMPLB on filing review petition
The AIMPLB on Sunday said that SC verdict was 'self-contradictory' and that they would file a review petition.
by DECCAN CHRONICLENew Delhi: The Sunni Waqf Board has made it clear that it wants to stay away from All India Muslim Personal Law Board (AIMPLB)'s decision on the filing of a review petition on the Supreme Court (SC) verdict of the Ayodhya title suit.
Zufar Faruqi, chairman of the board, said that the waqf board would not file any review petition, news agency IANS reported.
''We had said on November 9 when the verdict was announced that we will accept the court decision. We are not going with AIMPLB on this issue,'' Faruqi said.
Faruqi further said that it is not clear to him why the AIMPLB was going in for a review petition.
"We had always said that we would accept the decision of the Supreme Court and we are following our stand,'' he said.
The AIMPLB on Sunday had said that the SC verdict was 'self-contradictory' and that they would file a review petition.
The parties who are going in for the review petition together are Haji Mehboob, Maulana Hizbullah and the two sons of late Haji Abdul Ahad (one of the first Muslim litigants), Haji Asad Ahmad and Hafiz Rizwan.
The Jamiat Ulama-i-Hind, another party to the dispute said it would file a review petition separately.
Catch the latest news, live coverage and in-depth analyses from India and World. Follow us on Facebook and Twitter.


Scroll Down
FAFA Hair Studio
Opening times
Monday
Open - 11:00
Close - 20:00
Tuesday
Open - 11:00
Close - 20:00
Wednesday
Open - 11:00
Close - 20:00
Thursday
Open - 11:00
Close - 20:00
Friday
Open - 11:00
Close - 20:00
Saturday
Open - 11:00
Close - 20:00
Sunday
Open - 11:00
Close - 20:00
Who we are
Welcome to FAFA Hair Studio
The hair stylist, FAFA, has been working in the field for sixteen year. She is talented at modifying overall image, and would be able to give helpful suggestions.
Please call us to book an appointment:<PHONE_NUMBER>
To check prices online, please visit https://fafahairstudio.setmore.com/
For photos please follow us on Instagram https://www.instagram.com/fafahairstudio/


Hello Valued Customer!
You have recently made a reservation with us. Please verify the follow details and click on the confirmation link. If you did not make a reservation with us or would like to cancel your reservation, please click on the cancellation link below.
| Reservation ID | $number |
| Name | $name |
| Phone | $phone |
| Party Size | $guests |
| Time | $time |
| Confirm | Cancel |
If the above buttons do not work, copy and paste or type in exactly the following links into a web browser.
Confirm: https://bready.xyz/reservation/whateter/stuff/
Cancel: https://bready.xyz/reservation/whateter/stuff/


Citadels of Hope: YMCA outreach workers in Chicago
There are two maps of Chicago. The one most of us see shows streets and neighborhoods. The other is an invisible web of gang territories that cover much of the city. For many youth in Chicago, it's only the second one that matters.
Mike Almore was out getting ice cream when he got the call.
A youth in the YMCA's Youth Safety and Violence Prevention program (YSVP) was in trouble. Fernando needed to get his passport from the post office which meant venturing into a rival gang's territory.
He'd covered up his facial tattoo, which could give him away as an opposition gang member, with a Band-Aid. Even still, he had seen teenagers he didn't know come out of a gangway, look at him and then disappear. Fernando was certain they were going to get more guys or a gun.
(Photo illustration)
He hoped Mike could get him out of the neighborhood before the boys returned.
Reported and written by: Adriana Cargill
Produced by: Kate Morrissey
Citadels of Hope: YMCA outreach workers in Chicago
There are two maps of Chicago. The one most of us see shows streets and neighborhoods. The other is an invisible web of gang territories that cover much of the city. For many youth in Chicago, it's only the second one that matters.
Mike Almore was out getting ice cream when he got the call.
A youth in the YMCA's Youth Safety and Violence Prevention Program (YSVP) was in trouble. Fernando needed to get his passport from the post office which meant venturing into a rival gang's territory.
He'd covered up his facial tattoo, which could give him away as an opposition gang member, with a Band-Aid. Even still, he had seen teenagers he didn't know come out of a gangway, look at him and then disappear. Fernando was certain they were going to get more guys or a gun.
He hoped Mike could get him out of the neighborhood before the boys returned.
Youth Safety and Violence Prevention Outreach Workers
This is not a job for the faint of heart. Mike Almore, John Vergara and Bobby Acuna are three outreach workers who wake up every day to work with youth who live and struggle to survive in violent communities. Community violence is often thought of as gang violence, but it also includes: sexual violence, domestic abuse, bullying, shootings in public places or anything that creates "warlike" conditions and psychological trauma.
In 2011, Chicago had an estimated 100,000 gang members in more than 70 gangs, making the Windy City the most gang-infested city in the country according to the Chicago Crime Commission's Gang Book released in 2012. The Chicago Police Department recovered an average of more than 13,000 guns a year in 2006, 2007, 2008, more than New York and Los Angeles combined for those same years, according to the same report. In 2012, Chicago had the highest murder rate in the nation, and has been in the top three cities with the most homicides since 1985, according to Pew Research Center.
The YMCA's Youth Safety and Violence Prevention Program, YSVP, headquartered in Pilsen, uses a holistic approach to violence prevention. The YSVP team believes that youth who are repeatedly exposed to traumatic stress are at risk for developing coping mechanisms like drug use, self-harm and gang involvement. They work with boys and girls ages 12-18 who come from low-income households predominantly from Chicago's South and West sides.
The YSVP has a staff of 21, along with an army of interns and veterans who carry out this mission. The different programs use a combination of peace circles, mentoring, parent teen cafes, art and sports programing to reach the youth.
What makes Almore, Vergara and Acuna able to positively impact the youth they work with is complicated. To do it successfully, they need to be not only dedicated and intuitive, but also resilient in the face of adversity. Youth expressed overwhelmingly how important it is to them that they can relate with these mentors. They're from the same or similar neighborhoods as the kids they work with. They have an intimate and often personal understanding of the challenges these youths face. They've struggled with many of the same challenges: being born to poor families, going to poor schools, living in very poor communities, where many of their friends overdose, are murdered, join gangs or go to prison. Women in these communities often have children at a very young age, continuing the cycle.
The YSVP Co-Executive Director Eddie Bocanegra says that sometimes people just lose hope.
"I think my best staff members here are the people who have suffered the most," Bocanegra says. "The question I have is what did they do with that suffering? That's where they've found much of their resiliency; in their own suffering. In the midst of those ashes they have come out of all that hardship to do this type of work."
Bocanegra believes that Almore, Vergara and Acuna embody a deep sense of hope. It's not just about relating and empathizing with these youth; it's their extraordinary resilience and drive in the face of adversity. Rather than drag the sins of their former lives like a ball and chain, they have chosen to take those same traumas and use them as weights to strengthen the communities they work in. They are citadels of hope.
Before the suspicious boys could return, Mike picked up Fernando and brought him back to the YMCA. The building has tinted windows so people passing by on the street can't see whose inside. It's doors are locked 24/7. This is a safe haven where youth from many different gangs can come and the YSVP has worked very hard to maintain that neutrality in the eyes of the gangs.
Mike says in the past, he has been in similar situations where he's had to run for his life.  This is just an everyday part of the job for these outreach workers.

Mike Almore
Mike Almore watches them toss the worn football back and forth across the Queen of Heaven Cemetery grounds. It's just outside of Chicago, and it's hot for a late spring morning. There's a cool breeze rolling in with a hint of rain on its tail. Mike sees a crowd gathering around one of the many graves. He walks over to find Danny staring down at the grave; his eyes tracing the lettering of his own first and last name. The man buried here is his father, who died of an overdose on Dec 29, 2011 when Danny was just 13 years old. That was four years ago and Danny hasn't been back to the cemetery since.
Jaime's a close family member of Danny and he comes over to look at the grave. Danny, Jaime and the group of boys with them are part of the Urban Warriors program. It's a program under YSVP that pairs post-9/11 veterans with youth who have already been exposed to the kind of violence that most people only see in wartime photos. According to the Co-Executive Director Eddie Bocanegra, it's the only program in the country where youth and veterans come together to focus on the impact of trauma.
The boys continued to play football in the cemetery as if they weren't there. And maybe that's because in their everyday lives they're closer to this place than they want to admit. Almost all the teenagers in Urban Warriors know a close friend or family member who is already under the ground.
"We're trying to do some tertiary intervention, some prevention," Mike says. "I just wanna catch them before they get to the cemetery."
Mike has been an outreach worker at the YSVP for just under a year, but before that he worked in a graveyard for about seven years. He quickly became desensitized to death, preferring not to know anything about the people he was burying until the day came when he buried someone and nobody came to the burial ceremony. Nobody came in the following days or weeks either to bring flowers or visit the grave.

So he started counting the people he buried; about six to seven bodies a day, five days a week for almost seven years. He also tried to find out something about their lives.
Mike's experiences working in a graveyard didn't kill his sense of humor. He cracks jokes all the time. He'd return home from work at the cemetery and his girlfriend would ask "how was work today?" "Dead" he would reply or "people are dying to get in where I work!" Even though he liked how peaceful it was working there, he felt like he was meant to do something else. While still at the graveyard he began mentoring Jaime.
Mike, 42, lives in the six-flat apartment building in Pilsen where he was born and raised. His family owns the building and he remembers when Jaime and his mom moved into one of the apartments.  Kids in the neighborhood used to bully him. His older brother joined a gang and later overdosed. Little by little, Jaime started hanging out with a rough crowd. Mike tried to warn him, telling him about his own experiences in a gang and his brother Caid Almore's story.
Mike describes Caid as a "hardcore gangbanger" who lived "hard" and had a reputation for bravado. For the three years before his murder, the family slept on pins and needles. When they would hear a siren or an ambulance go by in the middle of the night, they'd wake up thinking "is that Caid?" and if it slowed down Mike would get out of bed to see if it was him. Then one day in 2004 the phone call came. It was five in the morning and Mike just let the phone ring. His girlfriend urged him to pick it up saying it "might be important."
He told her he already knew who it was. After the phone stopped ringing he listened to the voice mail; it was his older brother Brooks Dino Almore telling him to call him immediately.
"Hello?" said Dino.
"How is he?" said Mike.
"He's dead," Dino said. Mike dropped the phone and started crying.
And the worst part was their mother didn't know yet. Mike asked himself, "How do you tell your mother her son's dead?" Caid had been found shot to death in between two cars in the street a few blocks from their house. Dino and Mike went over to their mother's apartment to deliver the heartbreaking news.
"When I heard my mom howl like that, it was from the gut...
Mike says preventing other mothers from going through what his mom did is a large part of why he works as an outreach worker. Another part of him also feels guilty for Caid's death. He thinks he and his older brother, Dino, set a bad example by both joining gangs. Caid was a little brother following in his big brother's footsteps.
Mike joined a gang when was about 13 years old. Five years later, he was standing watch at about 1 in the morning on Racine Avenue. He was leaning on a stop sign when he heard a shot ring out and then a "ping!" as the bullet hit the pole. Mike says he actually saw another bullet come past his head and hit the pole and then ricochet the other way. He dropped to the ground and after the shooting stopped he got up and wiped himself off. Back on his feet he was shaking, thinking to himself: "that could have been it."
At 6 feet 3 inches and 250 pounds, Mike was a large target leaning on a thin pole. He believes to this day that it was divine intervention that saved his life. God was trying to tell him he was meant to do more than live the street life. That night he made up his mind to leave the gang.  In Mike's case, he could have chosen among shooting someone, paying a large sum of money or being beaten by everyone in the gang without being allowed to defend himself. He chose the beating. Because he was a loyal gang member, it only lasted 2 minutes. Often, beatings last the length of time it takes for a cigarette to burn down - which can be eternity.
"At this age, he took those stories as something he wanted to experience himself. And that's part of the danger of actually sharing some of these stories with the youth," Mike said with a sigh. Outreach workers often share their personal stories to relate with their youth and teach them what not to do. But despite Mike's discouragement, Jaime has joined a gang. Youth join gangs for many different and often complex reasons, making it hard to determine what 'turns' them (as it's called when someone joins a gang), Mike says.
Jaime's mother, was so upset she used to walk the streets late at night looking for him. Mike has since persuaded her to stop by telling her it's dangerous to be on the streets that late and that she won't find him. Even worse, she might see something she shouldn't, which could endanger her and Jaime.
Now she stays home.
Mike sometimes gets calls late at night from parents of youth in the program who can't find their kids. Sometimes the youth themselves will call and ask him to pick them up if it's an emergency. For Mike, this work is redemption for his own past. He took a pay cut to be able to work with kids full-time.
"I'm mostly doing it because I have a lot of regrets from back then and if I could save someone, one kid not to have some of these regrets, then I'll die happy."
Until kids in 8 to 10 years come back and tell him that they've made the right choices because of him, he will continue to think he hasn't done enough, he says. Mike used to go where his brother was murdered and read to him every year on his birthday. But recently he has stopped going. He says if he keeps going to that place then Caid's spirit will keep coming back there too, and Mike wants him to be free.
Amid the tombstones the mood of the group has become palpably more somber. The football is nowhere to be found. The boys' faces are sullen and they're nervously shifting back and forth, avoiding eye contact with the veterans and outreach workers. The group is reflecting on how they cope with grief and loss. They've also been asked to think about how they want to be remembered when they die. It starts to sprinkle big drops of rain that burst when they hit the graves. Eddie says the way he copes with his grief and honors those he has lost is by working with youth.
Some 45 percent of homicides in Chicago are related to gang altercations or narcotics according to a University of Chicago Crime Lab report. In the report, 90 percent of all homicide offenders and nearly three-quarters of homicide victims have prior arrest records suggesting involvement with gangs, drugs or other illegal activities. Mike got Jaime into the Urban Warrior program but now his mother says she's sending him to live with her sister in Florida for a month or two. Now that Jaime's in a gang, his chances of suffering the same fate as Caid Almore have increased considerably.
Bobby Acuna's hands are folded in prayer. His face is freshly shaven, peaceful and calm as Pastor Steve Drapala recites a prayer before the service begins. He and the other three ministers are nestled between a set of lockers in the long hallway of Richard T. Crane Medical Preparatory High School on Chicago's Near West Side. Victory Outreach International is an Evangelical Pentecostal church that holds a Sunday service here every week.   The 'I E' or "Inland Empire" refers to San Bernardino County in Southern California where he was a gang member for 29 years.
When the prayer is over, the ministers jump into action and split in different directions to take their places. Bobby walks briskly into the vast gymnasium and as he turns the corner an explosion of singing and light erupt from the ad hoc church. In between the basketball hoops, there are rows of folding chairs, a stage with royal blue satin backdrop and a translucent pulpit. Men and women onstage are singing "Healer, Savior risen from the grave your name is Jesus." The song blasts out of a massive sound system in the back of the room.
Victory Outreach evangelizes to the world's prostitutes, convicts, drug addicts and gang members. The church tries to help those whom many in society has given up on. Bobby feels at home here, surrounded by people with similar pasts. At the end of the service the evangelist will infuse members of the congregation with the Holy Spirit and send them unconscious and convulsing to the floor.
For the moment, Bobby takes his place in the front and immediately raises his hands and begins to sing. He's dressed sharply in a black suit with a paisley maroon tie and shiny leather shoes. Shortly after the service begins, Daniel Rios sits down next to Bobby. At 15 years old, he's a pinch taller than his mentor but his rosy cheeks give him away as a teenager.
Before Daniel met Bobby he said his mentors were gang members in the streets. He says his dad isn't really there for him because he drinks a lot and is always with his friends. Daniel was referred to the YMCA by his school because of behavioral issues. When Daniel first met Bobby, he didn't know what to make of him.
"He was telling me he was a man of God, but it was kind of confusing when he had all those tattoos on him," Daniel said. "I never seen a man with so many tattoos at a church."
Daniel is from Little Village and, at 14, he had never been downtown; he hadn't even left his neighborhood. To do that, he would have had to cross into rival gang territory. Although Daniel has never been in a gang, he knew he would be unprotected if he ventured into neighborhoods where the gangs didn't know him. At 15 years old, he took his first trip downtown in the YSVP van. He went to Navy Pier, rode the Ferris wheel and went into the house of mirrors. He says it was "pretty fun."
Daniel volunteers at church helping with security because it makes him feel more a part of the community. Bobby encourages him, and he's always there if Daniel needs him. Daniel says he never used to think about the future, but since Bobby became part of his life he sees himself being a leader and wants to be the CEO of a company someday.
Co-Executive Director Eddie Bocanegra says that more than 200 people applied for Bobby's position. But Bobby was by far the most impressive. He's been at the YMCA since September 2014. Eddie says he's an "all-star" and that some of the kids who have already completed the program continue to seek Bobby out as their mentor long after they have graduated. Eddie says what Bobby lacks in formal education (he doesn't have high school degree), he makes up for with his unique set of skills. He's able to help youth navigate through the challenges they face such as gangs life, substance abuse, domestic violence, or street violence better than any Ph.D. could ever do, Eddie says.
At 48 years old, Bobby's life now is in stark contrast to the story of his past he tells. When he was in fourth grade, he says his mother's brother, Alberto Rodriguez, tried to kill his father, Jesus Cruz Acuna, to stop him from beating Bobby's mother. One night, Rodriguez shot his father twice in the back and left him for dead. But Bobby's dad got up and instead of going to the hospital, he went to the bar, Bobby says. That night, Bobby slept in the church parking lot with his mom and six siblings. The next morning they moved to Barstow, California, where he says he grew up angry and fatherless.
At 10 he joined a gang. At 15, he says he was sentenced to a year in the Optimist Home For Boys in Los Angeles for the first time. The charge was inciting mayhem after he and a few friends drunkenly beat and repeatedly stabbed another youth. They chose their victim at random; Bobby had just gotten his first switchblade knife that day, and he was eager to use it.
When Bobby was young, he didn't have a positive mentor like Daniel has now. Instead, he looked up to his uncle, David Rodriguez, a gang member who taught him the ways of the streets. At 23, he says all he knew was how to gangbang.  He was miserable and blamed his uncle David for making him that way. By 2004, he was on the High Desert's Most Wanted list by the California Department of Corrections.
Bobby's transformative moment came in Chino State Prison when he was 39 years old. Bobby describes the moment this way:
Bobby and a fellow inmate were sent to a two-man cell after fighting in the mess hall. He and the other inmate were friends but from different gangs. In that cellblock, the guards pass by every hour. As soon as the guards passed, it became clear to Bobby that his cellmate was going to attack him.
The whole tier of the cellblock knew what was about to happen and as was customary they began to sing 'happy birthday' really loud to cover up any screams for help during the fight. The assault was no surprise to Bobby, who had known tensions were boiling up against him within the gang world.
The assault was fast and brutal. When the guards came by an hour later the cell was covered in blood and Bobby had his assailant pinned to the ground. After the guards took them both from the cell, Bobby was sent back with a mop and bucket to clean the blood off the walls and floors.
It was a dark time in his in life; he had become disillusioned with the gang life and power struggles within the gang world left him unable to trust his friends or even his wife. He realized if he had killed his assailant, he would've spent life in prison for murder, even though he was just defending himself; surviving. He felt so frustrated and alone.
It was in this moment that Bobby decided he'd had enough.
After he was released from prison in 2007, he knew he couldn't just start life over after 29 years in the gang. He needed help. So he decided to spend a year at Victory Outreach's Christian Recovery Home in Helendale, California. It's a men's rehabilitative center where they attend services and study the Bible every day. He accepted Jesus Christ as his personal Savior and decided to devote his life to spreading the word of God.
Pastor Rick Alanis recognized Bobby's passion for their church and expertise with gang members as assets for the church's expansion in Chicago. It's extremely difficult and often dangerous for an outsider to come into a gang's territory and gain permission from the gang's leaders to work with neighborhood youth. But Bobby did it. Bobby arrived in Little Village in September 2011 intending to stay only three months. He's been here over three years now, and he says he just couldn't desert the youth he met.
After a while Eddie began to hear about a guy from California who'd moved to Little Village and was preaching to gang members in the neighbhorhood. Eventually, they met, and Eddie spent a few years watching Bobby's devotion to helping youth. "When I spoke to him, I could sense that there was conviction," Eddie said. "There was atonement."
Bobby was engaged to be married in California but delayed the wedding because he felt he had found his calling to work with youth. Almost four years passed before he got married in May 2015. After their wedding, his wife moved to Chicago. Bobby lives for his youth. He makes himself available 24 hours a day seven days a week for them. Bobby doesn't hide from his past, nor does he wear it as a badge of honor.
Sometimes he thinks about his own eight children; all but his 16-year-old son Adrian Acuna are adults now. When he spends time with the YSVP youth he wonders what it would have been like to be there for them in the way he is for the youth he works with now. In those days, he was in prison or on the corner instead of being with them. Today, Daniel goes to Church with Bobby and Adrian every week.
Daniel says Bobby has brought hope to his life. He and his brother joined the church and now they're bringing their friends to the YMCA. When asked what lesson Daniel has learned from Bobby, he replied without hesitation: You're never alone.
John Vergara
John Vergara wakes up thinking about art. He goes to sleep thinking about art. On Tuesday and Thursday evenings he runs an art class for youth in YSVP and today the teens are running about an hour late.
Three boys arrive earlier than the rest and they help him get the classroom ready by grabbing paints and brushes from the storage cabinet. They're antsy and impatient, endlessly munching on chips and snacks John keeps stocked in his office.  When the other kids arrive you can hear them halfway down the hall, bursting with energy. They're eight-graders in their final weeks of middle school. But when John talks, they listen.
John, 42, is a big man, about 6'4" and 300 pounds, with tattoos covering most of his chest, stomach, back, arms and neck. Most of his tattoos are relics of his 20-something years in a gang in his native Humboldt Park neighborhood. He used to have tear drops on his face and lettering on his knuckles. But he's begun to remove them because he says they no longer represent who he is.
At about 9 years old, he witnessed his first murder. He describes the moment like this: It was a warm evening, maybe 8 o'clock, and he, a friend and a cousin around his age were walking past the intersection of Le Moyne Street and Lawndale Avenue. He saw an older, tall, skinny white boy whose nickname was Stoner.
"Hey, Stoner, be careful," John called out. Stoner had on Chuck Taylor's with pink and black laces, the colors of his gang. But he was in opposition territory. John lingered a moment and watched Stoner walk away from him underneath the train bridge. Suddenly he heard shots ring out; and saw the silhouette of someone standing on top of the bridge. This particular stretch of railroad tracks was infamous in the 1980s. It was known as "Sniper's highway" because of the number of shootings that occurred there.
John saw Stoner drop to the ground and he ran over with his companions. One of them tried to turn Stoner on his side, but as he did his jaw fell off into the growing pool of blood, John recalls.
John says he's sure it messed him up a little but "Death was just a part of life. What's that phrase?
Almost everyone John knew growing up was in a gang.  He says his gang used to have guys with guns on the roofs of buildings protecting their territory while other gang members sold drugs like cocaine, marijuana or wikisticks (joints dipped in embalming fluid).
John ended up in and out of prison for most of his life but, through it all John still created art. "Drawing kept me alive, that's how I survived in there [jail] and that's how I survived out here."
When he was released in 2005, he was still in the gang. It didn't happen in a single moment but a gradual realization had been taking hold over months and years. He didn't want to spend more time in prison. He was sick of sleeping with one eye open.  He had a son and he wanted to raise him right, so he didn't the same mistakes his dad had made. And he didn't want to see any more death. John had had enough tragedy and pain.
He decided to quit the gang. He had to isolate himself from almost everyone he had ever known at 32 years old.
He says it was tough for him to get a job because of his criminal record and his gang tattoos. He began selling his drawings to make ends meet. Through sheer determination, little by little he started making more money with his art and creating a new life for himself. John takes pride that around the neighborhood, instead of being known as "John the ex-gang member" he's known as "John the artist."
Today, John has a book of obituaries, with 78 names in total, of friends and family he's lost. Most of them have been killed to gang violence. The book's full, but he couldn't bear to start another one so just stopped collecting obituaries. His nails are chewed way past the tips of his fingers, halfway up their beds. It's one clue as to how heavy all this death weighs on him.
He's now a well-known muralist and a familiar artist in the galleries around the city. Eddie Bocanegra first saw John's artwork at Northeastern University when he was taking an evening class. Eddie was immediately struck by John's talent. A security guard at the university put them in touch. The two stayed in contact and when a position opened, Eddie hired him at the YSVP in October 2014.
John's main objective as an outreach worker is mentoring and case management but Eddie says they're fortunate to be able to leverage his set of art skills to engage their kids more creatively.
John has since started an art program at the McCormick Tribune YMCA in Logan Square. He spends a lot of time with the kids making art but in the process he tries to teach them life skills and prevent them for making the same mistakes he did. When John talks they listen.
"He tells us to do better, like when we're driving he shows us like some kids that be standing on the corner; I don't want to come out like all those other people," Jashua says. "Why would I want to risk my life for something dumb?"
Many of the kids John works with are from the same neighborhood where he grew up and now face many of the challenges he did—violence, substance abuse and poverty. Jashua hangs out on the same block, Maplewood and Division streets, that John did when he was in a gang. But he's mostly there because his best friend, who is also in John's art class, lives there. He wants to go to college and become a chef or a lawyer. Kids in his program say they can relate to John because he was once in their shoes and they trust his advice because he's already lived the gang life.
Jashua says he used to hang out with the wrong crowd when he was younger. At about 8 years old, he witnessed his first murder—about the same age as John was.
He knew that crowd through his cousin, who is now in prison. He says he doesn't want to end up in jail because he heard the food is bad, which would be tough on any aspiring chef.
"Most of the time he's there, sometimes he's, like, busy with the YMCA stuff, he don't pick up but he'll text. Or call back," Jashua says. Jashua's father isn't in his life. "I've never had a role model in my life so...he is one," he says squirming in his chair and blushing with a big smile.
John says the kids in his art program know there are consequences to their decisions, and some of them are going to have to learn from their own mistakes like he did. But if he can help it, they won't make the same mistakes he did.
"It makes me feel good, it's hard to explain. It's like, that's what was missing from my life working it kids... . I get to teach them right and wrong." John says. "I get to mentor these kids and watch them grow and it's a lot of fun."
John says he finally found his life's calling: helping people and doing art. But he often goes home from work feeling drained and exhausted. It's not because he's physically working hard, but because sometimes hearing the kids' stories is really hard for him.
"Yeah, I take it home with me because a lot of things that they say, I've been through and it's like damn; it kind of hits home. I remember going through that, seeing my mother being abused, my friend get shot, etc." It's a constant reminder of his past.
To cope, he often gets a coffee by himself or listens to music in an effort to clear his mind. But most of the time he just gets out his sketchbook and draws or paints.
As he erases the gang art tattooed to his body, he says it's starting to make him a little sad. He's afraid the memories that these tattoos represent will fade with them. But he is coming to peace with that.


Toggle navigation
Ballarat Minute
Home
Use Current Location
Results
Walk
Cycle
minutes
Loading Data...
Loading Data


We relay on our grid!

We can't wrap by ourselves :(


1836 Kentucky Street | Albuquerque, NM 87110<PHONE_NUMBER> |<EMAIL_ADDRESS>Focused Web Developer and Front End Designer after 6 years of experience in Environmental Science, I have decided to pursue my true passion of programming and bridged the two areas by completing STEMulus programming boot camp.
Bachelor of Science Degree, Environmental Sciences, Minor in Sustainability | University of New Mexico | 2013
Deep Dive Coding Boot Camp Certification of Completion | CNM Stemulus Center | 2016 Completed a 10-week web development boot camp on the fundamentals, languages, tools, and techniques utilized for building high-quality websites, software, and applications.
Programming Languages (HTML, JavaScript, jQuery, MySQL, CSS, PHP 5.6 and 7, OOP, Angular, and Bootstrap)
Web Servers (LAMP stack)
Test Environments (PHP unit testing)
GitHub collaboration and version control tools
Agile Development Methodology
Web-based tools and applications
Computer-aided design (AutoCAD)
Sales tracking and customer management (Salesforce)
Windows and Mac/Apple Operating Systems
Microsoft Office Suite (Outlook, Word, Excel, PowerPoint, and Access)
Responsive and interactive front end development
• Used AutoCAD to create and design solar systems for customers.
• Used Photoshop to edit photos taken during surveys of the home.
• Used company VPN to access database of customers to upload and edit job files.
• Used cutting edge technology to track shade patters and the path of the sun to calculate amount of sun each part of the house gets throughout the year.
• Performed load calculations for the electrical hook up of the solar system.
• Performed load calculations for how much weight the roof of a home could support
• Used SolarEye to create and design solar systems for customers.
• Used company VPN to access database of customers to upload and edit job files.
• Performed load calculations for the electrical hook up of the solar system.
• Processed loans.
• Tracked leads, current clients, and past clients in company’s Salesforce CRM.
• Created, maintained, and updated client information in Salesforce and also created files and uploaded all pertinent loan documentation.
• Created loan documents and pushed them through docUsign for customers to be able to read, review and sign loan documentation.
Participated in treatments and assisted with billing, filing, scheduling, and patient correspondence.
• Managed databases that contained sensitive healthcare provider information.
• Created files for new incoming healthcare providers.
• Assisted in the migration from paper files to an electronic file system for all healthcare providers at UNMH.


Justice league
Fueled by his restored faith in humanity and inspired by Superman's selfless act, Bruce Wayne returns. He enlists the
support of a new ally, Diana Prince, to fight an even more powerful enemy. Batman and Wonder Woman quickly recruit a team
of superhumans to fight the awakened threat. But despite the unique composition of the superhero squad-Batman, Wonder Woman,
Aquaman, Cyborg and Flash-perhaps to save the planet from an invasion of catastrophic proportions is too late.


The HTML <template> element is a mechanism for holding client-side content that is not to be rendered when a page is loaded but may subsequently be instantiated during runtime using JavaScript.
Use the <template> tag and set it an id in order to reference it later


You can save significant amounts of time by developing some web applications by using Meteor instead of Ruby on Rails, but it doesn’t come without drawbacks. Here are some of the ones that I’ve encountered: What are the disadvantages of using Meteor compared to Ruby on Rails?
Immature Environment: The biggest problem right now is that Meteor is new. Pretty much brand new, in the scope of web development. It’s not even version 1.0 yet, though it’s getting close. This means that it doesn’t have as many users, as many tutorials, as many books, as many screencasts. It can be hard if you run into a problem that no one else has run into yet, so you’ll need to be willing to dig into it a bit yourself. I’ve been there, and fortunately Meteor’s codebase is fairly cleanly written (especially compared to Rails and AngularJS, two other frameworks whose code I’ve read).
Not Widely Supported: Another consequence of being so new is that there aren’t as many hosting services available for Meteor apps yet. It is possible to deploy Meteor on Heroku, and in my experience it works well, though it feels very raw.
Nothing but JavaScript: You must run JavaScript (or Coffeescript) on the server side. This isn’t a big deal for me, but JS is definitely far from the first language I would choose to work with. The upside is that you can run the same code on the server and the browser, without worrying about having to cross-compile from another language.
Only MongoDB: As of now, the only supported database is MongoDB. They have plans to expand this in the future.
Rapidly Changing: The Meteor API is rapidly changing, so each new minor version may bring breaking changes. This is expected to lessen as it reaches 1.0.
Testing Frameworks: Testing frameworks haven’t been a high priority since the beginning, and the ones available so far have tended to be cumbersome and brittle. The community is working on solutions, but nothing stable has yet emerged, and the testing culture is nothing like the Ruby on Rails community’s.
While there are many disadvantages, I feel like the advantages heavily outweigh them (usually). But the list of advantages is for another post entirely!
What are some other disadvantages you can think of? Email me or leave a comment!


Antowan J. "AJ" Hallmon Jr.
Madison - Antowan "AJ" Jermaine Hallmon Jr., age 28, passed away unexpectedly at his home on Sunday, November 3, 2019. He was born on March 31, 1991 in Madison, the son of Antowan J. Hallmon Sr. and Leushunder Turner.
In 2009, AJ graduated from Madison La Follette High School and worked at Madison Kipp Corporation. He loved football, basketball and music. AJ had a beautiful spirit and a loving soul. He accepted Christ at a young age and he loved hard and unconditionally. AJ was truly a joyful giver and he gave without measure.
He is survived by his mother; Leushunder Turner, father; Antowan J. (Ramona) Hallmon Sr., brother; Dominick Landphier, grandmother; Annette Turner and a host of aunties, uncles, cousins, other loving family and many friends.
AJ was preceded in death by his grandmother; Adrianne Denise Hallmon.
Funeral services will be held at CRESS FUNERAL & CREMATION SERVICE, 3325 East Washington Avenue, Madison on Saturday, November 16, 2019 at 10:00 am.
A visitation will be held at the funeral home on Saturday from 9:00 am until the time of service at 10:00 am. Graveside services will follow at Forest Hill Cemetery, Madison, WI.
AJ was truly a man after God's own Heart.
Cress Funeral & Cremation Service
3325 E. Washington Avenue, Madison
608-249-6666


about total management?
Total management is is afree, tables,W3C-compliant web design layout by Template World.This teplate has been tested and proven compatible with all major browser environments and operating system.You are free to modify the design to suit yourtastes in any way you like.We only ask you to not remove "Design by template world" and the link htttp:/www.templateworld.com from the footer of the template.
If you are interested in seeing more of our free web template designs feel free to visit our website, Template world.We intend to add at last 25 new free templates in the commiing month.


The Lean CLI supports local live trading with all brokerages supported by LEAN, which makes the transfer from backtesting to live trading as seamless as possible. This page contains instructions on how to start local live trading for all the brokerages supported by LEAN.
Follow these steps to start local live trading:
lean init
in.lean.json
file in a text editor.lean.json
file to include the live environment settings required for your brokerage. See the table of contents on the right for quick links to the required settings of each brokerage. Before you add a new environment or configuration property, ensure that there doesn't already exist one with the same name.lean.json
file.lean init
in.lean live <project name> <environment name>
to start local live trading for the project in ./<project name>
using the environment named <environment name>
in your lean.json
file.
$ lean live "My Project" live-interactive 20210324 00:41:53.742 TRACE:: Engine.Main(): LEAN ALGORITHMIC TRADING ENGINE v<IP_ADDRESS> Mode: DEBUG (64bit) 20210324 00:41:53.748 TRACE:: Engine.Main(): Started 12:41 AM 20210324 00:42:00.969 TRACE:: InteractiveBrokersBrokerage.InteractiveBrokersBrokerage(): Starting IB Automater...
<project>/live/<timestamp>
directory.
Results are stored in real-time in JSON format.
You can save results to a different directory by providing the --output <path>
option in step 6.


These are some of the group members who have chosen to lead a meeting over the last three months.
{% comment %}First loop captures leaders from the last three months {% endcomment %} {% for post in site.posts %} {% capture postDateSeconds %}{{post.date | date: "%s"}}{% endcapture %} {% capture siteTimeMinusTwelveWeeks %}{{site.time | date: "%s" | minus: 7260000}} {% endcapture %} {% if postDateSeconds >= siteTimeMinusTwelveWeeks and post.date <= site.time and post.leader != "Martin" %} {% capture leaders %}{{ leaders | append: post.leader | append: "," }}{% endcapture %} {% endif %} {% endfor %} {% comment %}Split the captured loop into its own array {% endcomment %} {% assign leaders_array = leaders | split: "," %} {% comment %} initialise a new array for dedupped list{% endcomment %} {% assign dedupped_leaders = "" %} {% comment %} if the leaders name is in the new array already remove it. Then add the name. This makes sure the name is on the list just once. {% endcomment %} {% for l in leaders_array %} {% if dedupped_leaders contains l %} {% assign leader_and_comma = l | append: "," %} {% capture dedupped_leaders %}{{dedupped_leaders | remove_first: leader_and_comma }}{% endcapture %} {% endif %} {% capture dedupped_leaders %}{{dedupped_leaders | append: l | append: ","}}{% endcapture %} {% endfor %} {% comment %}Split the captured loop into its own array {% endcomment %} {% assign dedupped_leaders_array = dedupped_leaders | split: "," %} {% for dedupped_leader in dedupped_leaders_array %} {% assign leader = site.data.leaders[dedupped_leader] %} {% if leader.bio %} {% include authorbio.html %} {% endif %} {% endfor %}


HTML
- Hypertext Markup Language
- It defines the structure of your webpage
- what goes where
- use tags to describe the elements of your webpage
How is your webpage read by your browser?
- Request
- Response
- Build
- Render
Client - web browser
server - holds your HTML pages for you
Client requests, server responds, client downloads needed resources to display webpage, client builds webpage
Click here for more info
What version of HTML are we working with?
HTML5, The living standard, features get added to it
Who's in charge of this living standard?
WHATWG: Web Hypertext Application Technology Working Group
Which broswers support HTML5?
Click here to find out
Some Common Elements:
This is a div tag, generic block element
It takes some vertical space
generic inline element, does not take vertical space
Exists side by side with other elements if space permits
Difference between head, header and heading
Head tag encapsulates meta information about your html resource
The header is a semantic element that describes a header
The heading is a way of formatting how things are presented, like a paragraph heading, has levels
Level 1
Level 2
Level 3
Level 4
Level 5
Level 6
Why even use header element?
We don't use tags to make words appear bolder or italicized because HTML shouldn't describe how things look; just what they are.
Presenting a collection of stuff to end user
Lists
- This is an ordered list
- Notice the numbers
- This is unordered
- Notice the lack of numbers
Tables
| Name |
Favorite Color |
| Marielle |
Green |
| Pushpinder |
Red |
Except red qcs |
Attributes
Some tags like the img tag use attributes to define the value of what they're presenting ( img src="where the image is located")
href attribute of the anchor tag, tells you where the anchor tag leads.
you can also use them to identify your elements
Ways to identify an element using attributes
-
ID- unique way to identify an element
-
Class- way to identify multiple elements
You need to identify them to be able to know where to apply certain rules in CSS or behavior in JS
Then again you don't need these stuff to apply style in elements
you can always use the style attribute
using the style attribute i have changed the font color of this paragraph
Common QC Q: What's the diff between style tag and style attribute?
CSS
We use Cascading Style Sheets (CSS) to apply styles to web pages
Ways to include CSS in your HTML
-
Inline
-
using the style attribute
-
Internal
-
uses style tag found in head
-
External
-
Uses a totally separate .css file
-
referenced in head
-
Best practice for separation of concerns
Selectors
We apply styles using rules in CSS. Rules are a key value pair of what element property to style, and the style that should be applied.
For example, the rule, color:yellow, changes the font color of the selected element to yellow. Selectors are used to group these rules together.
Using selectors, we can define a set of style rules for a certain group of elements.
From the HTML side, we identify elements using ID, and classes
So how do we identify elements on the CSS side?
We use selectors!
Tag/Element
-
uses tag name to identify the element
-
this will affect all elements with that tag name
Class
-
uses the class name
-
denoted by .classname
ID
- Uses unique id
- denoted by #id
Pseudo-class
-
specific keyword at the end of the selector used
to style elements when it is at a certain state
-
:active, :hover, etc..
Pseudo-element
-
used to style specific parts of an element
- insert content before or after an element
- style first letter or line of an element
- ::before, ::after, ::firstline, ::firstletter
Child Descendant (research)
Sibling (research)
Attribute selectors: (research)
hint: it's like pattern matching but for CSS
Multiple selectors
- use comma to separate the selectors
- example: li, div, p { style rule here; }
Wild Card (*)
- Style all
-
* {
style rule here;
}
Order selectors are chosen for styling are dependent on:
-
Importance
- adding !important to a rule ensures that the style always gets applied
- only another !important can be more important
-
Specificity
- Measure of how specific selector is
- Order(Most specific to least specific)
- Inline
- ID
- Class/attribute/pseudo-class
- element/pseudo-element
-
Source order
-
Order in which the selectors/stylesheets were declared
-
The later wins!
-
Matters if CSS rules conflict
Responsive Web Design
Some questions that keep you up at night as a web developer:
-
If I resize my screen, will my webapp render properly?
-
Will end users still be able to make sense of the resulting reorganization due to minimizing/maximizing the screen?
-
Will there be horizontal scrolling?
-
How will my page adapt if accessed from different devices?
-
Did I do anything to address these concerns???
These questions come up when you're trying to design a responsive web page. Responsive web design
is all about designing pages so they render well on any window.
And, if you're really good at CSS you can address these concerns by yourself.
But why should you?


|
DistributedRobotWorld
|
#include <RobotShape.hpp>
Public Member Functions | |
| RobotShape (Model::RobotPtr aRobot) | |
| virtual | ~RobotShape () |
| virtual std::string | getNormalColour () const |
| virtual std::string | getSelectionColour () const |
| virtual std::string | getActivationColour () const |
| virtual void | handleActivated () |
| virtual void | handleSelection () |
| void | setRobotWorldCanvas (RobotWorldCanvas *aRobotWorldCanvas) |
Type safe accessors and mutators | |
| Model::RobotPtr | getRobot () const |
| void | setRobot (Model::RobotPtr aRobot) |
Observer functions | |
| virtual void | handleNotification () |
Pure virtual abstract Shape functions | |
| virtual void | draw (wxDC &dc) |
| virtual bool | occupies (const Point &aPoint) const |
| virtual void | setCentre (const Point &aPoint) |
Debug functions | |
| virtual std::string | asString () const |
| virtual std::string | asDebugString () const |
| Public Member Functions inherited from View::RectangleShape | |
| RectangleShape (const std::string &aTitle="") | |
| RectangleShape (const Point &aCentrePoint, const std::string &aTitle="", int aBorderWidth=2, int aSpacing=2) | |
| RectangleShape (Model::ModelObjectPtr aModelObject, const Point &aCentrePoint, const std::string &aTitle="", int aBorderWidth=2, int aSpacing=2) | |
| ~RectangleShape () | |
| RectangleShape & | operator= (const RectangleShape &aRectangleShape) |
| virtual bool | isBorderPoint (const Point aPoint, int aRadius=3) const |
| virtual Point | getCentre () const |
| std::string | getTitle () const |
| void | setTitle (const std::string &aTitle) |
| virtual Size | getSize () const |
| virtual void | setSize (const Size &aSize) |
| int | getBorderWidth () const |
| void | setBorderWidth (int aBorderWidth) |
| int | getSpacing () const |
| void | setSpacing (int aSpacing) |
| Public Member Functions inherited from View::Shape | |
| Shape () | |
| Shape (Model::ModelObjectPtr aModelObject) | |
| virtual | ~Shape () |
| virtual void | handleBeginLeftDrag () |
| virtual void | handleEndDrag () |
| ShapeData * | getData () const |
| void | setData (ShapeData *aData) |
| bool | isSelected () const |
| void | setSelected (bool aSelected=true) |
| virtual void | setSelectedAt (const Point &aPoint=DefaultPosition, bool aSelected=true) |
| virtual Point | getSelectedPoint () const |
| Public Member Functions inherited from View::ViewObject | |
| ViewObject () | |
| ViewObject (Model::ModelObjectPtr aModelObject) | |
| virtual | ~ViewObject () |
| const Base::ObjectId & | getObjectId () const |
| Model::ModelObjectPtr | getModelObject () const |
| void | setModelObject (Model::ModelObjectPtr aModelObject) |
| Public Member Functions inherited from Base::Observer | |
| Observer () | |
| virtual | ~Observer () |
| bool | operator== (const Observer &aObserver) const |
| bool | operator< (const Observer &aObserver) const |
| virtual void | handleNotificationsFor (Notifier &aNotifier) |
| virtual void | stopHandlingNotificationsFor (Notifier &aNotifier) |
Additional Inherited Members | |
| Protected Member Functions inherited from View::ViewObject | |
| virtual void | rebindModelObject (Model::ModelObjectPtr aModelObject) |
| Protected Attributes inherited from View::RectangleShape | |
| Point | centre |
| Size | size |
| std::string | title |
| Size | titleSize |
| int | borderWidth |
| int | spacing |
| View::RobotShape::RobotShape | ( | Model::RobotPtr | aRobot | ) |
|
virtual |
|
virtual |
Returns a description of the object with all data of the object usable for debugging
Reimplemented from View::RectangleShape.
|
virtual |
Returns a 1-line description of the object
Reimplemented from View::RectangleShape.
|
virtual |
|
inlinevirtual |
Reimplemented from View::RectangleShape.
|
inlinevirtual |
| Model::RobotPtr View::RobotShape::getRobot | ( | ) | const |
Type safe accessor
|
inlinevirtual |
|
virtual |
This function is called by the RobotWorldCanvas if enableActivation is set.
Reimplemented from View::RectangleShape.
|
virtual |
A Notifier will call this function if this Observer will handle the notifications of that Notifier. It is the responsibility of the Observer to filter any events it is interested in.
Reimplemented from View::RectangleShape.
|
virtual |
This function is called by the RobotWorldCanvas if enableSelection is set.
Reimplemented from View::RectangleShape.
|
virtual |
| aPoint |
Reimplemented from View::RectangleShape.
|
virtual |
Reimplemented from View::RectangleShape.
| void View::RobotShape::setRobot | ( | Model::RobotPtr | aRobot | ) |
Type safe mutator
|
inline |


Weathermaster:
Control Device
You can control the energy output.
Recharge is in progress.
Control the output


%(host)s CQ Status
recent logs
Filters:
[raw json]
Timestamp
Project
Owner
Codereview
Issue
Patchset
Action
Verifier
Message
Loading...
Load More
Variables available to Javascript console for programmatic analysis: - records - selectedRecords


{% extends "layout.html" %} {% block page_title %} DBS Prototype {% endblock %} {% set main_question = "What is your sex?" %} {% block content %} {% include 'includes/phase_banner_alpha.html' %} Back {% include 'includes/error_summary.html' %} {# include if this page has validation requirements #} {{main_question}} {{main_question}} Female Male {% endblock %}


Registration is automatic. If the username you enter doesn't exist, a new account with that username will be created.
Welcome to Sitely, by JayCorp! To begin, click the "Create Site" button and fill out the information!


full_version module¶
- class full_version.full_version¶
Bases:
object
- driver()¶
- extract_list()¶
This function helps user extract saved products, create new lists, modify list or open product in browser
- login()¶
Used for User Login Returns the username and email
- scrape(prod)¶
calls the scraper function from scraper.py
- search_fn()¶
Function searches for a given product and returns full list of products scraped. It then gives the user and option to save an item or open an item in browser
- wishlist_maker()¶


Truth Trick
Enter boolean expression below
∧
∨
¬
→
⊕
≡
Logic circuit
Logic circuit diagram
Truth table
LOADING
Karnaugh Map
LOADING


Oracle Placement Paper
Oracle Latest Placement papers with answers
Oracle Test divides into 3 parts
1.Computer science knowledge: 30 Minutes 30 Questions
2.English: 25 Minutes 25 Questions
3.Reasoning: 35Minutes 35 Questions
No. of Questions:85
Time limit:90 Minutes
Topics to Refer
1.Computer science knowledge: 30 Minutes 30 Questions
OS Concepts and Data Structures 10 Minutes 10
Big O notations and OOAD Fundamentals 10 Minutes 10
DBMS and CODD's Fundamentals 10 Minutes 10
Totals 30 Minutes 30 Questions
2.English:25 questions 25 questions
Sentence Structure 5 Minutes 10
Grammatical Usage 5 Minutes 5
Written Expression 7 Minutes 5
Reading Comprehension 8 Minutes 5
Totals 25 Minutes 25 Questions
3.Reasoning
Math Reasoning 10 Minutes 10
IT Reasoning 10 Minutes 10
Attention to Detail 5 Minutes 10
Logic Diagramming 10 Minutes 5
Totals 35 Minutes 35 Questions
Sample Questions
1. A certain number of men can finish a piece of work in 10 days. If however there were 10 men less it will take 10 days more for the work to be finished. How many men were there originally?
(A) 110 men
(B) 130 men
(C) 100 men
(D) none of these
2. In simple interest what sum amounts of Rs.1120/- in 4 years and Rs.1200/- in 5 years ?
(A) Rs. 500
(B) Rs. 600
(C) Rs. 800
(D) Rs. 900
3. If a sum of money compound annually amounts of thrice itself in 3 years. In how many years will it become 9 times itself.
(A) 6
(B) 8
(C) 10
(D) 12
4. Two trains move in the same direction at 50 kmph and 32 kmph respectively. A man in the slower train observes the 15 seconds elapse before the faster train completely passes by him.What is the length of faster train ?
(A) 100m
(B) 75m
(C) 120m
(D) 50m
5. How many mashes are there in 1 squrare meter of wire gauge if each mesh is 8mm long and 5mm wide ?
(A) 2500
(B) 25000
(C) 250
(D) 250000
6. x% of y is y% of ?
(A) x/y
(B) 2y
(C) x
(D) cant be determined
7. The price of sugar increases by 20%, by what % should a housewife reduce the consumption of sugar so that expenditure on sugar can be same as before ?
(A) 15%
(B) 16.66%
(C) 12%
(D) 9%
8. A man spends half of his salary on household expenses, 1/4th for rent, 1/5th for travel expenses, the man deposits the rest in a bank. If his monthly deposits in the bank amount 50, what is his monthly salary ?
(A) Rs.500
(B) Rs.1500
(C) Rs.1000
(D) Rs. 900
9. What is the difference between the two declaration ?
#include <stdio.h>
&
#include stdio.h
(A) No Difference
(B) The 2nd declaration will not compile
(C) First case Compiler looks in all default location and in 2nd case only in the working directory
(D) Depends on the Compiler
10. How can I print a % character in a in between the string foo and the value held in the variable foo using printf format string?
(A) fprintf(foo % %d\n, foo);
(B) fprintf(foo % %d\n, foo);
(C) fprintf(foo \% %d\n, foo);
(D) fprintf(foo %d\n, foo);
11. What is the output of the following program
#include <stdio.h>
#define FIRST_PART 7
#define LAST_PART 5
#define ALL_PARTS FIRST_PART + LAST_PART
int main() {
printf (The Square root of all parts is %d\n , ALL_PARTS * ALL_PARTS) ;
return(0);
}
(A) 35
(B) 144
(C) 49
(D) 47
12. What is the use of a make file
(A) Do detect memory leakage
(B) To optimise the code
(C) To link and compile source code to exe
(D) To disassemble the exe to source code
13. What is the difference between calloc and malloc
(A) calloc allocates memory in contiguous bytes, malloc does not ensure contiguous memory allocation
(B) Memory allocated through calloc need not be freed explicitly, While memory allocated through malloc needs to be freed explicitly.
(C) calloc initialises the memory by setting all-bits-zero, malloc does not does any zero fill.
(D) all of the above
14. What is the output :
void main()
{
int a,b=5,c=10;
a = (b-c) > (c-b) ? b : c;
printf(%d,a);
}
(A) 10
(B) 5
(C) 0
(D) Error
15. What is the value of *second_ptr
int *first_ptr;
int *second_ptr;
*second_ptr = 30;
ptr value = 1;
first_ptr = &value
second_ptr = first_ptr;
(A) 30
(B) 1
(C) first_ptr
(D) None of the above
16. How many columns are retrieved from this query:
SELECT address1||,'||address2||,'||address2 Adress FROM employee;
(A) 1
(B) 2
(C) 3
(D) 0
17. To produce a meaningful result set without any cartesian products, what is the minimum number of conditions that should appear in the WHERE clause of a four-table join?
(A) 8
(B) 3
(C) 4
(D) 5
18. Assuming today is Monday, 10 July 2000, what is returned by this statement:
SELECT to_char(NEXT_DAY(sysdate, MONDAY), DD-MON-RR) FROM dual;
(A) 10-JUL-00
(B) 12-JUL-00
(C) 11-JUL-00
(D) 17-JUL-00
19. Which character is used to continue a statement in SQL*Plus?
(A) *
(B) /
(C) -
(D) @
20. When a user creates an object without a TABLESPACE clause, where will Oracle store the segment?
(A) System tablespace
(B) Users tablespace
(C) Default tablespace for the user
(D) Oracle will give an error
21. The primary key on table EMP is the EMPNO column. Which of the following statements will not use the associated index on EMPNO?
(A) select * from EMP where nvl(EMPNO, 00000?) = 59384?;
(B) select * from EMP where EMPNO = 59384?;
(C) select EMPNO, LASTNAME from EMP where EMPNO = 59384?;
(D) select 1 from EMP where EMPNO = 59834?;
22. Which character function can be used to return a specified portion of a character string?
(A) INSTR
(B) SUBSTRING
(C) SUBSTR
(D) POS
23. Which command will delete all data from a table and will not write to the rollback segment?
(A) DROP
(B) DELETE
(C) CASCADE
(D) TRUNCATE
24. Which of the following can be a valid column name?
(A) Column
(B) 1966_Invoices
(C) Catch_#22
(D) #Invoices
25. Which Oracle access method is the fastest way for Oracle to retrieve a single row?
(A) Primary key access.
(B) Access via unique index
(C) Table access by ROWID
(D) Full table scan
26. In this PL/SQL statement, which of the following lines will produce an error?
(A) cursor CAPITALS is select CITY, STATE
(B) into my_city, my_state
(C) from CITIES
(D) where CAPITAL = Y;
27. In a PL/SQL block, a variable is declared as NUMBER without an initial value. What will its value be when it is used in the executable section of the PL/SQL block?
(A) NULL
(B) 0
(C) Results in a compilation error
(D) An exception will be raised
28. PL/SQL raises an exception, in which TWO of the following cases:
(A) When a SELECT statement returns one row
(B) When a SELECT statement returns more than one row
(C) When the datatypes of SELECT clause and INTO clause do not match
(D) When INTO statement is missing in the SELECT statement
29. What is the result if two NULL values are compared to each other?
(A) TRUE
(B) FALSE
(C) Undefined
(D) NULL
30. Functions for error trapping are contained in which section of a PL/SQL block?
(A) Header
(B) Declarative
(C) Executable
(D) Exception


This file only do verification for the identity and data.
Admin function is prepared in the code but not displayed with UI.


| Attack | ||
| Shield | ||
| Engine | ||
| Scanner | ||
| Power |
| Industry Cost | |
| Hit Points | |
| Max Shield Duration | turns |
| Max Distance Traversable | cubes |
| Weapon Efficency | per |
| Shield Efficency | per |
| Engine Efficency | per |
| Scanner Efficency | cubes per turn |
| Replenishers | ||
| Max Attack Power | ||
| Max Attack Power + Replenishes | ||
| Max Power Usage | ||
| Max Power Usage + Replenishes |


A node.js module for parsing form data, especially file uploads.
This module was developed for Transloadit, a service focused on uploading
and encoding images and videos. It has been battle-tested against hundreds of GB of file uploads from
a large variety of clients and is considered production-ready.
Note: Starting with this version, formidable emits ‘file’ events for empty
file input fields. Previously those were incorrectly emitted as regular file
input fields with value = “”.
'aborted'
eventThis marks the beginning of development on version 2.0 which will include
several architectural improvements.
'progress'
event when receiving data, regardless of parsing it. (Tim Koschützki)Important: The old property names of the File class will be removed in a
future release.
These releases were done before starting to maintain the above Changelog:
Via npm:
npm install formidable@latest
Manually:
git clone git://github.com/felixge/node-formidable.git formidable
vim my.js
# var formidable = require('./formidable');
Note: Formidable requires gently to run the unit tests, but you won’t need it for just using the library.
Parse an incoming file upload.
var formidable = require('formidable'),
http = require('http'),
sys = require('sys');
http.createServer(function(req, res) {
if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
// parse a file upload
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end(sys.inspect({fields: fields, files: files}));
});
return;
}
// show a file upload form
res.writeHead(200, {'content-type': 'text/html'});
res.end(
'<form action="/upload" enctype="multipart/form-data" method="post">'+
'<input type="text" name="title">
'+
'<input type="file" name="upload" multiple="multiple">
'+
'<input type="submit" value="Upload">'+
'</form>'
);
}).listen(80);
Creates a new incoming form.
The encoding to use for incoming form fields.
The directory for placing file uploads in. You can move them later on usingfs.rename()
. The default directory is picked at module load time depending on
the first existing directory from those listed above.
If you want the files written to incomingForm.uploadDir
to include the extensions of the original files, set this property to true
.
Either ‘multipart’ or ‘urlencoded’ depending on the incoming request.
Limits the amount of memory a field (not file) can allocate in bytes.
If this value is exceeded, an 'error'
event is emitted. The default
size is 2MB.
The amount of bytes received for this form so far.
The expected number of bytes in this form.
Parses an incoming node.js request
containing form data. If cb
is provided, all fields an files are collected and passed to the callback:
incomingForm.parse(req, function(err, fields, files) {
// ...
});
You may overwrite this method if you are interested in directly accessing the multipart stream. Doing so will disable any 'field'
/ 'file'
events processing which would occur otherwise, making you fully responsible for handling the processing.
incomingForm.onPart = function(part) {
part.addListener('data', function() {
// ...
});
}
If you want to use formidable to only handle certain parts for you, you can do so:
incomingForm.onPart = function(part) {
if (!part.filename) {
// let formidable handle all non-file parts
incomingForm.handlePart(part);
}
}
Check the code in this method for further inspiration.
Emitted after each incoming chunk of data that has been parsed. Can be used to roll your own progress bar.
Emitted whenever a field / value pair has been received.
Emitted whenever a new file is detected in the upload stream. Use this even if
you want to stream the file to somewhere else while buffering the upload on
the file system.
Emitted whenever a field / file pair has been received. file
is an instance of File
.
Emitted when there is an error processing the incoming form. A request that experiences an error is automatically paused, you will have to manually call request.resume()
if you want the request to continue firing 'data'
events.
Emitted when the request was aborted by the user. Right now this can be due to a ‘timeout’ or ‘close’ event on the socket. In the future there will be a separate ‘timeout’ event (needs a change in the node core).
Emitted when the entire request has been received, and all contained files have finished flushing to disk. This is a great place for you to send your response.
The size of the uploaded file in bytes. If the file is still being uploaded (see 'fileBegin'
event), this property says how many bytes of the file have been written to disk yet.
The path this file is being written to. You can modify this in the 'fileBegin'
event in
case you are unhappy with the way formidable generates a temporary path for your files.
The name this file had according to the uploading client.
The mime type of this file, according to the uploading client.
A date object (or null
) containing the time this file was last written to. Mostly
here for compatibility with the W3C File API Draft.
Formidable is licensed under the MIT license.