| 1 | package tetra.logic; | |
| 2 | ||
| 3 | import java.awt.Color; | |
| 4 | ||
| 5 | /** | |
| 6 | * A block of specified color in a matrix. Blocks are immutable and contain no | |
| 7 | * other information beyond color. | |
| 8 | * <p> | |
| 9 | * One block can be used in several (x, y) positions, since blocks don't | |
| 10 | * contain coordinates. This implies that one block can be used to represent all | |
| 11 | * blocks of the same color. This might be beneficial in the interest of memory | |
| 12 | * management since well over 1 000 blocks may be created and destroyed | |
| 13 | * over the course of one game. We prefer to avoid creating a large number of | |
| 14 | * objects with a short life-span. Since there are 7 tetromino types, we need | |
| 15 | * only 7 block instances. | |
| 16 | */ | |
| 17 | public class Block { | |
| 18 | ||
| 19 | private final int color; | |
| 20 | private final Color colorAwt; | |
| 21 | ||
| 22 | /** | |
| 23 | * Class constructor which specifies the RGB color code for this block. | |
| 24 | * | |
| 25 | * @param color the combined RGB components | |
| 26 | */ | |
| 27 | public Block(int color) { | |
| 28 | this.color = color; | |
| 29 | this.colorAwt = new Color(color); | |
| 30 | } | |
| 31 | ||
| 32 | /** | |
| 33 | * Returns the RGB color code for this block. | |
| 34 | * | |
| 35 | * @return the combined RGB components | |
| 36 | */ | |
| 37 | public int getColor() { | |
| 38 |
1
1. getColor : replaced return of integer sized value with (x == 0 ? 1 : 0) → KILLED |
return color; |
| 39 | } | |
| 40 | ||
| 41 | /** | |
| 42 | * Returns a Color object constructed with the RGB color code. | |
| 43 | * | |
| 44 | * @return Color object | |
| 45 | * @see java.awt.Color | |
| 46 | */ | |
| 47 | public Color getColorAwt() { | |
| 48 |
1
1. getColorAwt : mutated return of Object value for tetra/logic/Block::getColorAwt to ( if (x != null) null else throw new RuntimeException ) → KILLED |
return colorAwt; |
| 49 | } | |
| 50 | ||
| 51 | } | |
Mutations | ||
| 38 |
1.1 |
|
| 48 |
1.1 |


 'Hu'-we' is what the !kun call a person who works many things, and the people also call him |xue.
Comments
1) This story is found in Book XI & XII-11
Contributors
Date
21 July 1881
Categories
Keywords
|xue (is Hu'-we) , |xue (is a Bushman) , |xue (his transformations) , |xue (his changes) , |xue (assumes different forms) , |xue (works many things) , |xue (his other name) , Hu'-we (also U'we) , Hu'-we (is |xue and is a Bushman) , Hu'-we (what !nanni's grandfather Karu told him about) , Hu'-we (the people call him |xue) , Hu'-we (is what the !kun call a person who works many things) , Hu'-we (his transformations) , Hu'-we (becomes elephant) , transformation (of |xue) , transformation (of Hu'-we) , transformation (Hu'-we becomes elephant) , !nanni (what his grandfather Karu told him about Hu'-we) , !kun (Hu'-we, who is a Bushman and is also called |xue) , elephant (Hu'-we or |xue becomes) , name (|xue or Hu'-we) , Karu (!nanni's grandfather) , Karu (what he told !nanni about Hu'-we)
Story Pages
9892-9893


import numpy as np
from numpy import (dot, eye, diag_indices, zeros, column_stack, ones, diag,
asarray, r_)
from numpy.linalg import inv, solve
#from scipy.linalg import block_diag
from scipy import linalg
#def denton(indicator, benchmark, freq="aq", **kwarg):
# """
# Denton's method to convert low-frequency to high frequency data.
#
# Parameters
# ----------
# benchmark : array-like
# The higher frequency benchmark. A 1d or 2d data series in columns.
# If 2d, then M series are assumed.
# indicator
# A low-frequency indicator series. It is assumed that there are no
# pre-sample indicators. Ie., the first indicators line up with
# the first benchmark.
# freq : str {"aq","qm", "other"}
# "aq" - Benchmarking an annual series to quarterly.
# "mq" - Benchmarking a quarterly series to monthly.
# "other" - Custom stride. A kwarg, k, must be supplied.
# kwargs :
# k : int
# The number of high-frequency observations that sum to make an
# aggregate low-frequency observation. `k` is used with
# `freq` == "other".
# Returns
# -------
# benchmarked series : array
#
# Notes
# -----
# Denton's method minimizes the distance given by the penalty function, in
# a least squares sense, between the unknown benchmarked series and the
# indicator series subject to the condition that the sum of the benchmarked
# series is equal to the benchmark.
#
#
# References
# ----------
# Bloem, A.M, Dippelsman, R.J. and Maehle, N.O. 2001 Quarterly National
# Accounts Manual--Concepts, Data Sources, and Compilation. IMF.
# http://www.imf.org/external/pubs/ft/qna/2000/Textbook/index.htm
# Denton, F.T. 1971. "Adjustment of monthly or quarterly series to annual
# totals: an approach based on quadratic minimization." Journal of the
# American Statistical Association. 99-102.
#
# """
# # check arrays and make 2d
# indicator = np.asarray(indicator)
# if indicator.ndim == 1:
# indicator = indicator[:,None]
# benchmark = np.asarray(benchmark)
# if benchmark.ndim == 1:
# benchmark = benchmark[:,None]
#
# # get dimensions
# N = len(indicator) # total number of high-freq
# m = len(benchmark) # total number of low-freq
#
# # number of low-freq observations for aggregate measure
# # 4 for annual to quarter and 3 for quarter to monthly
# if freq == "aq":
# k = 4
# elif freq == "qm":
# k = 3
# elif freq == "other":
# k = kwargs.get("k")
# if not k:
# raise ValueError("k must be supplied with freq=\"other\"")
# else:
# raise ValueError("freq %s not understood" % freq)
#
# n = k*m # number of indicator series with a benchmark for back-series
# # if k*m != n, then we are going to extrapolate q observations
#
# B = block_diag(*(np.ones((k,1)),)*m)
#
# r = benchmark - B.T.dot(indicator)
#TODO: take code in the string at the end and implement Denton's original
# method with a few of the penalty functions.
[docs]def dentonm(indicator, benchmark, freq="aq", **kwargs):
"""
Modified Denton's method to convert low-frequency to high-frequency data.
Uses proportionate first-differences as the penalty function. See notes.
Parameters
----------
indicator
A low-frequency indicator series. It is assumed that there are no
pre-sample indicators. Ie., the first indicators line up with
the first benchmark.
benchmark : array-like
The higher frequency benchmark. A 1d or 2d data series in columns.
If 2d, then M series are assumed.
freq : str {"aq","qm", "other"}
"aq" - Benchmarking an annual series to quarterly.
"mq" - Benchmarking a quarterly series to monthly.
"other" - Custom stride. A kwarg, k, must be supplied.
kwargs :
k : int
The number of high-frequency observations that sum to make an
aggregate low-frequency observation. `k` is used with
`freq` == "other".
Returns
-------
benchmarked series : array
Examples
--------
>>> indicator = [50,100,150,100] * 5
>>> benchmark = [500,400,300,400,500]
>>> benchmarked = dentonm(indicator, benchmark, freq="aq")
Notes
-----
Denton's method minimizes the distance given by the penalty function, in
a least squares sense, between the unknown benchmarked series and the
indicator series subject to the condition that the sum of the benchmarked
series is equal to the benchmark. The modification allows that the first
value not be pre-determined as is the case with Denton's original method.
If the there is no benchmark provided for the last few indicator
observations, then extrapolation is performed using the last
benchmark-indicator ratio of the previous period.
Minimizes sum((X[t]/I[t] - X[t-1]/I[t-1])**2)
s.t.
sum(X) = A, for each period. Where X is the benchmarked series, I is
the indicator, and A is the benchmark.
References
----------
Bloem, A.M, Dippelsman, R.J. and Maehle, N.O. 2001 Quarterly National
Accounts Manual--Concepts, Data Sources, and Compilation. IMF.
http://www.imf.org/external/pubs/ft/qna/2000/Textbook/index.htm
Cholette, P. 1988. "Benchmarking systems of socio-economic time series."
Statistics Canada, Time Series Research and Analysis Division,
Working Paper No TSRA-88-017E.
Denton, F.T. 1971. "Adjustment of monthly or quarterly series to annual
totals: an approach based on quadratic minimization." Journal of the
American Statistical Association. 99-102.
"""
# penalty : str
# Penalty function. Can be "D1", "D2", "D3", "D4", "D5".
# X is the benchmarked series and I is the indicator.
# D1 - sum((X[t] - X[t-1]) - (I[t] - I[ti-1])**2)
# D2 - sum((ln(X[t]/X[t-1]) - ln(I[t]/I[t-1]))**2)
# D3 - sum((X[t]/X[t-1] / I[t]/I[t-1])**2)
# D4 - sum((X[t]/I[t] - X[t-1]/I[t-1])**2)
# D5 - sum((X[t]/I[t] / X[t-1]/I[t-1] - 1)**2)
#NOTE: only D4 is the only one implemented, see IMF chapter 6.
# check arrays and make 2d
indicator = asarray(indicator)
if indicator.ndim == 1:
indicator = indicator[:,None]
benchmark = asarray(benchmark)
if benchmark.ndim == 1:
benchmark = benchmark[:,None]
# get dimensions
N = len(indicator) # total number of high-freq
m = len(benchmark) # total number of low-freq
# number of low-freq observations for aggregate measure
# 4 for annual to quarter and 3 for quarter to monthly
if freq == "aq":
k = 4
elif freq == "qm":
k = 3
elif freq == "other":
k = kwargs.get("k")
if not k:
raise ValueError("k must be supplied with freq=\"other\"")
else:
raise ValueError("freq %s not understood" % freq)
n = k*m # number of indicator series with a benchmark for back-series
# if k*m != n, then we are going to extrapolate q observations
if N > n:
q = N - n
else:
q = 0
# make the aggregator matrix
#B = block_diag(*(ones((k,1)),)*m)
B = np.kron(np.eye(m), ones((k,1)))
# following the IMF paper, we can do
Zinv = diag(1./indicator.squeeze()[:n])
# this is D in Denton's notation (not using initial value correction)
# D = eye(n)
# make off-diagonal = -1
# D[((np.diag_indices(n)[0])[:-1]+1,(np.diag_indices(n)[1])[:-1])] = -1
# account for starting conditions
# H = D[1:,:]
# HTH = dot(H.T,H)
# just make HTH
HTH = eye(n)
diag_idx0, diag_idx1 = diag_indices(n)
HTH[diag_idx0[1:-1], diag_idx1[1:-1]] += 1
HTH[diag_idx0[:-1]+1, diag_idx1[:-1]] = -1
HTH[diag_idx0[:-1], diag_idx1[:-1]+1] = -1
W = dot(dot(Zinv,HTH),Zinv)
# make partitioned matrices
#TODO: break this out so that we can simplify the linalg?
I = zeros((n+m,n+m))
I[:n,:n] = W
I[:n,n:] = B
I[n:,:n] = B.T
A = zeros((m+n,1)) # zero first-order constraints
A[-m:] = benchmark # adding up constraints
X = solve(I,A)
X = X[:-m] # drop the lagrange multipliers
# handle extrapolation
if q > 0:
# get last Benchmark-Indicator ratio
bi = X[n-1]/indicator[n-1]
extrapolated = bi * indicator[n:]
X = r_[X,extrapolated]
return X.squeeze()
if __name__ == "__main__":
import numpy as np
#these will be the tests
# from IMF paper
# quarterly data
indicator = np.array([98.2, 100.8, 102.2, 100.8, 99.0, 101.6,
102.7, 101.5, 100.5, 103.0, 103.5, 101.5])
# two annual observations
benchmark = np.array([4000.,4161.4])
x_imf = dentonm(indicator, benchmark, freq="aq")
imf_stata = np.array([969.8, 998.4, 1018.3, 1013.4, 1007.2, 1042.9,
1060.3, 1051.0, 1040.6, 1066.5, 1071.7, 1051.0])
np.testing.assert_almost_equal(imf_stata, x_imf, 1)
# Denton example
zQ = np.array([50,100,150,100] * 5)
Y = np.array([500,400,300,400,500])
x_denton = dentonm(zQ, Y, freq="aq")
x_stata = np.array([64.334796,127.80616,187.82379,120.03526,56.563894,
105.97568,147.50144,89.958987,40.547201,74.445963,
108.34473,76.66211,42.763347,94.14664,153.41596,
109.67405,58.290761,122.62556,190.41409,128.66959])
"""
# Examples from the Denton 1971 paper
k = 4
m = 5
n = m*k
zQ = [50,100,150,100] * m
Y = [500,400,300,400,500]
A = np.eye(n)
B = block_diag(*(np.ones((k,1)),)*m)
r = Y - B.T.dot(zQ)
#Ainv = inv(A)
Ainv = A # shortcut for identity
C = Ainv.dot(B).dot(inv(B.T.dot(Ainv).dot(B)))
x = zQ + C.dot(r)
# minimize first difference d(x-z)
R = linalg.tri(n, dtype=float) # R is tril so actually R.T in paper
Ainv = R.dot(R.T)
C = Ainv.dot(B).dot(inv(B.T.dot(Ainv).dot(B)))
x1 = zQ + C.dot(r)
# minimize the second difference d**2(x-z)
Ainv = R.dot(Ainv).dot(R.T)
C = Ainv.dot(B).dot(inv(B.T.dot(Ainv).dot(B)))
x12 = zQ + C.dot(r)
# # do it proportionately (x-z)/z
Z = np.diag(zQ)
Ainv = np.eye(n)
C = Z.dot(Ainv).dot(Z).dot(B).dot(inv(B.T.dot(Z).dot(Ainv).dot(Z).dot(B)))
x11 = zQ + C.dot(r)
# do it proportionately with differencing d((x-z)/z)
Ainv = R.dot(R.T)
C = Z.dot(Ainv).dot(Z).dot(B).dot(inv(B.T.dot(Z).dot(Ainv).dot(Z).dot(B)))
x111 = zQ + C.dot(r)
x_stata = np.array([64.334796,127.80616,187.82379,120.03526,56.563894,
105.97568,147.50144,89.958987,40.547201,74.445963,
108.34473,76.66211,42.763347,94.14664,153.41596,
109.67405,58.290761,122.62556,190.41409,128.66959])
"""


Master Galadrid:
Meet with
Samael of Goddard Castle Town
to find out what to do next.
You should know that nobody has succeeded in this mission before.
Beware, Shiken may try to stop you!
Oh, I have a letter for you.


Welcome to NCBI
The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.
The National Center for Biotechnology Information advances science and health by providing access to biomedical and genomic information.
Deposit data or manuscripts into NCBI databases
Submit IconTransfer NCBI data to your computer
Download IconFind help documents, attend a class or watch a tutorial
Books IconUse NCBI APIs and code libraries to build applications
Develop IconIdentify an NCBI tool for your data analysis task
Graph IconExplore NCBI research and collaborative projects
Microscope Icon04 Apr 2018
Next Wednesday, April 11, 2018, at 12:00PM EDT, we will present a webinar that will help you enhance and expand your tabular saved BLAST results with basic Unix tools and the NCBI EDirect suite of programs. You will see how … Continue reading →
02 Apr 2018
We’ve made some recent enhancements to the BLAST+ applications that allow you to: Limit your search by taxonomy using information built into the BLAST databases Search sequences by accession faster Use blastdbcmd to retrieve sequences by taxonomy from a BLAST … Continue reading →
27 Mar 2018
Sequence Viewer 3.25 has several new features, improvements and bug fixes, including a new user interface and programmatic API to attach and show HTTP based BAM files, as well as improved usability of zoom functions and tooltips for RNA features. … Continue reading →
National Center for Biotechnology Information , U.S. National Library of Medicine 8600 Rockville Pike , Bethesda MD , 20894 USA
Policies and Guidelines | Contact


Sign up for free training with our tutors to learn more about using Rocket.Chat, join #webinars
Chatbots are becoming indispensable for many companies as they help solve simple problems, manage support and interact with customers.
Learn more about Rocket.Chat's Chatbot
integration in our forthcoming webinar, co-hosted by Diego Dorgam, Sales Engineer, and Alessandro Rodrigues, Product Owner of Zenvia Mobile!
Time 11:00 AM (GMT-3)
Language: Portuguese
Add to your calendar
Thanks for subscribing to our webinar.
You will receive an email with the access URL in a few moments.
CASE YOU DON'T RECEIVE THE E-MAIL in the next few minutes, please verify your spam mail box.


public class BotScheduler
extends java.lang.Object
implements java.awt.event.ActionListener
| Modifier and Type | Class and Description |
|---|---|
static class |
BotScheduler.DaySchedule
A wrapper class for an array of shifts for a single day.
|
static class |
BotScheduler.MonthSchedule
A wrapper class for a HashMap mapping Day of the Week IDs (int) to DaySchedule type
map wrappers, which contain shift information for a given day of the week in that month.
|
static class |
BotScheduler.PermanentPositionMap
A wrapper class for a String to Integer HashMap used for mapping command strings to
constant bot indices.
|
static class |
BotScheduler.Position
A class containing information for a position - a set of command strings which a bot
assigned to the position is responsible for as well as a unique index.
|
static class |
BotScheduler.Shift
A class containing information for a single shift.
|
| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_SHIFTS_PER_DAY
The suggested default number of shifts per day.
|
static int |
MILLIS_PER_MINUTE
The number of milliseconds in a minute.
|
| Constructor and Description |
|---|
BotScheduler(int shifts_per_day,
java.util.Collection<BotScheduler.Position> positions,
int nbots,
java.util.Map<java.lang.String,java.lang.Integer> permMap)
Construct a BotScheduler by generating a new schedule provided the desired number of shifts in a day, the number
of bots available (indices must be consecutive), a Collection of the available positions, and a pre-existing command string/bot index
map for shift indifferent commands.
|
BotScheduler(java.lang.String schedfile,
java.lang.String permfile)
Construct a BotScheduler by loading data from a previously existing BotScheduler off disk.
|
| Modifier and Type | Method and Description |
|---|---|
void |
actionPerformed(java.awt.event.ActionEvent e) |
java.util.Set<BotScheduler.Position> |
getAllPositions()
Get a set of all Positions set for the current shift (and all shifts if the scheduler was constructed properly).
|
int |
getCommandCount()
Get the total number of commands associated with all shifting positions set for the current shift.
|
int |
getShiftsPerDay()
Get the number of shifts in a given day.
|
static int |
minutesPerShift(int shifts_per_day)
Calculate the number of minutes that would be in any given shift (floored) given the
number of shifts in a day.
|
void |
saveSchedule(java.lang.String diskPathVar,
java.lang.String diskPathPerm)
Save this scheduler to disk by writing data to files in plain text format.
|
int |
sendCommandTo(java.lang.String commandName)
Query the scheduler to determine which bot the command correlating to the
given string should be sent to.
|
void |
setCurrentShift()
Check the time, pull the appropriate Shift from the shift map, and set it as the
current shift.
|
void |
setParseCore(ParseCore pc)
Link a ParseCore object to this BotScheduler.
|
void |
startTimer()
Start the background thread (implemented as a swing Timer) that calls
BotScheduler.actionPerformed
on approximately every shift change. |
void |
stopTimer()
Stop the background timer thread if the Timer object is non-null and is running.
|
public static final int MILLIS_PER_MINUTE
public static final int DEFAULT_SHIFTS_PER_DAY
public BotScheduler(int shifts_per_day, java.util.Collection<BotScheduler.Position> positions, int nbots, java.util.Map<java.lang.String,java.lang.Integer> permMap)
shifts_per_day
- Number of shifts desired in a single day. Although the number can be any integer greater than 0, use of very large
numbers, especially those that exceed the number of minutes in a day, can lead to undesirable results. Values which would yield a number of
even length shifts per day are encouraged (eg. 6).positions
- A collection of Positions that must be covered for any given shift. If there are more Positions than there are
bots, then this constructor will fail. This collection may be empty or null (should all positions be non-shifting).nbots
- The number of bots available to take any given position during any given shift. This number has no upper limit, but it must
be at least 1.permMap
- A pre-made map of command strings and bot indices indicating which bots should handle which commands at all times, regardless of
shift. These assignments take precedence over shift assignments. This map may be empty or null if no permanent assignments are desired.java.lang.IllegalArgumentException
- If one or more arguments is outside the valid range.public BotScheduler(java.lang.String schedfile, java.lang.String permfile) throws java.io.IOException, FileBuffer.UnsupportedFileTypeException
schedfile
- Path to the shifting schedule file.permfile
- Path to the permanent command map file.java.io.IOException
- If there is an error accessing either file on disk.FileBuffer.UnsupportedFileTypeException
- If there is an error parsing either file.public void setParseCore(ParseCore pc)
pc
- ParseCore object to link. May be null if unlinking is desired.public int getShiftsPerDay()
public java.util.Set<BotScheduler.Position> getAllPositions()
public int getCommandCount()
public static int minutesPerShift(int shifts_per_day)
shifts_per_day
- Hypothetical number of shifts in a day.public void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed
in interface java.awt.event.ActionListener
public void startTimer()
BotScheduler.actionPerformed
on approximately every shift change.
public void stopTimer()
Timer.stop()
, causing
the Timer to stop sending ActionEvents to the scheduler. As a result, shift changes will stop occurring automatically
until the Timer is restarted.public void setCurrentShift()
public int sendCommandTo(java.lang.String commandName)
commandName
- String representation of the command to send.public void saveSchedule(java.lang.String diskPathVar, java.lang.String diskPathPerm) throws java.io.IOException
diskPathVar
- Path of file to save shifting position data to.diskPathPerm
- Path of file to save permanent position data to.java.io.IOException
- If there is an error writing either of the requested files.


Event Location:
Moore/Norman Technology Center South Penn Campus
13301 South Pennsylvania Avenue
Oklahoma City, Oklahoma
Abstract:
The most important part of your SQL Server is also the slowest, Storage. This talk will take you through the fundamentals of your server's Disk I/O System. This session should give you a solid foundation over storage systems and help you understand why they are slow and how to overcome some of their limitations. We will cover the basics of computer systems, hard disks and disk controllers. Next, we will move to the fundamentals of RAID and how to configure your arrays for performance and reliability. Later, we will discuss the relationship between SQL Server and the file system, what is required for SQL Server and how to configure the file system for optimal performance. Finally, we will touch on how to monitor the performance and health of
Speaker(s): Wesley Brown,
Abstract:
How can you make your cube more real-time? How can you get more out of your enterprise data warehouse by putting Analysis Services on top of it? What’s new in Denali for Analysis Services? In this session we will take a deep dive into storage modes in Analysis Services. We’ll discuss the pros and cons of the two storage modes a Multidimensional model can use: MOLAP and ROLAP. We’ll discuss the storage modes in new Tabular models coming in the next version of Analysis Services: Vertipaq and DirectQuery. We’ll preview the new columnar index in the next version of SQL Server and discuss how it impacts Analysis Services. And we’ll discuss why one Fortune 500 company chose ROLAP and another chose MOLAP.
Speaker(s): Greg Galloway,
Abstract:
Once upon a time, you inherited an application or a database filled with chaos and inconsistencies. The T-SQL code is overly complex. The architecture is painful to behold, and grueling to code for. Query performance is “spectacularly mediocre”. If you’re without good documentation or system architects to guide you, how do you break the curse of confusion? In this session you’ll learn several methods for conquering chaotic code, and how to seek and destroy some of the nastier coding mistakes and inefficiencies. We will break complicated queries into key pieces, turn them upside-down, and reform them into something sensible. We will restructure joins, tame subqueries, and refactor dynamic SQL. We will emerge victorious!
Speaker(s): Jennifer McCown,
Abstract:
Have you ever gotten tired of your 1TB database taking 4+ hrs to backup?  Well now you don’t have to worry about that anymore.  Backups actually have kind of an execution plan that you can access if you know how, and knowing how to get the individual portions of your backup process down will allow you to knock 80% and even more off of your backup and restore time. I’m not holding anything back in this session. This is a method I’ve used for 15yrs to tune my backups and I’ve had great success wi
Speaker(s): Sean McCown,
Abstract:
In this session, we'll compare ETL strategies between SQL Server Integration Services and plain old T-SQL. Is one better than the other? Should I just use SSIS and skip T-SQL altogether, or vice versa? We'll address these questions and more, and will take a look at some practical examples and a few head-to-head comparisons using both tools. Seesion Goals: •Attendees will gain an understanding of the role of Transact-SQL as part of an ETL strategy. •Attendees will gain an understanding of the logistical differences between using SSIS and Transact-SQL for ETL processing. •Attendees will learn, through practical demonstration, some situations that may be better served by Transact-SQL rather than SSIS (and the reverse).
Speaker(s): Tim Mitchell,
Abstract:
XML is a convenient method for transferring data from system to system. SQL Server SSIS provides the XML Datasource to import this data into SQL Server. In this session we will learn how to set up a simple XML Datasource. Then we will look at handling XML files with a more hierarchical structure.
Speaker(s): Russel Loski,
Abstract:
SSRS 2008 R2 provides powerful capabilities to help us develop sophisticated reports from Microsoft SQL Server Analysis Services. Unfortunately, many of these features, such as the server aggregation function, are commonly ignored by report developers. The result: redundant work in the reporting layer. In this session, BI Architect and MVP Bill Pearson exposes ways to optimize reporting from SSAS by writing MDX that leverages, rather than replicates, what the cube is designed to do best.
Speaker(s): William E Pearson III,
Abstract:
As we all know about SQL sprawl, it becomes cumbersome for the DBAs tostay on top of all the servers in the environment. Come to this sessionand learn about simple techniques can help DBA stay on top of thegrowing SQL environment.
Speaker(s): Sri Sridharan,
Abstract:
When running a stored procedure it is difficult to record what is happening.  In this session we will examine logger code in T-SQL I added to a stored procedure. We will use the xml datatype to record parameter values, variable values and debug statements. We will look at the "For xml" statement as well as the xml datatype methods, especially the modify method. Finally we will look at how to read the logs when finished.
Speaker(s): Russel Loski,
Abstract:
AKA, things I'd like to see in MS SQL Server. PL/SQL is a powerful and flexible SQL programming language that supports some nice features. This is a good overview of people that have to stray across the great divide into “Oracle world”.
Speaker(s): Paul Hunter,
Abstract:
In this session, we'll take a very fast tour through the major components of SQL Server Business Intelligence (Integration Services, Analysis Services, Reporting Services). We'll discuss the roles of each of these tools in the enterprise, briefly reviewing some practical applications of each. This session is ideal for software developers, business principals, or other technical professionals who have had little to no exposure to the SQL Server BI stack.
Speaker(s): Tim Mitchell,
Abstract:
In this presentation we talk about Central Management Server and how it can help you manage a disperse environment. We will also cover what Policy Based Management is and how you can leverage its power to better manage your environment. With PBM we'll see what it can and cannot do to help you enforce standards in your enterprise. We will cover and demonstrate PBM for the beginner from creating and evaluating policies to receiving alerts on policy violations.
Speaker(s): Ryan Adams,
Abstract:
Keynote
Speaker(s): Steve Jones,
Abstract:
As recent breaches and disruptions have demonstrated, application security could not be more critical. As the foundation of many of our applications and the stores of our most sensitive data, databases are a prime target. Still, very few developers take advantage of security features available to them to secure the databases behind their applications. Join Bryan Smith, a Database Technical Specialist with Microsoft, in exploring security features and best practices applicable to Microsoft SQL Server which will allow you to secure your database applications.
Speaker(s): Bryan Smith,
Abstract:
Come see the new "code-centric" approach to managing your application data. In this session, we’ll • Explore the Entity Framework 4.1, its components and show how it works • Define an object model, implementing persistent POCO classes, while customizing the mapping via the tool's fluent API • Walk through a variety of examples that show how to interact with the model • Demonstrate how the Entity Framework automatically tracks data changes and generates updates. You’ll walk-away with a clear understanding of how the new “code only” extensions enable you to implement a code-centric approach to store persistence.
Speaker(s): Rob Vettor,
Abstract:
Have you ever wanted to know how Transparent Database Encryption (TDE) works or how you set it up? This session will go over all the steps and caveats that go with this technology. This is a topic that is an Enterprise Feature, but allows you to have your database encrypted on disk. We will discuss the Encryption Hierarchy as well as how it relates to SQL Server TDE.
Speaker(s): Ben Miller,
This is a list of speakers from the XML Guidebook records. The details and URLs were valid at the time of the event.
LinkedIn: http://www.linkedin.com/in/ryanjadams
Contact: http://www.ryanjadams.com
Ryan Adams is a Senior Premier Field Engineer for Microsoft. He works directly with customers to help them realize their business potential and accelerate their digital transformation on premises and in the cloud. Previously, Ryan was a Microsoft Data Platform MVP and spent 19 years working for a fortune 100 company. His passion is the SQL Server Engine, High Availability, and Disaster Recovery. He also served on the Board of Directors for the North Texas SQL Server User Group, was President of the PASS Performance Virtual Chapter, was a PASS Regional Mentor, and served as a Director for the PASS organization.
LinkedIn: https://www.linkedin.com/e/fpf/252170891
Contact: https://mvp.support.microsoft.com/profile=02C5CD07-7511-4151-A678-3A4A3451F85E
Bill Pearson created Island Technologies Inc. in 1997, and has developed a large and diverse customer base since. Bill#39;s background as a CPA, Internal Auditor, Management Accountant, and SQL Server MVP (BI) enables him to provide value to clients as a liaison between Accounting / Finance and Information Services. Bill has implemented enterprise business intelligence systems over the years for many Fortune 500 companies and focuses his practice upon the integrated Microsoft Business Intelligence
LinkedIn: http://www.linkedin.com/in/way0utwest
Contact: http://www.voiceofthedba.com/
Steve Jones is a Microsoft SQL Server MVP and has been working with SQL Server since version 4.2 on OS/2. After working as a DBA and developer for a variety of companies, Steve co-founded the community website SQLServerCentral.com in 2001. Since 2004, Steve has been the full-time editor of the site, ensuring it continues to be a great resource for SQL Server professionals. Over the last decade, Steve has written hundreds of articles about SQL Server for SQLServerCentral.com, SQL Server Standard magazine, SQL Server Magazine, and Database Journal.
LinkedIn: http://www.linkedin.com/in/dbaduck/
Contact: https://dbaduck.com
Ben has been a member of the SQL Server Community since 2000. He loves a challenge and has fixed many SQL Servers and helped hundreds of people get more out of their DBA jobs. He is a Data Platform MVP a SQL Server Certified Master (MCM). He has worked at various companies throughout the USA, as well as at Microsoft for 7 years. He is passionate about SQL Server Infrastructure, High Availability, Automation and Integration using SMO and PowerShell. He teaches DBAs how to use PowerShell to do their job and teaches SQL Server Internals. He is @DBAduck all around the web (Twitter, LinkedIn, Facebook, Blog) so let's catch up.
LinkedIn: http://www.linkedin.com/in/furmangg/en
Contact: http://www.artisconsulting.com/blogs/GregGalloway
Greg Galloway is a BI architect with Artis Consulting in Dallas, Texas and a Microsoft Data Platform MVP. He is a coordinator on open-source projects including BI Developer Extensions (formerly BIDS Helper), the Analysis Services Stored Procedure project, and OLAP PivotTable Extensions. He was a co-author of the Analysis Services Tabular Performance Guide.
LinkedIn: http://www.linkedin.com/in/russloski
Contact: http://www.sqlmovers.com
Russ Loski is a SQL Server BI Developer based in Dallas-Fort Worth. He current works as a Data Analytics Engineer for Navisite, a remote managed IT services company. Twenty years ago, he began working with SQL Server 6.5. He has since continued to develop applications connected to all of the versions of SQL Server. He has worked with clients in industries from insurance to healthcare, from movie theaters to American football. Russ is a regular speaker at SQLSaturday events, as well as the SQL Server Users Groups in the North Texas region. Russ likes working with data in various shapes.
LinkedIn: https://www.linkedin.com/pub/bryan-smith/17/98b/161
Bryan is a Data Solution Specialist with Microsoft Las Colinas, focused on data-driven solutions in the Azure cloud. He also teaches analytics technologies within the MBA amp; MSBA programs at SMU Cox School of Business.
LinkedIn: http://www.linkedin.com/in/russloski
Contact: http://www.sqlmovers.com
Russ Loski is a SQL Server BI Developer based in Dallas-Fort Worth. He current works as a Data Analytics Engineer for Navisite, a remote managed IT services company. Twenty years ago, he began working with SQL Server 6.5. He has since continued to develop applications connected to all of the versions of SQL Server. He has worked with clients in industries from insurance to healthcare, from movie theaters to American football. Russ is a regular speaker at SQLSaturday events, as well as the SQL Server Users Groups in the North Texas region. Russ likes working with data in various shapes.
LinkedIn: https://www.linkedin.com/in/timmitchell/
Contact: http://www.TimMitchell.net
Tim Mitchell is a business intelligence architect, author, and trainer. He has worked with SQL Server for over a decade, specializing in data warehousing, ETL/SSIS, and reporting. He holds a Bachelor’s Degree in Computer Science from Texas AM at Commerce, and is recognized as a Microsoft Data Platform MVP. Tim is a business intelligence consultant and principal at Tyleris Data Solutions. Tim is an active community speaker and volunteer, having spoken at over 100 events including the PASS Summit, SQLBits, Dev Connections, SQL Intersection, and scores of SQLSaturdays. He blogs at TimMitchell.net, and tweets at @Tim_Mitchell.
Contact: http://www.midnightdba.com/dbarant
Sean McCown is a Certified Master with 23 years of experience in databases. He is also founder and co-owner of the MidnightDBA.com website, where he records free SQL Server training videos. He also writes the popular Minion Maintenance suite, the most configurable maintenance solution on the planet.
LinkedIn: http://www.linkedin.com/in/jennifermccown
Contact: http://www.MidnightDBA.com/Jen
Jen McCown is CEO of MinionWare, LLC; a Microsoft Certified Master for SQL Server; and an independent consultant. She is Senior Editor at MidnightDBA.com, where she creates training videos, the DBAs at Midnight webshow, blogs, reviews, and podcasts. Jen is a member, volunteer, and speaker in PASS, and the PASS Women in Technology Virtual Group.
LinkedIn: http://www.linkedin.com/sqlserverio
Contact: http://www.sqlserverio.com
Wesley Brown is a former SQL Server MVP and PASS Chapter Leader who loves to teach others about SQL Server.He maintains his technical blog at http://www.sqlserverio.com. Wes specializes in high availability, disaster recovery, and large-scale database performance tuning.
I have no bio
Rob Vettor is a C# MVP, INETA Regional Speaker and senior .NET Technologist for OZ Software, a leading provider of Education Healthcare software. Rob has built systems for a number of corporations, including Avanade, Raytheon, American Express and Jack Henry and Associates. Rob lives in Dallas, TX, with his wife, twin sons and three dogs, and is the founder of Hands-On-Coding (http://www.hands-on-coding.net/). You can contact Rob at<EMAIL_ADDRESS>LinkedIn: https://www.linkedin.com/in/timmitchell/
Contact: http://www.TimMitchell.net
Tim Mitchell is a business intelligence architect, author, and trainer. He has worked with SQL Server for over a decade, specializing in data warehousing, ETL/SSIS, and reporting. He holds a Bachelor’s Degree in Computer Science from Texas AM at Commerce, and is recognized as a Microsoft Data Platform MVP. Tim is a business intelligence consultant and principal at Tyleris Data Solutions. Tim is an active community speaker and volunteer, having spoken at over 100 events including the PASS Summit, SQLBits, Dev Connections, SQL Intersection, and scores of SQLSaturdays. He blogs at TimMitchell.net, and tweets at @Tim_Mitchell.
Contact: http://sqlrocks.com/
Sri is the President of North Texas SQL Server User Group. Sri has been involved with SQL Server since version 4.2 and has held various roles developer/dba/ architect / pre-sales over the years. He is largely responsible for some of few features in SQL 2008 like TDE and tools like MAPS. Sri holds a Bachelor's Degree in Physics , Masters in Computer Information Systems and an MBA in Finance. His wife Hema, made sure he got a 3rd Masters in parenting their 2 sons.
The following is a list of sponsors that helped fund the event.


Phobos Office Building Rehabilitation / Studio Vincent Eschalier
- Curated by Paula Pintos
- 1 day
Renovation · Paris, France
- version="1.0" encoding="UTF-8"? Architects: Studio Vincent Eschalier
- AreaArea of this architecture projectArea: 2166.3 m2
- version="1.0" encoding="UTF-8"?YearCompletion year of this architecture project Year: 2018
- version="1.0" encoding="UTF-8"?PhotographsPhotographs: Axel Dahl
- version="1.0" encoding="UTF-8"?ManufacturersBrands with products used in this architecture project Manufacturers: Alape, Allia, AutoDesk, Barrisol, DuPont, Enoskin, Fiandre, Rockfon, Tapwell, Van Besouw
- Lead Architect Léa Goffinet
- Design Team Nathalie Visnovsky, Paul Coppéré
- Clients 6e Sens Immobilier
- Engineering Global Engineering
- Collaborators EDM Paris, SAS ETMB, Parisis Renovation
More Specs Less Specs
Text description provided by the architects. Just minutes from the Place de la Bourse in the second arrondissement of Paris, Studio Vincent Eschalier has delivered the rehabilitation of an entire office building. Intervention between tradition and risk-taking, in line with the efficient and unconventional style of the agency. For this rehabilitation in a historic district, the architect wishes to highlight the building while respecting the vernacular architecture. The interiors offer maximum flexibility to future occupants. The existing solid walls have been by moveable full-height partitions which divide the open space.
Accompanied by large oak arches, they separate the workspaces into more functional areas. The window frames are finished in oak and brass and punctuate the facade of the Vivienne street by playing on the contrast between the wood and the white volumes. White acoustic ceilings incorporate custom-designed lighting that is tailored to each space. Technical systems such as air conditioning and heating are concealed above the circulation area, beneath a removable metal suspended ceiling.
The post-Haussmanian exterior is renovated with bluestone from Hainaut on the facade and the roof. It offers, with its rounded edges, a single and massive volume pierced with regular openings, also finished in brass. These new openings and the creation of an open terrace on the roof now allow future occupants to enjoy maximum natural light and a panoramic view of the Place de la Bourse. The wish of Vincent Eschalier was to give a new life to this building while remaining anchored in its Parisian architecture. The choice was, therefore, to highlight the coronation with a unique and massive volume to make it visible from the Place de la Bourse.
For this, the Studio has developed a technique used for one of the first times in France. Substitute the usual zinc of Parisian roofs with a similarly colored stone. This one, laid in a 1m/1m slab, gave the extension scale and softened the lines of the building. Also not to affect the geometry seen from the Place de la Bourse, the lines of the railing have been geometrically drawn to appear as invisible. The purpose of the intervention is to give a distinctive brightness to this historic building; the architect adds a contemporary touch while respecting the soul of the structure.


Javascript Scope
Scope in javascript is what variables are available to which parts of the program. Let's say we have a program, and we have what is called a global variable. This 'global variable' should be able to be accessed ANYWHERE in the program! Any function or any loop, or whatever, should be able to access this global variable at anytime.
A variable might not have global scope though, it might only be able to be accessed in a particular function. That means that it is locked away inside its own function, other functions don't have the right to access it.
When a loop is defined, it has its own block scope, where other functions won't have access to what is inside it.


There are many examples on this page. Here's the test coverage report, and a plunkr template to get you going.


Laravel 4 learnings: week 4
I didn't had much time this week so no tips and tricks just the usual list of resources and things that happened this week.
Laravel: Code Bright
There's a new ebook called Code Bright coming up for Laravel 4. Dayle Rees is rewriting his Code Happy book for the newest version of Laravel. Expect noting less than awesome tutorials on learning how to use Laravel 4.
Dayle also updated his website recently where he blogs frequently about Laravel.
Help Document The Laravel 4 Wiki FAQ
I don't know if many people know this but there is a Laravel wiki. There's some help needed with updating the Laravel 4 FAQ before L4 gets released in May. Feel free to contribute!
https://twitter.com/jesseobrien_/status/319909909493866496
Symfony 2 vs. Laravel
Great response by Taylor Otwell on a Symfony 2 vs. Laravel discussion on Reddit.
Resources
- Interview with Dayle Reese by We Build At Night
- Using Laravel 4's Model Events by myself
- Asset Management With Guard-Laravel by Tutsplus
- Validating a protected/private property for testing by Jeffrey Way
- Laravel 4 – Introduction by Miro Svrtan
Talks
- Slides from An Introduction To Laravel 4 by Franz Liedke
- Slides from Laravel: Clean and classy PHP framework by Maksim Surguy


Elementary School Zarren / FELT
- Curated by Paula Pintos
- about 8 hours
Elementary & Middle School · Zarren-Werken, Belgium
- version="1.0" encoding="UTF-8"? Architects: FELT
- AreaArea of this architecture projectArea: 1800.0 m2
- version="1.0" encoding="UTF-8"?YearCompletion year of this architecture project Year: 2019
- version="1.0" encoding="UTF-8"?PhotographsPhotographs: Stijn Bollaert
- version="1.0" encoding="UTF-8"?ManufacturersBrands with products used in this architecture project Manufacturers: AutoDesk, Forbo, Kone, Muuto, Oliver, Wienerberger
- Lead Architects Karel Verstraeten
- Design Team Jasper Stevens, Karel Verstraeten, Adrian Verhoijsen, Bram Denkens, Valerie Maes, Elise Candry, Jan Haerens
- Clients Muncipality of Kortemark
- Engineering BAS & HP engineers
- Landscape Studio Basta
- Consultants Erik Geens
More Specs Less Specs
Text description provided by the architects. In 2014 FELT won the competition for a new primary school and sports hall in Zarren (BE). The site is located close to the village’s center and behind an existing 1920’s nursery school. The new school marks the intersection of a small residential area and the surrounding meadows. The new building aims at blending in with its surroundings and is designed in tune with the adjacent nursery school. A compact two-story volume with pitched roofs is positioned in a way it maximizes the open space. Thus creating a big playground that can extend in a public square.
The facades mimic in a collage-like way the somewhat unremarkable materials of the surrounding houses: Brick, soft pink and gray concrete and fiber cement slates. The ceramic roof tiles are subtly lined by a playful serrated roof trim. The building itself is characterized by its rational and economic structure consisting of two wings connected by a central hall. This renders a clear and straightforward circulation scheme. The west wing is directed towards the landscape and contains nine classrooms. The other wing houses the more public functions such as the cafeteria and the sports hall and is directed towards the playground and the town.
A sculptural staircase with walls and ceilings in pink concrete forms the heart of the building. It acts as a central meeting point and connects the class corridors with the sports hall (floor level) and the cafeteria (1st floor). The pitched roofs are strongly tangible in the interiors. The colorful green sports hall and overlooking cafeteria flow into each other with their ceilings meeting in a single round column.
Dressing rooms can be found below the cafeteria, the sports hall has two big gates that provide a generous connection to the exterior playground in case of nice weather. The overall ambition of the architects was to create a light, transparent and homely atmosphere throughout the whole school with large glass partitions separating the corridors and classrooms. An extraordinary place to teach, learn and play.


---
layout: post
title: I just saved A$4 500!
tags:
- Linux
- Mac
status: publish
type: post
published: true
meta: {}
---
Over the last few weeks I have been suffering from a serious case of Mac lust. However a quick enquiry on the local Perl Mongers list elicited a few pithy words, from less giddy heads than mine, showing that I should give myself a good slap and be happy with my Ubuntu system (which is superior in many ways).
Thanks Guys and Gals!


The ui module provides the access function for creating and traversing ui-components.
- Source:
Methods
-
<static> component(pkg, name, attrs, controller, requires) → {Module}
-
Creates a ui-component. For fine grained control on ui-component creation and template resolving see also uiIntegrationProvider.
Parameters:
Name Type Description pkg
string The package for this component. This is denoted by the path to the <component>.js and <component>.html files relative to the application folder. name
string The name of the component. The name is expected to be a valid camel-case javascript identifier starting with an upper-case letter. attrs
map Map of attribute definitions. A map entry consists of the attribute name as key and the binding-specification a value. This follows the convention for 'isolated' scopes as described in section 'Directive Definition Object' for angular directives. controller
Controller A controller function using the array-notation of angulars $injector service. requires
string A list of module-names that are required. - Source:
Returns:
The angular module this ui-component is defined in.- Type
- Module
-
<static> getChildren(scope) → {array.<Scope>}
-
Gets the child component-scopes for the given component-scope according to the document tree of the rendered page, i. e. after all transcludes are resolved.
Parameters:
Name Type Description scope
Scope An angular scope refering to a ui-component. - Version:
- 1.1
- Source:
Returns:
An array of angular scopes holding the child ui-component in the document tree.- Type
- array.<Scope>
-
<static> getComp(scope) → {object}
-
Gets the component instance that is declared for the given angular scope.
Parameters:
Name Type Description scope
Scope An angular scope. - Source:
Returns:
The component instance that is accociated with the given scope.- Type
- object
-
<static> getParent(scope) → {Scope}
-
Gets the parent component-scope for the given component-scope according to the document tree of the rendered page, i. e. after all transcludes are resolved.
Parameters:
Name Type Description scope
Scope An angular scope refering to a ui-component. - Version:
- 1.1
- Source:
Returns:
The angular scope holding the parent ui-component in the document tree.- Type
- Scope
-
<static> getScope(element) → {Scope}
-
Gets the closest component scope for the given angular element.
Parameters:
Name Type Description element
DOMElement The DOM element wrapped into jQuery. - Version:
- 1.1
- Source:
Returns:
The angular scope holding the closest ui-component.- Type
- Scope
-
<static> logComps()
-
Logs the current component structure to the browser console. The log contains the component data hierarchy.
- Source:
-
<static> logScopes()
-
Logs the current scope structure to the browser console. The log contains also debugging information about the declaring and declared components together with their DOM elements.
- Source:


Note: The ripple effect is not part of this project. If you want to use it you must add mladenplavsic ripple effect to your project. The tag-filter-button is using ripple css class for checkboxes as default.


---
layout: demo
title: Visibility Classes demo
tags: [Demo]
share_image:
share_description: Let you show elements based on screen size
article_link: visibility-classes
demo_code_full_url: https://github.com/malyw/visibility-classes
---
Visibility classes let you show elements based on a screen width.
Resize your screen to check how it works.
Show only for the specific screen width
This text is shown on
desktop-large
screens only.
This text is shown on
desktop-small
screens only.
This text is shown on
tablet-landscape
screens only.
This text is shown on
tablet-portrait
screens only.
This text is shown on
phone-landscape
screens only.
This text is shown on
phone-portrait
screens only.
Show only when the screen width is equal or smaller then specified
This text is shown on
desktop-small
screens and down.
This text is shown on
tablet-landscape
screens and down.
This text is shown on
tablet-portrait
screens and down.
This text is shown on
phone-landscape
screens and down.
This text is shown on
phone-portrait
screens and down.
Show only when the screen width is equal or bigger then specified
This text is shown on
desktop-small
screens and up.
This text is shown on
tablet-landscape
screens and up.
This text is shown on
tablet-portrait
screens and up.
This text is shown on
phone-landscape
screens and up.
This text is shown on
phone-portrait
screens and up.


--- layout: post title: BCS/IEE Turing Lecture date: 2005-01-20 00:00:00 category: business ---
I met up with Daniel from GT At Charing Cross this evening and we wandered over to the IEE building for this years Turing Lecture. I heard of the event on Louise Fergusons event list only a few weeks ago, and was instantly attracted by the presence of the godlike Fred Brooks. His book The Mythical Man Month became a favourite after a project-related disaster back at GT kicked off an interest in project management and software development processes.
I wasn't disappointed. Whilst the title of Professor Brooks' lecture was "Collaboration & telecollaboration in design", he covered an awful lot of process-related stuff. Another one of those occasions where pearls of wisdom mutate into the bloody obvious on contact with my brain.
Notes follow:
1. Intro
Process of design is similar, independent of media: e.g. for software and buildings. How can young media (e.g. IT) learn from old (e.g. architecture)?
19th century engineers were builders; today there's a divide between designers and builders. "Can anyone here take a pile of sand and build a computer?"
2. To understand telecollaboration
There's an assumption that the more collaboration we have, the better. This isn't necessarily true.
3. Conceptual integrity: how do we get this with team design?
4. Most products today are team designed. This wasn't always the case.
5. Most works of art are by individuals - or occasionally a team of 2 (being a magic number)
6. Why use teams? Increasing complexity and specialisation in what we do - compare the original iron bridges to modern suspension bridge. "There are no naive technologies left in the west.": a digression on computational fluid dynamics and how they relate to something as throwaway as shampoo. Nothing is simple any more, but we're often solving a common industrial problem: taking wide variance of inputs to produce a consistent output.
7. Hurry to get to market: "first to market gets 40%" (is this true?). There's another assumption that team design means fast design.
8. Many hands can make *more* work: task partitioning, interface definition, interpretation and reconciliation are all additional burdens. Standardisation. Common style definition. Integration & testing have a cost which might only be realised at integration time: the shipbuilders mantra - "cut to measure; bang to fit"
9. Conceptual integrity: Cray's computers, Menn's bridges, etc. have this thanks to single-mindedness of design. St. Pauls is an example of this too.
10. Fan clubs vs no fan clubs: mac vs pc, linux vs nt, fortran vs cobol etc. Products which have fan clubs were usually produced outside normal corporate processes. Normal corporate processes don't inspire devotion in their end-products: they're good for incremental improvements, but not innovation.
A counterpoint to this view is the book "Multiple authorship & the myth of solitary genius" by Jack Stillinger
11. Design as interdisciplinary negotiation? NO! Chief-programmer in Brooks' ideal team is effectively a supported designer.
12. Architect as separate from team leader: team leader handles resourcing, scheduling and delivery. Architect delivers the conceptual integrity and is an advocate for the user. Large projects are broken into chunks with individual architects. ONE user interface designer, no matter how complex the product.
He talked of a project where no one person understood the overall system: "Well it had the smell of death". How do you expect 1 user to understand it, if no one technical expert can? Likewise with UIs - you need conceptual integrity here.
Single UI designer serves as surrogate for single user.
13. Document assumptions at the start of the process: population characteristics, application future use. Better to be wrong than silent or vague! Users will put successful applications to new use and therefore make demands on their future development. Each member of a team makes a different set of assumptions, leading to inconsistencies - unless these assumptions are documented.
14. Style sheet: consistent styling of details is the hallmark of conceptual integrity. It's like pornography: "you know it when you see it"
15. Eric Raymonds "brilliant paper": marketplace determines which pieces of a product survive. Individual pieces of Linux have conceptual integrity and fit together thanks to the initial conceptual design of UNIX.
16. BUT this is based on a prestige/gift culture where your status is determined by what you've contributed.  You wouldn't design an air traffic control system like this.
17. Collaboration helps when determining user needs (more people = more questions = more viewpoints = more information). Brainstorming conceptual alternatives. Not conceptual or detailed design. Using XP 2 developers take 1.4 days to do a piece of work... but order-of-magnitude better quality. Design reviews bring in different expertise.
18. Real design is more complex than textbook design and demands change control.
19. Telecollaboration: needed thanks to specialisation of modern design, geographic dispersal of talent (in different time zones, etc.).
Airbus 380 as an example of telecollaboration. System/360 was very dispersed. Face time is crucial. Best collaborations are built on this "face time".
20. Most telecollaboration R&D is done for tool builders, not tool owners
Some questions and points made in answer:
1. We know how to avoid troubles that plague software projects: do best practice stuff and don't cut corners!
2. Torvalds is effectively the conceptual design.
3. Point from a graphic designer that visual design is very subjective and it's only when you get down to pen and paper than people can get their view of things consistent and address assumptions and inconsistencies.
4. Interfaces should occur at the points where the least amount of information needs to be transferred. There's no process at large software companies for growing designers in the way that there is for growing designers.
5. Does reuse bring problems? "We've seen so little design for reuse that we don't have enough experience of it". There are no incentives to invest in reuse either: it's political, rather than technical, issues that prevent it.
6. "The waterfall model is a disastrous way to build software".
7. Professional humility is a way to deal with turnover of system architecture staff.


Education
University of Virginia, Charlottesville, VA
Master of Computer Science December 2019
Related Courses: Data Structure and Algorithms, Compiler, Software Engineering, Machine Learning, Natural Language Processing, Deep Learning for Visual Recognition, Statistical Learning and Graphical Models, Cloud Computing…
current GPA: 3.9 / 4.0
Nanjing University, China
Master of Electronics and Communication Engineering(postgraduate recommendation) July 2018
GPA: 4.38 / 5.0
Bachelor of Electronic Information Science and Technology July 2015
GPA: 4.26 / 5.0, Top 15%
Honors: First Prize of Postgraduate Scholarship(twice) 2015&2017
Second Prize of the People’s Scholarship2012
Experiences
Intern, July. 2017 - Nov. 2017
Basic Platform Data Mining Group, Yiducloud (Beijing) technology Ltd. (Startup)
Project 1: Medical Records Scoring
- Achieved AUC of 0.9 by applying GBDT model to learn artificial evaluation criteria
- Utilized Spark to accelerate the training speed
- Helped launch the product to dozens of IIIA hospitals for generating evaluation results automatically
Project 2: Template Learning
Evaluated the weight of the nodes and its value(XPath) in the CDA documents by performing a similar approach as tf-idf
Used the important XPath as the keys to assist colleagues in producing the semi-structured output
Projects
Hair DyeMarch. 2019 - May. 2019
- Responsible for the neural network implementation, part of data loader and deploying to Android Application
- Deployed the Pytorch model to Android Application by using ONNX and Fritz framework
- Achieved F1 Score of 0.9 and IoU score of 0.817 on Figaro 1K dataset by using HairMatteNet model
- Git link: https://github.com/aobo-y/hair-dye
- Git link for Android App: https://github.com/quq99/hair-dye-android
MeggyJava CompilerMarch. 2019 - May. 2019
- Used the JLex and JavaCup tools for generating the lexer and parser
- Implemented a semantic analyzer for Symbol Table and Type Checking
- Implemented AVR code generation visitor
SouthPark ChatbotOct. 2018 - Dec. 2018
- Designed and implemented the evaluation part
- Achieved BLEU score of 15 on average, 75 the best by using the persona-based Seq2Seq model
- Trained a chat robot with personality and can perform diverse responses by using Transfer Learning and Beam Search
- Git link: https://github.com/quq99/SouthPark-Chatbot
Opioid Addiction Crisis in VirginiaOct. 2018 - Dec. 2018
- Performed anomaly detection in high dimension data by using Isolation Forest algorithm
- Manipulated data visualization in high dimension data by applying K-Means algorithm
- Improved the learning speed of 15% by using Principal Component Analysis (PCA) to reduce the input dimension
- Git link: https://github.com/quq99/Opioid_Addiction_Crisis_in_Virginia
- Video link: https://www.youtube.com/watch?v=Cq-OQ9UcBRo&feature=youtu.be
Agent Learning in OpenAI gymNov. 2016 - Dec. 2016
- Selected three environments in OpenAI gym: Acrobot-v1, CartPole-v0, pong
- Implemented reinforcement learning algorithms including CEM, PG, DQN and tested them in OpenAI gym
- Considered feature engineering to preprocess the input data, improved the learning speed twice
- Improved score by 5% by applying the actor-critic method to PG algorithm,
Skills
C++, Java, Python/ Tensorflow, Pytorch, Scikit-learn/ Git , shell script


See amazon-connect-streams for how to get the softphone media info
Note: stringify the object returned by contact.getAgentConnection().getSoftphoneMediaInfo() before pasting it here
Video Stream connected with the other side


Can a class extend an interface?
No. Only classes are extended, and a class may extend only one class.
You have reached the end of the chapter. You may wish to extend your knowledge by examining the following.
Back to the main menu.


Types of mutation
Applications handle modified inputs in one of two distinct ways. Most inputs vulnerable to server-side injection issues, especially those where the input originates from a free-form text field like a comment, only display a distinct response when you trigger a syntax error server-side:
/post_comment?text=baseComment 200 OK
/post_comment?text=randomtext 200 OK
/post_comment?text=random'text 500 Oops
/post_comment?text=random\'text 200 OK
On other inputs, any deviation from the expected input triggers an error:
/profile?user=bob 200 OK
/profile?user=randomtext 500 Oops
/profile?user=random'text 500 Oops
/profile?user=random\'text 500 Oops
/profile?user=bo'||'b 200 OK
/profile?user=bo'|z'b 500 Oops
The latter case is significantly harder to handle. To find such vulnerabilities we need to skip the quote-identification stage and guess the concatenation character to find evidence of a vulnerability, making the scanner less efficient. As we can't put random text in probes, we're constrained to a limited number of unique probes which makes reliably fingerprinting responses harder. At the time of writing the scanner doesn't handle such cases, although an early prototype has confirmed it's definitely possible.
This limitation doesn't apply to detecting injections into numeric inputs - given a base number, there is an infinite number of ways to express the same number using simple arithmetic. I've opted for x/1 and x/0, since dividing by zero has the added bonus of throwing an exception in some circumstances.


Skip to content
Miguel Jiménez
About
Projects
Resume
Curriculum Vitae
Blog Archives for March 2018
March
18
Continuous Learning
2019 © Miguel Jiménez


| Opcode/Instruction | Op/En | 64/32 bit Mode Support | CPUID Feature Flag | Description |
|---|---|---|---|---|
| F2 0F 5E /r DIVSD xmm1, xmm2/m64 | A | V/V | SSE2 | Divide low double-precision floating-point value in xmm1 by low double-precision floating-point value in xmm2/m64. |
| VEX.LIG.F2.0F.WIG 5E /r VDIVSD xmm1, xmm2, xmm3/m64 | B | V/V | AVX | Divide low double-precision floating-point value in xmm2 by low double-precision floating-point value in xmm3/m64. |
| EVEX.LIG.F2.0F.W1 5E /r VDIVSD xmm1 {k1}{z}, xmm2, xmm3/m64{er} | C | V/V | AVX512F | Divide low double-precision floating-point value in xmm2 by low double-precision floating-point value in xmm3/m64. |
| Op/En | Tuple Type | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| A | NA | ModRM:reg (r, w) | ModRM:r/m (r) | NA | NA |
| B | NA | ModRM:reg (w) | VEX.vvvv | ModRM:r/m (r) | NA |
| C | Tuple1 Scalar | ModRM:reg (w) | EVEX.vvvv | ModRM:r/m (r) | NA |
Divides the low double-precision floating-point value in the first source operand by the low double-precision floating-point value in the second source operand, and stores the double-precision floating-point result in the destination operand. The second source operand can be an XMM register or a 64-bit memory location. The first source and destination are XMM registers.
128-bit Legacy SSE version: The first source operand and the destination operand are the same. Bits (MAXVL-1:64) of the corresponding ZMM destination register remain unchanged.
VEX.128 encoded version: The first source operand is an xmm register encoded by VEX.vvvv. The quadword at bits 127:64 of the destination operand is copied from the corresponding quadword of the first source operand. Bits (MAXVL-1:128) of the destination register are zeroed.
EVEX.128 encoded version: The first source operand is an xmm register encoded by EVEX.vvvv. The quadword element of the destination operand at bits 127:64 are copied from the first source operand. Bits (MAXVL-1:128) of the destination register are zeroed.
EVEX version: The low quadword element of the destination is updated according to the writemask.
Software should ensure VDIVSD is encoded with VEX.L=0. Encoding VDIVSD with VEX.L=1 may encounter unpredictable behavior across different processor generations.
IF (EVEX.b = 1) AND SRC2 *is a register* THEN SET_RM(EVEX.RC); ELSE SET_RM(MXCSR.RM); FI; IF k1[0] or *no writemask* THEN DEST[63:0]←SRC1[63:0] / SRC2[63:0] ELSE IF *merging-masking* ; merging-masking THEN *DEST[63:0] remains unchanged* ELSE ; zeroing-masking THEN DEST[63:0]←0 FI; FI; DEST[127:64] ← SRC1[127:64] DEST[MAXVL-1:128] ← 0
DEST[63:0]←SRC1[63:0] / SRC2[63:0] DEST[127:64] ←SRC1[127:64] DEST[MAXVL-1:128] ←0
DEST[63:0]←DEST[63:0] / SRC[63:0] DEST[MAXVL-1:64] (Unmodified)
VDIVSD __m128d _mm_mask_div_sd(__m128d s, __mmask8 k, __m128d a, __m128d b);
VDIVSD __m128d _mm_maskz_div_sd( __mmask8 k, __m128d a, __m128d b);
VDIVSD __m128d _mm_div_round_sd( __m128d a, __m128d b, int);
VDIVSD __m128d _mm_mask_div_round_sd(__m128d s, __mmask8 k, __m128d a, __m128d b, int);
VDIVSD __m128d _mm_maskz_div_round_sd( __mmask8 k, __m128d a, __m128d b, int);
DIVSD __m128d _mm_div_sd (__m128d a, __m128d b);
Overflow, Underflow, Invalid, Divide-by-Zero, Precision, Denormal
VEX-encoded instructions, see Exceptions Type 3.
EVEX-encoded instructions, see Exceptions Type E3.


I wrote this plugin as a lightweight js tooltip solution for my Rackmount Servers project. This tooltip works differently for both mobile and desktop versions. The code for this plugin is somewhat procedural and needs some updating. I plan on revisiting this project to update the code and complete a pure CSS solution to go along with it. To see the source code visit my github page at Tooltip.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse eu consequat arcu. Nulla eget venenatis leo, sed elementum massa. Sed ante enim, fermentum id quam pulvinar, tempor pellentesque purus. Integer a metus quis enim condimentum lobortis. Duis feugiat vulputate nisl, et consequat risus adipiscing eu. Integer ac feugiat leo, nec blandit arcu. Suspendisse ornare eros non turpis elementum, vitae auctor arcu ultrices.


@NotThreadSafe
public class MessageDeframer
extends java.lang.Object
implements java.io.Closeable
This class is not thread-safe. All calls to public methods should be made in the transport thread.
| Modifier and Type | Class and Description |
|---|---|
static class |
MessageDeframer.Compression |
static interface |
MessageDeframer.Listener
A listener of deframing events.
|
| Constructor and Description |
|---|
MessageDeframer(MessageDeframer.Listener listener)
Creates a deframer.
|
MessageDeframer(MessageDeframer.Listener listener,
MessageDeframer.Compression compression)
Create a deframer.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes this deframer and frees any resources.
|
void |
deframe(Buffer data,
boolean endOfStream)
Adds the given data to this deframer and attempts delivery to the sink.
|
boolean |
isClosed()
Indicates whether or not this deframer has been closed.
|
boolean |
isStalled()
Indicates whether delivery is currently stalled, pending receipt of more data.
|
void |
request(int numMessages)
Requests up to the given number of messages from the call to be delivered to
MessageDeframer.Listener.messageRead(InputStream) . |
public MessageDeframer(MessageDeframer.Listener listener)
listener
- listener for deframer events.public MessageDeframer(MessageDeframer.Listener listener, MessageDeframer.Compression compression)
listener
- listener for deframer events.compression
- the compression used if a compressed frame is encountered, with NONE
meaning unsupportedpublic void request(int numMessages)
MessageDeframer.Listener.messageRead(InputStream)
. No additional messages will be delivered.
If close()
has been called, this method will have no effect.
numMessages
- the requested number of messages to be delivered to the listener.public void deframe(Buffer data, boolean endOfStream)
data
- the raw data read from the remote endpoint. Must be non-null.endOfStream
- if true
, indicates that data
is the end of the stream from
the remote endpoint.java.lang.IllegalStateException
- if close()
has been called previously or if
deframe(Buffer, boolean)
has previously been called with
endOfStream=true
.public boolean isStalled()
public void close()
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
public boolean isClosed()


Stream 0
- Codec: mpga
- Language:
- Type: Audio
- Channels: 2
- Sample rate: 44100 Hz
- Bitrate: 128 kb/s
General
Meta-information
- Title: The Second Great Depression
- Artist: Manic Street Preachers
- Album/movie/show title: Send Away The Tigers
- Date: 2007
- Track number/position in set: 5
- Genre: Rock
- Encoded by: LAME 3.90.3 Modified
- Language(s): English
VLC media player - version 0.8.6c Janus - (c) 1996-2007 the VideoLAN team


by Liz Rieth
by Liz Rieth
When Joe Trimmer wrote the proposal in 1999 that would change Ball State’s curriculum, he didn’t want to present it.
Trimmer, who had been a English professor at Ball State for 30 years, just wanted to write it.
Then-president John E. Worthen had asked Trimmer to write a proposal for a new way of learning at Ball State.
“This assignment, was a writing assignment I thought,” Trimmer said, but explained Worthen wanted him to present it. “I said I will come and explain what I have written, but when you guys start talking money, I will leave”
When Trimmer presented the proposal to potential funder Virginia Ball, he didn’t expect what came next.
Trimmer proposed Virgnia Ball Center for Creative Inquiry (VBC), program which offered courses where students immersed themselves in projects. Ball wanted to fully fund the idea, but she would only support it if Trimmer ran it.
“At the time … I just finished building the office of dreams at home … and I planned my retirement out [for Ball State],” Trimmer said.
Trimmer then started the program which later led to the creation of immersive learning.
Immersive learning courses, which Ball State’s website calls the “hallmark of Ball State education,” allow students to engage in project-based courses.
The courses “immerse” students in experiences where they collaborate with a faculty member and a community partner, Trimmer said.
This innovative way of learning has its roots with Virginia Ball. Ball, a philanthropist, wanted to give her money directly to Ball State students and not concrete buildings. She wanted a new way of learning and Trimmer, a friend of Ball’s was tasked with creating it.
After Ball approved it, the first courses were offered fall 2000.
He said he wanted the VBC to offer highly funded courses and give students and faculty a chance to focus solely on one project for a semester.
The classes were intended to be completely different than any other courses Ball State offered. The class still gave students credit, but it threw them head first into a project where they took charge.
One of the first immersive courses, called The Making of Americans, gave students a chance to present in Paris.
About 15 students researched French artists that impacted modern art with associate professor of English Rai Peterson.
The students took an all-expense-paid trip to France to present their findings and see the artists’ works in person. While there, the students also bought a $7,000 cabinet for the David Owsley Museum of Art.
Peterson said students were often working from morning until midnight five days a week to prepare for the trip.
The course allowed the students to be creative and gain an unique experience, she said.
“Ball State stands out among state universities,” Peterson said. “Immersive learning is powerful.”
Peterson said the course was great for her students, she was able to work with only a few students.
While VBC courses have earned eight Emmy’s, only around 60 students a year could be involved in VBC courses. This small number was one of the reasons Ball State’s curriculum was changed again a few years later.
President Jo Ann Gora became interested in VBC soon after she came to Ball State’s campus in 2004, said Jen Blackmer, associate provost for immersive learning.
Gora supported the concept, but wanted more students involved. So, In 2007, she launched the Education Redefined plan and created the immersive learning program.
Gora wanted every student and every department on campus involved in courses where they learned from an intensely focused exploration and collaboration. She also wanted the courses to be fewer credit hours and work with the Muncie community, Blackmer said.
“The idea is that you have your subject that you’re exploring and you just throw the students into the deep end,” Blackmer said. “They learn the fundamentals by working on this intensive project.”
Since then, the program has expanded to nearly every department on campus and in the 2017-18 school year, Ball State had 334 immersive learning projects, Blackmer said.
This way of learning benefits students, Blackmer said. It teaches them to be problem solvers, critical thinkers, and creative — plus it looks good on a resume.
For Kristin Wietecha, a Ball State speech pathologist graduate, her immersive learning experience allowed her to obtain experience for a specific condition she plans to work with in the future.
Wietecha’s course assisted people with dysphagia, a condition where a person has difficulty chewing and swallowing, she said. The course examined the safety of liquid thickness for people with this condition.
“A person with dysphagia may need thickened liquids in order to swallow safely,” Wietecha said in an email.
She explained the class’s research of liquid thickness assisted speech pathologists in the area.
“I was able to conduct a thesis that was helpful to those in my future profession,” she said. “I was able to make professional connections with community speech-language pathologists.”
When Wietecha was younger, she experienced swallowing issues and speech pathologists helped her learn to swallow safely. By working on this course, she said she “came full circle” and was making steps to her future career goals.
Today, students have worked on immersive learning projects that have created neighborhood action plans, documentaries, community education programs and solar panel design, to name a few.
Often, Muncie nonprofits have vital work done by immersive learning projects, Blackmer said.
The nonprofit Second Harvest Food Bank would be “several steps back” in its ability to give if it weren’t for immersive learning, said President Tim Kean.
The nonprofit, which works to fight food insecurity in eight surrounding counties, has been influenced by a multitude of immersive learning projects over the last decade, Kean said. The projects have saved the organization time and money.
One project for the company conducted a hunger study over three semesters. The study used to be done every few years by a national nonprofit, Kean said. When it was no longer conducted by the nonprofit, Ball State’s immersive learning program stepped up fall 2017.
“It yields us with some data we will be able to utilize in years to come,” Kean said. The data, he said, will go toward attaining future grants.
A previous immersive learning course produced eight maps that showed food insecurity for each county the organization serves.
“They did real live stuff that has mattered to communities,” Kean said. “I don’t have enough good things to say about [immersive learning].”
Contact Liz Rieth with any comments at<EMAIL_ADDRESS>or on Twitter @liz_rieth.


Homepage
Resume Adding Page
Log Out
Personal and Contact Info
First name
Last name
Mobile
Email
Location
Educational Info
University Name
Department Name
University Start Year
University Graduate Year
Actual GPA
Experience
Company Name
Title
Start Date
Finish Date
Descriptions
Skills
C++
Python
Java
C (Programming Language)
Javascript
Matlab
Object Oriented Programming
Android Programming
Web Programming
Database Management
NodeJs
Docker
Kubernetes
Linux
Go
Swift
Data Structures
Artificial Intelligence
Machine Learning
Deep Learning
Computer Vision
Robotic
Certificate
Certificate Name
Certificate Name
Certificate Name
Certificate Name
Certificate Name
Certificate Name
Save


Comments
-
Greg Hurrell
At a guess, I'd imagine that you're running out of menu bar real estate.
If you have a lot of "menu extras" and "status items" on the right-hand side of the menu bar, and then you run an application with a lot of menus (or wide menus) you will eventually run out of space.
In that case, the system will let the left side "win" and the items on the right hand side will be hidden from view, starting from the left and moving right.
You can test this by seeing if the Synergy hot keys still work when the menu bar controls disappear. This will indicate that it's still running but you just can't see it.
So you have a number of options to deal with this:
- Turn off some of the less important "menu extras" and "status items"
- Try to get Synergy to appear further to the right (see notes on this below)
- Buy a bigger screen (yes, I know, not always an option)
- Run at a higher res (again, not always an option)
So, how do you make Synergy appear further to the right? First up you need to know that Synergy is a "status item" and status items always appear to the left of menu extras. There is no way to make a status item appear to the right of a menu extra. The best you can hope to do is make it appear to the right of other status items, and you do this by controlling their load order. First loaded appears on the right. So have a look in your login items (if you have Synergy set to launch at login) and see if you can move it up in the list; to do this you'll need to look in the "Accounts" tab of the System Preferences.
Hope this sheds some light on the issue for you.
-
Greg Hurrell
Ok, going to mark this issue as CLOSED due to lack of response. Please feel free to add a new comment if you'd like me to reopen it.
Add a comment
Comments are now closed for this issue.


What are hives?
Hives (urticaria) are red, itchy welts that result from a skin reaction. The welts vary in size and appear and fade repeatedly as the reaction runs its course.
Symptoms
- Batches of red or skin-colored welts (wheals), which can appear anywhere on the body
- Welts that vary in size, change shape, and appear and fade repeatedly as the reaction runs its course
- Itching, which may be severe
- Painful swelling (angioedema) of the lips, eyelids and inside the throat
- A tendency for signs and symptoms to flare with triggers such as heat, exercise and stress
- A tendency for signs and symptoms to persist for more than six weeks and to recur frequently and unpredictably, sometimes for months or years
When to see a doctor
See your doctor if you have severe hives or hives that continue to appear for several days.
How to treat hives
- Loratadine (Claritin)
- Fexofenadine (Allegra)
- Cetirizine (Zyrtec)
- Desloratadine (Clarinex)