Congestion Control
TCP Congestion Control is responsible for regulating the rate and amount of packets that your computer sends. This is important for regulating the total amount of data in flight in a network - if every host sends as much data as possible, the routers in the middle will not be able to handle the traffic and thus drop packets.
Traditionally, TCP has used Loss based congestion control, such as TCP Cubic. Generally, these schemes keep sending more data until they see loss in the network. This means that they have hit the maximum throughput of the network, and thus they back off slightly. While this is generally effective at maximizing throughput, this puts unnecessary strain on networks because there are more packets in flight than needed to fully utilize the network.
Routers have queues or buffers to handle excess packets - when a router receives packets at a rate greater than it can retransmit, it will queue these packets into this buffer. When this buffer is filled, the router will simply drop this packet. Because loss based schemes wait until this dropping point to slow down their sending rate, they will always increase until the queue is completely full. If the queues are large, this can greatly increase the round trip time of packets, and reduce the networks’ resilience to traffic bursts.
Delay Based Congestion Control
Delay based control aims to fix this problem by attempting to send at the maximum rate possible without filling the intermediate buffers. As the number of packets sent by an application increases, its throughput will increase up until the bottleneck routers operating point. Then, these packets will just be queued into the router’s buffer or dropped. As the router queue becomes filled, the round trip time for each packet will be increased as they must now wait in this filled queue. This relationship is depicted below.
BBR: Congestion-Based Congestion Control. Neal Cardwell et. al
BBR
BBR (bottleneck bandwidth and round-trip propagation time) is not strictly a loss based or delay based congestion, but rather a congestion based protocol that attempts to infer the optimal sending rate for an application by estimating two parameters: the perceived bandwidth and the round trip time. Using these parameters, BBR should also operate at the optimal sending rate shown above.
In a perfect world, the optimal operating point is at the BDP (bandwidth delay product) which calculates the maximum packets that can be transmitted through a network without excess delay. But, operating at this point reliably in practice is still an active area of research.
Background Work
Measuring bottleneck bandwidth and round-trip propagation time
Mario Hock, Roland Bless, Martina Zitterbart
Karlsruhe Institute of Technology
Karlsruhe, Germany
Validates BBR with a series of tests. Discusses the following limitations:
Estimate of bandwidth is available share.
Esimate of bandwidth is always too high.
Luke Hsia and Jervis Muindi
Mo Dong et. al. 15
A congestion control protocol using a ‘black-box’ approach to networks. The algorithm relies on utility functions and mini experiments to adjust sending rate.
Venkat Arun et. al. NSDI 2018
Uses a black-box approach to congestion control similar to PCC. This improves on PCC’s experiment idea and includes delay in its utility function.


which
Locate a program in the user's path.
More information: home page
- Search the PATH environment variable and display the location of any matching executables:
which executable
- If there are multiple executables which match, display all:
which -a executable


Difference in miRNA expression between USP8-mutated and USP8 wild-type corticotroph PitNETs. ( a) Volcano plot showing differentially expressed miRNAs. Significance and fold change thresholds are marked with dashed lines. ( b) The expression levels of differentially expressed miRNAs in tumor samples stratified according to USP8 mutation status with hierarchical clustering of the samples.


LA Dadekotopon gives to persons with disability
The LA Dadekotopon Municipal Assembly (LaDMA) has presented items and cash to physically challenged persons in the municipality to support their livelihood.
The presentation which was the 10th in a series was part of a package established by law to cushion physically challenged persons through the District Assemblies Common Fund.
The items presented included chest freezers, photocopier machines, industrial sewing machines, metallic mini shops and cash depending on the needs of each individual beneficiary.
In a brief message to the beneficiaries, Rev. Nikoi asked them to use both the cash and the items judiciously to improve their lives.
He said disability did not imply that people lack the abilities to fend for themselves.
Rev. Nikoi advised them to eschew from any tendency of misappropriating the money since such opportunities were not there for many.
He said social workers from the municipal office would visit them periodically to ensure that the items and the money were being put to good use.
Rev. Nikoi asked those yet to receive their package to exercise patience as they would be given theirs as soon as practicable.


Microformats Hootenanny
Arrive
2014-01-01T12:00:00+00:00
, stay until
six pee em GMT on the first day of the first month, year three thousand, four and ten.
That’s right, the microformats
party
hootenanny
lasts for
ONE THOUSAND YEARS
.


_kly She stared blankly out of the window, her thoughts bleakly reflecting the biweekly routine of her life.[G|D] Frankly speaking, she walked briskly and meekly down the street, uncertain of where her journey would take her.[G|D] The starkly bright sun revealed a landscape of prickly cacti and sickly yellow grass, creating an unforgiving atmosphere.[G|D] She had aged quickly, her skin becoming wrinkly and weakly covered in a layer of thickly applied makeup.[G|D]


Hi,
I'm using Emonlib on a particle photon , coupled with an SCT-013-005 (1Vout for 5A) in order to detect when the pump of my fuel boiler is on (sor I can measure fuel consumption).
..
emon1.current(1, 5); // Current: input pin, calibration.
..
double Irms = emon1.calcIrms(1480); // Calculate Irms only
But the results seems strange : I get max 34W measured with an halogen bulb of 60W
the gap seems really too high to me to be reliable :-/
...
Re: Sct013-005 , unexpected results
I cannot guess - what current does your 60 W represent?
[Read the FAQ for two reasons - the answer might be there, and you'll see what you need to tell us so that somebody can help you.]
Re: Sct013-005 , unexpected results
I measure 50mV AC with my multimeter , so with 230V , it's corresponding to a current of 0.25A and more or less to the power of the bulb (57.5W computed for theory of 60). The sensor is biased to 1.65V using 2 20K resistor and a 10uF capacitor .
Re: Sct013-005 , unexpected results
How did you measure the 50mV with your multmeter... was it with one end of the CT connected to your mid-rail, and the other end connected to your analog input, and the multimeter connected between the two? Or was it the multimeter connected directly to the CT with no other hardware in sight? Do you have an additional burden resistor on your board, or are you using just the burden resistor inside the CT?
Re: Sct013-005 , unexpected results
The sensor has an integrated burden resistor, and I'm using only this one. I measured the voltage with both end of the CT connected directly to the multimeter. But I will try to measure using the bias voltage too !
Re: Sct013-005 , unexpected results
If you get a different voltage, 50 mV * 34 / 60 or very near to that, at the same place when the CT is in-circuit, it means something has gone wrong with your circuit design and you are "loading" the CT. If not, then my first guess would be that emonLib has not measured or been told the correct value for the reference voltage that the ADC is using, and so it has applied the wrong calibration factor.
The easy fix in this case will be to change the lines in emonLib.cpp where this is done. It is in two places, lines 178 - 182 in calcIrms( ), lines 69 - 73 in calcVI( ), and you need to assign the correct value for your board to "SupplyVoltage".
[What these lines do is if you have an emonTx V3 and you have "#define emonTxV3" in the sketch, it assigns the number 3300 (3300 mV) to SupplyVoltage. Otherwise, it tries to measure it using the internal 1.1 V reference and readVcc( ).]
Also, you might want to change the "1480". That was our best guess for the number of samples it reads in a whole number of mains cycles (I think it was 15 cycles @ 50 Hz, 18 @ 60 Hz), so if your Photon runs at a different speed (and it looks like about 3-4 x faster!) than the Atmel 328P, 1480 will not be the best number to use.
[Edit:]
See http://openenergymonitor.org/emon/node/11292 and http://openenergymonitor.org/emon/node/11309 for others who are experimenting with the Photon.
Re: Sct013-005 , unexpected results
If you work through all the #ifdefs in readVcc() I think the intention at least is to return 3300 for your platform (and any platform it doesn't recognise), so if it doesn't you might want to fix it in there. I'm not sure why the #ifdefs Robert refers to above are outside the routine and the rest are inside... I suspect for historic purposes.
Re: Sct013-005 , unexpected results
I corrected the problem by changing the analog input . By swapping from A1 to A0 on the Photon , I get a good 57W Oo I can't explain why , I will ask on the Photon forum if there's a specific reason to get such a different result...
By the way , I think the Aref voltage is fixed to 3300 in the Emon Photon library available . Concerning the sampling rate that's not so well documented but I think tha sampling time can be modified , so the impedance is changing too. I will do some tests for the best number of samples and post it here.
Re: Sct013-005 , unexpected results
By swapping from A1 to A0 on the Photon , I get a good 57W
That does sound dodgy but I'm glad you got it sorted. When you get to the bottom of that I'm sure the owner of this thread: http://openenergymonitor.org/emon/node/11292 would appreciate a heads-up on what you found (I've linked him back to here as well).
Do you have any over-voltage protection on your ADC inputs? At 1V per 5A your CT could potentially generate some pretty serious voltages. I'm wondering whether there's any chance you over-cooked A1 at some stage?
What are the specs on your boiler fuel pump? You're probably already aware of this but in case not: pumps can draw some big current as they start up for quite an extended number of cycles. I suspect my pool pump is way bigger than your fuel pump, but I'll attach a pic to show you just how bad it can be. Once it's running I think it draws about 5A, and it's on a 20A breaker, so I figured a 20A CT (as in 20A -> 333mV) would be fine. It wasn't... the first few cycles got the IC well and truly clipping. My inputs are +/-500mVpeak max deflection and +/-2Vpeak never exceed. I've now put a 50A CT on it, and things work much better.
Re: Sct013-005 , unexpected results
Just as a guide, a typical induction motor will draw 7-10 times its normal running current when starting up.
Then when it is running, the watts consumed are considerably less than amps x volts due to the lagging power factor.
Re: Sct013-005 , unexpected results
It's called "inrush", if you want to read about it.
Re: Sct013-005 , unexpected results
And power factor (and power of course) varies quite a bit with load. The two pics below compare my pool pump being a pump (~1100W with a PF of 0.89) Vs running on the bench with the impeller removed (~250W with a PF of 0.47). In fact my energy monitor alerts me when it's time to clean the filters and even shuts the pump off when it detects cavitation.
Re: Sct013-005 , unexpected results
I'm aware about motors inrush current , but thanks to remind me to put some protections at the analog inputs :-) The scope screens are indeed explicit ! Oo
But at this time I'm using only an classic light bulb of 60W for thr tests, so a pure resistive load. I will check my A1 input with known voltage and if there's not a sort of functions mix with this pin on the Photon board .
The measured voltage (multimeter) when the fuel pump is on is about 0.15V if I remember well. So the Rms power is ~122W.
Re: Sct013-005 , unexpected results
Tungsten light bulbs also exhibit inrush - about 12-13 times is normal for a projector lamp. It's the temperature coefficient of resistance of tungsten that does it, with the temperature going from 290 °K to about 2700 °K or so. The easy way to check is measure the resistance cold with a multimeter, then calculate it from the power/voltage/current.
I've just measured a 40 W one. Cold it was 155 Ω, V2/ P = 1440 Ω so that's going to have an inrush current of about 9 times.
Re: Sct013-005 , unexpected results
Interesting information. Thx !
Re: Sct013-005 , unexpected results
Here's a pic of a 60W bulb lighting up. For maximum effect you need to time it so that you hit the cold filament right around Vpeak. It heats up quickly so things have calmed right down by the time of the next peak (at least for this bulb). After several attempts, 4.5A was about the best I could manage.
Re: Sct013-005 , unexpected results
That's something like 16 × the rms running current?
Re: Sct013-005 , unexpected results
dBC, nice idea on having an alert and even shutdown related to the filter status.
Just added that to my TO DO list! ;)
Re: Sct013-005 , unexpected results
Yep, when the pump is being starved of water it's pattern is pretty recognisable (see image). Instead of being a nice steady ~1300W or so, it starts oscillating between that number and about 500W while it's sucking air. Then it re-primes and repeats forever (or until the impeller fails). My test is pretty simple: if the power has been in the 500-900W range twice in a two minute interval then raise an alarm. Occasionally I'll get false positives if I'm down there doing maintenance (switching things off/on manually), but I figure that's a good way of testing the tester every once in a while.
Smappee-like devices might get there one day, but in the meantime I find it's hard to beat per-breaker monitoring with bespoke rules written for expected behaviour and expected faults on each circuit.


Economic reforms bearing fruit, says PM Imran on narrowing of current account deficit
by https://www.dawn.com/authors/202/dawn-com, Dawn.comPrime Minister Imran Khan on Tuesday hailed the $99 million current account surplus posted in October — after a gap of more than four years — saying the country's economy was finally heading in the right direction.
"Pakistan economy finally heading in right direction as more of our economic reforms bear fruit: Pak's current account turned into surplus in Oct 2019, for first time in 4 yrs. Current account balance was +$99mn in Oct 2019 compared to -$284mn in Sept 2019 & -$1,280mn in Oct 2018," he said on Twitter.
"For first 4 months of our fiscal year, our current account deficit has fallen by 73.5% compared to same period last fiscal year. Our exports of goods & services in Oct 2019 rose 20% over previous month and 9.6% over Oct 2018. I congratulate our exporters & encourage them to do more," added the premier.
The latest data released by the State Bank of Pakistan (SBP) showed the government has succeeded in bringing down the current account deficit.
The data for October showed the current account was positive 99m against a net deficit of $1.28bn in the same month of previous fiscal year.
The surplus in October and narrowing of four-month current account deficit was mainly achieved due to a massive cut in the imports’ bill. The government is facing criticism that the massive decline in imports have slowdown overall economic activities which would ultimately hit the GDP growth rate.
The SBP governor, however, said the fall in current account deficit is a big achievement for country and is a sign of macroeconomic stability.


joy-global
Businessmodel of Joy Global
Customer Segments
Joy Global has a niche market business model, with a specialized customer segment. The company targets its offerings at large regional and global mining companies. None of its customers account for more than 10% of its sales.
Value Proposition
Joy Global offers three primary value propositions: accessibility, performance, and brand/status.
The company creates accessibility by providing a wide variety of options. It has acquired numerous firms since its founding, enabling it to expand its capabilities. In 2011 it purchased LeTourneau Technologies, enabling it to add high-capacity LeTourneau front-end loaders for its mining operations. The same year it bought a large stake in China-based International Mining Machinery Holdings. This enabled it to enhance its access to the country’s coal-mining machinery market.
The company demonstrates strong performance through tangible results. In a prominent case example, its drill experts recommended that an Alaskan gold mine company use its Montabert HC95 drifter drill. The product produced the following positive outcomes:
- Penetration rates increased by 33%
- Consumable cost decreased by 23%
- Maintenance intervals decreased by 33%
- Noise levels decreased, improving the safety of operating conditions The company has established a strong brand due to its success. It maintains 135 locations in 20 countries across six continents. It bills itself as the world’s largest producer of high productivity underground mining machinery for the extraction of coal, potash, salt, platinum and other bedded
mater. It also touts itself as the world’s largest producer of electric mining shovels. Lastly, it has won many honors, including the following:
- Recognition as one of “America’s Healthiest Companies” by the Wellness Council of America
- Recognition as “Corporate Partner of the Year” by Milwaukee Habitat for Humanity
- Recognition as having “Best Performance – Shovels and Loaders” in Chile’s Ranking of Suppliers of the Mining Industry ### Channels
Joy Global’s main channel is its direct sales team. The company promotes its offering through its website, social media pages, and participation in trade shows and conferences.
Customer Relationships
Joy Global’s customer relationship is primarily of a self-service nature. Customers utilize its products while having limited interaction with employees. The company’s website features eLearning catalogs and training guides for its operator, electrical, and mechanical training programs. It also features a “Resource Library” that includes brochures, case studies, white papers, and specification sheets.
Despite this orientation, there is a personal assistance component. The company offers the following instructor-led training programs:
- Milwaukee-Based Training – Joy Global provides training at its headquarters in Milwaukee, Wisconsin. Program components include hands-on work with various equipment system components and skills practice in maintaining and troubleshooting specific products in its Training Lab.
- Field-Based Training – Joy Global sends training personnel to customers’ facilities so they can tailor training programs to their systems’ needs. In cases where instructors are not available, the firm utilizes trainers from regional service organizations. ### Key Activities
Joy Global’s business model entails designing, developing, manufacturing, and marketing mining equipment and parts, as well as designing and delivering related services.
Key Partners
Joy Global’s key partners are the suppliers that provide it with the raw materials and processed inputs it needs to manufacture its products. These items include steel, copper, and engine and electronic components.
Key Resources
Joy Global’s main resources are its human resources, who include the engineers that design, develop, and manufacture its products; the salespeople that promote the products; and the training staff members that provide instruction. It maintains important physical resources in the form of its manufacturing facilities in the United States, Canada, Australia, France, the United Kingdom, South Africa, and China.
Cost Structure
Joy Global has a cost-driven structure, aiming to minimize expenses through significant automation. Its biggest cost driver is cost of sales, a variable expense. Other major drivers are in the areas of product development, a variable cost, and sales/marketing and administration, both fixed costs.
Revenue Streams
Joy Global has two revenue streams:
- Service Revenues – Includes revenues generated from repair and maintenance services, diagnostic analysis, fabrication, mining equipment and electric motor rebuilds, equipment erection services, training, and sales of replacement parts; represented 74% of total sales in 2015
- Equipment Revenues – Includes revenues generated from sales of original equipment for the mining industry; represented 26% of total sales in 2015


Shows statistics about bytes contained in a file as a circle graph of deviations from mean in sigma increments. The function can be useful for statistically analyze the content of files in a glimpse: text files are shown as a green centered crown, compressed and encrypted files should be shown as equally distributed variations with a very low CV (sigma/mean), and other types of files can be classified between these two categories depending on their text vs binary content, which can be useful to quickly determine how information is stored inside them (databases, multimedia files, etc).
| Version: | 1.1 |
| Depends: | R (≥ 3.3.1) |
| Suggests: | knitr, rmarkdown |
| Published: | 2017-01-19 |
| Author: | Roberto S. Galende [aut, cre] |
| Maintainer: | Roberto S. Galende <roberto.s.galende at gmail.com> |
| License: | GPL-3 |
| NeedsCompilation: | yes |
| CRAN checks: | bytescircle results |
| Reference manual: | bytescircle.pdf |
| Vignettes: |
bytescircle User Manual |
| Package source: | bytescircle_1.1.tar.gz |
| Windows binaries: | r-devel: bytescircle_1.1.zip, r-release: bytescircle_1.1.zip, r-oldrel: bytescircle_1.1.zip |
| OS X binaries: | r-release: bytescircle_1.1.tgz, r-oldrel: bytescircle_1.1.tgz |
| Old sources: | bytescircle archive |
Please use the canonical form https://CRAN.R-project.org/package=bytescircle to link to this page.


|
Classes:
AttackDetail,
AttackSummary,
AttackVectorDescription,
CreateProtectionRequest,
CreateProtectionResponse,
CreateSubscriptionRequest,
CreateSubscriptionResponse,
DeleteProtectionRequest,
DeleteProtectionResponse,
DeleteSubscriptionRequest,
DeleteSubscriptionResponse,
DescribeAttackRequest,
DescribeAttackResponse,
DescribeProtectionRequest,
DescribeProtectionResponse,
DescribeSubscriptionRequest,
DescribeSubscriptionResponse,
ListAttacksRequest,
ListAttacksResponse,
ListProtectionsRequest,
ListProtectionsResponse,
Mitigation,
Protection,
SubResourceSummary,
Subscription,
SummarizedAttackVector,
SummarizedCounter,
TimeRange
|


XML-RPC access to Roundup
Contents
Introduction
Version 1.4 of Roundup includes an XML-RPC frontend. Some installations find that roundup-admins requirement of local access to the tracker instance limiting. The XML-RPC frontend provides the ability to execute a limited subset of commands similar to those found in roundup-admin from remote machines.
There are two ways to access the xmlrpc interface:
stand alone roundup-xmlrpc-server
access via the roundup server
stand alone roundup-xmlrpc-server
The Roundup XML-RPC standalone server must be started before remote clients can access the tracker via XML-RPC. roundup-xmlrpc-server is installed in the scripts directory alongside roundup-server and roundup-admin``. When invoked, the location of the tracker instance must be specified.
roundup-xmlrpc-server -i /path/to/tracker
The default port is 8000. An alternative port can be specified with the --port switch.
accessing via roundup server
In addition to running a stand alone server described above, the xmlrpc service is available from the roundup HTTP server. Access it by sending text/xml data to the URL for the roundup tracker with the last component of the url set to ‘xmlrpc’.
security consideration
Note that the current roundup-xmlrpc-server implementation does not support SSL. This means that usernames and passwords will be passed in cleartext unless the server is being proxied behind another server (such as Apache or lighttpd) that provide SSL.
client API
The server currently implements four methods. Each method requires that the user provide a username and password in the HTTP authorization header in order to authenticate the request against the tracker.
| Command | Description |
|---|---|
| list | arguments: classname, [property_name] List all elements of a given classname. If property_name is specified, that is the property that will be displayed for each element. If property_name is not specified the default label property will be used. |
| display | arguments: designator, [property_1, ..., property_N] Display a single item in the tracker as specified by designator (e.g. issue20 or user5). The default is to display all properties for the item. Alternatively, a list of properties to display can be specified. |
| create | arguments: classname, arg_1 ... arg_N Create a new instance of classname with arg_1 through arg_N as the values of the new instance. The arguments are name=value pairs (e.g. status='3'). |
| set | arguments: designator, arg_1 ... arg_N Set the values of an existing item in the tracker as specified by designator. The new values are specified in arg_1 through arg_N. The arguments are name=value pairs (e.g. status='3'). |
| lookup | arguments: classname, key_value looks up the key_value for the given class. The class needs to have a key and the user needs search permission on the key attribute and id for the given classname. |
| filter | arguments: classname, list or None, attributes list can be None (requires allow_none=True when instantiating the ServerProxy) to indicate search for all values, or a list of ids. The attributes are given as a dictionary of name value pairs to search for. |
sample python client
>>> import xmlrpclib
>>> roundup_server = xmlrpclib.ServerProxy('http://username:password@localhost:8000', allow_none=True)
>>> roundup_server.list('user')
['admin', 'anonymous', 'demo']
>>> roundup_server.list('issue', 'id')
['1']
>>> roundup_server.display('issue1')
{'assignedto' : None, 'files' : [], 'title' = 'yes, ..... }
>>> roundup_server.display('issue1', 'priority', 'status')
{'priority' : '1', 'status' : '2'}
>>> roundup_server.set('issue1', 'status=3')
>>> roundup_server.display('issue1', 'status')
{'status' : '3' }
>>> roundup_server.create('issue', "title='another bug'", "status=2")
'2'
>>> roundup_server.filter('user',None,{'username':'adm'})
['1']
>>> roundup_server.filter('user',['1','2'],{'username':'adm'})
['1']
>>> roundup_server.filter('user',['2'],{'username':'adm'})
[]
>>> roundup_server.filter('user',[],{'username':'adm'})
[]
>>> roundup_server.lookup('user','admin')
'1'
If you are accessing the interface via the roundup HTTP server, a url similar to:
http://username:password@localhost:8000/tracker/xmlrpc
should be used.


{% extends "base_email.html" %} {% block content %} {% comment %}
Your email {{ user.email }}, pls {{ user.full_name }} activate your account
You {{ email }} have been invited to join this workplace please click on the join link to signup


Wharf Manager Felton:
Since they were shipwrecked near the entrance, it should be near the broken bridge on your way to Devil's Isle. Go see for yourself.


The sound of a slamming door, you awaken in the Epicodus Computer Room, all alone.
Suddenly screeching sounds surrounds you.
It draws closer and closer to you.
Continue...

The building seems to be totally empty, with no sign of whoever made the noises earlier.
With quickened steps, you head straight for the elevators.
Continue...
I'm so bored. Will you play a game with me?
YES
NO!
You've Made It To The Dungeon. Beat Me, Be Free, Fail and Never Prevail!
Continue...
Your Final Chance
The clock is ticking, solve and survive, fail and forever remain...
Hang Loose or Hangman...
You're Free! Escape Epicodus Now!
 You're doomed to haunt this building for eternity...


Bond
May to August
RAG (12 August) - Receive and Give is one of the biggest Freshmen Orientation Events throughout the summer (June to August). It is held by NUSSU, providing a stage to showcase the creativity and talent of students from individual faculties. This is to show our appreciation to our sponsors and the public who have donated generously to during Flag Day (8 August).
SoC RAG family consist of freshmen to alumni who come together as one RAGGER, forming strong friendships and unforgettable experiences. #YORO #YouOnlyRagOnce - In your freshmen year! So what are you waiting for? Be a part of our SoC RAG family today!
|
RAG is a great platform to meet your future batchmates and seniors
from School of Computing. I signed up for RAG dance as I have some prior
dance background. At the start of my RAG journey, I thought that RAG would
be all work and very little fun. However, as time goes by, I met many
amazing, genuine, and kind people which made RAG so much more meaningful.
After RAG ended, many of my friends continued their dance journey by
joining CCAs in NUS. I am joining RAG again this year as the dance head
in hopes to build the culture that the seniors have passed down from my
freshmen year. Also, I hope to inculcate dance fundamentals to the
incoming freshmen and they can pick up new skills. See you during RAG!
Nivian Lee, Year 1 Information Systems Student |
RAG was indeed one of the most fun and enjoyable experience I had during
the entire course of my orientation in SOC. I went into RAG as a dancer with
no prior experience in dancing at all. However, under patient guidance and
teachings from the seniors, they helped me build my confidence and skills in
dancing such that I was confident enough on the day of the performance.
Through RAG I have picked up new skills and made many friends, most of my
friends in SOC are from RAG. In my opinion, there is nothing to lost and all
to gain from joining RAG.
Daniel Tan, Year 1 Computer Science Student |
|
RAG was definitely an enjoyable and unforgettable experience even though
I only took part in RAG in the last 2 weeks before the performance. It was a
short 2 weeks but I forged many friendships and witnessed the dedication of
the seniors which inspired me to join rag again this year as a committee
member because I want to let the freshmen enjoy themselves during rag like I
did.
Vanessa Loh, Year 1 Information Systems Student |
This will be my 3rd year contributing to SoC RAG and I have no #Ragrets
spending my university summers doing RAG. I have seen many different batches
of freshmen coming together to build this unforgettable experience and
making friends that last throughout their university years. My greatest
appreciation to the Freshmen who have no prior experience in performing arts
or float-making yet deciding to join SoC RAG to learn something new anyway.
I feel that SoC RAG is very unique as we focus more on family bonding as one
faculty. Not forgetting the work hard play hard spirit #GoForGoal.
Regine Xu, Year 3 Computer Engineering Student |
Xu Haoting (Regine)
Project Director
Chay Yi Yang Desmond
Vice Project Director (Manpower & Float Head)
Daniel Tan Joon Kai
Vice Project Director (Finance & Publicity)
Lee Yun Lin Nivian
Dance Head
Katrina Hoong Jia Yi
Assistant Dance Head
Lim Si Min, Clarisse
Costume & Makeup Head
Low Rui Jia
Assistant Costume Head
Sarah Gui Poh Cheng
Assistant Makeup Head
Huang Lie Jun (Larry)
Drama Head
Quentin Khoo
Assistant Drama Head
Ng Tzer Bin
Drama Member
Zhu LingJie
Assistant Float Head, Designer
Francis Lee
Float Engineer, Designer
Ng Zi Kai
Media + Senior Alumni Relation IC
Benjamin Loo Qi En
Media + Senior Alumni Relation IC
Loh Cai Jun
Float Engineer, Designer
Elysia Tan Ziyi
Float Engineer, Designer
Lim Hui Qi
Choreographer
Md Ashmawi
Choreographer
Leonardo Sjahputra
Choreographer
Tiong YaoCong (Chase)
Logistics, Green IC
Vanessa Loh
Logistics, Green IC
Caryn Heng
Logistics, Green IC
Background pattern Symphony from subtlepatterns.com used under CC BY-SA 3.0


A fermenter is the single most important piece of equipment a brewer owns. Second-hand brewpots and bottle cappers can be used to make first quality beer, but a scratched, leaky, or flimsy fermenter will guarantee a spoiled product. So always get the best quality fermenter you can. I don't recommend plastic fermenters at all. Not in the least. If you want to know about plastic fermenters, see the section on junk.
Glass carboys, or water bottles, are by far and away the best fermenters for the homebrewer. Some commercial brewers even use them! Glass is easy to clean, since you can always see the spots you missed, and there are no corners to evade a brush. They are scratch resistant, and don't harbor the odors of long lost brews.
Carboys come in a variety of sizes. The small two and a half gallon size is good for half batches, or for meads, where you don't neccesarily want to make a full five gallons. The standard five gallon size is great for secondary fermenters, but for primary fermentations, use a six and a half or seven gallon carboy if you can. When you put in five gallons of wort into a seven gallon carboy, you have plenty of headspace. If you use a five gallon model, you must either use a blow-off tube or reduce your wort to only four gallons, topping it off with a gallon of water when you bottle or rack to the secondary.
Another alternative to fermenters is to use five gallon soda kegs. With a little work, an airlock can fit on the "in" line. Like a five gallon carboy, make sure you have plenty of headspace. One advantage to using soda kegs is that you can use CO2 pressure to transfer you beer instead of starting a siphon.
I've seen fermenters made out of old copper milks cans and other dairy equipment. If you have access to them, great.
A brewpot can be a five gallon stainless steel pot, an eight gallon canning pot, or anything else that will hold the wort and sit on a burner. It is best to boil your full quantity of wort, so the ideal size of brewpot would be eight to ten gallons, for a five gallon batch. If you boil in a smaller size, your wort will be concentrated, resulting in poor hop utilization. Plus, you have to do a lot of topping off in the fermenter.
Brewpots should be as rugged as you can find them. Lids and handles are a necessity. If you can find one with a spigot installed at the bottom, great. Ones with thermometer probes are even better. Enameled pots should be free of chips. Copper brewpots are the best if you can afford, or even find, them. Stainless steel is very durable, can be scrubbed with brute force, and resist dents. However, stainless steel doesn't conduct heat very well, so your wort is prone to scorch in spots. By all means, avoid aluminum, as it reacts with the acidic wort, causing strange and unpalatable flavors in your finished beer.
They should be able to fit on your stove top, even if they have to fit over two burners. Gas stoves are preferable to electric. If you can't use your brewpot on a stove, see the additional equipment section for outdoor burners.
I have seen plastic brewpots! They have an electric burner built and insulated from the plastic. By all accounts, they work well, and are relatively inexpensive. On the down side, boiling wort produces deposits on the walls of the brewpot, called beer stone, that takes scrubbing or oven cleaner to remove. Plastic can't hold up to this kind of cleaning.
Of course, you equipment has to be clean. Old fashioned elbow grease, sponges and nylon scrub pads will do most of the work for you. But cleaning in places where your hands won't reach requires specialized tools. Bottle brushes and carboy brushes are a necessity. Even if you have a jet-type bottle washer, brushes are still needed to do the scrubbing. There is even a tiny bottle brush made for cleaning out airlocks.
Cleaning may get the dirt off, but you need a sanitizer to get the microbes off. The two most common sanitizers for homebrewing are chlorine bleach and iodine sanitizer. Campden tablets are also used, but more suited towards wine and mead making and I would advise against using them. If you decide to use chlorine bleach, it must be unscented. Iodine sanitizer is sold under many different brand names. B.T.F. and Iodophor being common brands.
If you use chlorine bleach, add one to two ounces to five gallons of cold water. Sanitize your small equipment in this solution for at least a half of an hour. Then pour your solution into your carboy to sanitize it. Rinse off the solution from your equipment with clean, sanitary water.
If you use iodine sanitizer, mix two ounces into five gallons of water. Let all equipment remain in contact with the solution for at least five minutes. With this type of sanitizer, you can let your equipment air-dry without rinsing.
I can not stress enough the importance of sanitizing. Don't kill yourself over it, but if you neglect it, your beer will let you know by way of strange odors, foul tastes and exploding bottles.
Beer is susceptible to oxygen, so pouring fermented beer from the primary to secondary fermenter, or into bottles is not allowed, as the splashing will cause oxydation and stale flavors. Siphoning will need to used instead, unless you have a setup with lots of spigots.
5/16 inch inside diameter vinyl tubing is the normal siphon tubing used by homebrewers, although larger diameter tubing allows for quicker siphoning. Make sure the tubing is food grade. The tubing you find in the tropical fish section of your local pet store isn't always food grade. You don't want vinyl flavors in your finished product. The tubing is next to impossible to clean on the inside, so keep spares around if you find out a bit of mold took a liking to the tubing. A piece about three to five feet long should be plenty.
Siphon tubing doesn't stay straight inside a carboy, so a racking cane is needed. It looks like a shepards crook, with a removable tip on the end. The straight end goes all the way down to the bottom of the transfer vessel, the crooked end connects to the siphon tubing, and the other end of the tubing goes to the receptor vessel. Make sure your tubing fits your racking cane.
Racking canes can be acrylic plastic, stainless steel, or copper. With acrylic, you can see if there are any mold spots on the inside, but they are fragile, and tend to shatter just when you get a siphon started. You can't inspect steel or copper canes for wayward fungi or microbes, but they can be put in dishwashers, or have boiling water poured through them.
If your brewpot, bottling bucket, and fermentor have spigots at the bottom, you can avoid siphoning altogether, but make sure your spigots don't cause a lot of aeration. Ball valves are preferable to other kinds.
Even though you don't want to use a plastic bucket to ferment in, they are great for bottling buckets. Just be extra careful in cleaning and sanitizing it. Siphon your finished beer into the bucket, add your bottling sugar, and gently stir, being careful not to aerate your beer. Buckets with spigots at the bottom are great time savers, since you don't have to start a siphon. If you bucket doesn't have a spigot, you can get them cheaply, and they're easy to install.
A bottle filler allows you to fill your bottles with a minimum of fuss. Plastic fillers are the most common, but the brass varieties will last a lifetime. Avoid fillers with lots of little parts and springs, as they tend to wear out and stick, and are hard to clean. Stick them on the end of your siphon hose. When you press down on the filler, beer flows, when you lift up, the flow stops. Much easier than using a clamp or valve.
Bottle cappers come in a bewildering variety of shapes, sizes and forms. Wing cappers are hand held: simply place on top of bottle and press down on the levers. These are the cheapest, most common, and they don't take up a lot of room. Bench cappers take up a lot more room, but are easier to use, especially if you are capping a lot of bottles, all the same size. Just put a bottle on the stand, pull down lever, done. If you use bottles of different sizes, you have to keep readjusting the bench capper height. If you perchance find a hammer operated capper at a flea mart, leave it there!
Your bottles should be brown glass, and non-threaded. Avoid clear or green bottles, as they will promote light-struck beer. Bottles with Grolsch type swing tops work well, just make sure the rubber gaskets are good. The easiest way to get your bottles is to buy them with the beer already in them! Drink them up, clean off the lables with plenty of elbow-grease, and use. Most homebrew supply stores will carry cases of empty, new 12 and 22 oz. bottles.
There are two basic variety of bottle caps, the first being the plain cap, the second being the oxygen-absorbing cap. This type of cap is good for barleywines and other beer needing a lot of aging, since these caps will absorb any oxygen out of the headspace. Since they are activated by water, place what you need in a cup of sanitized water right when you are ready to bottle. Don't use the very inexpensive caps you can find at the soda distributors. They are not as strong a cap, and we used them on one batch, only to have them bulge and break the seal.
You will need an airlock of some kind, with a stopper to fit your fermenter. Airlocks come in two basic varieties, the three piece and the "S" type. The three piece is much easier to clean, but they both do their job well. If you can find the pyrex lab quality ones, go for it.
A good thermometer is essential. It should have a range from 70 to 212 degrees, and be suitable for sticking in boiling liquids. Most candy thermometers will work, but their range tends to be too high.
Other equipment you will need are muslin or nylon bags to hold crushed grains or hops, a long handled brewing spoon (not wood), an postage style scale to measure hops, and various kitchen utensils such as funnels, strainers, teaspoons, etc.
In order to get the most out of your grains, they must be properly crushed. A grain mill makes this much, much easier than the rolling pin method, especially if you're crushing twelve pounds of grain for a mash. Many homebrew shops will crush the grain for you, but for maximum freshness, they should be crushed the day of brewing.
Corona type mills are the least expensive and most common. They have a tendency to grind more than crush. This is okay for steeping, but for mashing, a proper crush is tantamount to a good yield.
Roller type mills crush malt the best. They may be made with single or double rollers, and some can be adjusted while cranking, and others not. The ease of cranking can be a major factor in selecting a mill, especially if you're crushing a lot of grain. If you can, try out a mill before you buy. You should expect to pay about 80 to 120 dollars for a good grain mill.
A good wort chiller can be one of the best investments made in homebrewing. It is essential that your finished wort be cooled to pitching temperatures as quickly as possible. Setting your brewpot out in the snow bank takes too much time. Besides the risk of infection, long cooling times can cause greater amounts of DMS to form (which causes vegetable like flavors).
Immersion wort chillers are simply coils of copper or steel tubing that is set inside the brewpot. Water running through the chiller cools off the wort. They are very easy to sanitize, just put the cleaned coil in the brewpot ten minutes before the end of the boil, and the heat sterilizes it. Most immersion chillers have fitting to fit a garden hose, so if you brew inside, you will need a kitchen faucet adaptor, or have to snake your hose in through the kitchen window. Chillers tend to come in 25 or 50 foot lengths, for five and ten gallon batches, respectively.
Counterflow wort chillers operate by flowing the hot wort through a tubing that is surrounded by a larger tubing with cold water running in the opposite direction (hence the name). These chillers can cool wort as fast as it can flow from one end to the other. Usually, the wort is siphoned from the brewpot, through the chiller, and directly into the fermenter. Some even have valves to inject oxygen for aeration enroute. Counterflow chillers are more expensive then immersion chillers, but you can buy the fitting seperately and make your own with a length of garden hose and copper tubing. One drawback to counterflow chillers is that they are difficult to clean and sanitize, and some brewers resort to running boiling water through them.
Just about every book on basic homebrewing lists hydrometers as mandatory equipment. They are not mandatory, but they are usefull in two areas: knowing your beer's strength so you can place it in the proper judging category, and for batch logging to record what you've done so you can repeat it again.
Hydrometers look like thermometers, but they measure specific gravity, or how much your beer weighs, instead. Water has a specific gravity of 1.000, with wort having gravities of 1.020 to 1.150 or higher. As a point of comparison, wort for a pale ale tends to fall between 1.035 to 1.050 gravities. Hydrometers are calibrated to read at a temperature of 60 degrees fahrenheit.
Some people, especially spouses, parents, children and roommates, object to the smell of brewing beer. I am baffled as to why. It's no worse than the smell of canning vegetables. But if you and your hobby have been banished from the house, then you need an outdoor cooker. These cookers operate on propane, and put out enough heat to bring your brewpot to a rolling boil. They are sometimes known as Cajun cookers.
Your cooker should have a minimum of a 30,000 BTU heat output. The higher outputs will bring your wort to a boil quicker, but the lower rated ones are great for the fine control needed for mashing. Try to get one with a ring shaped burner. The single-jet burner types tend to scorch as a lot of heat is applied to one small spot on the kettle. If you can't get five gallons of wort to boil with one of these, you may be using a gas-grill type regulator. Switch it out to regulator that came with the cooker and you'll be fine.
Culturing your own yeast is a great way to get just the right yeast for your beer. Yeast can be bought in slants, or cultured from the bottles of bottle-conditioned commercial beer. There's a lot of stuff you can use to culture your own yeast, so only the basics will be listed here.
Canning jars and lids are great for making up enough starters to last all year. Just make up a batch of starter twelves times a big as normal, and can it in twelve jars just like you're canning jelly. If you don't can your starters, you'll need a small pot or erlenmeyer flask to boil up your individual starters. If you prefer to use airlocks with your starters, make up a lid with a hole in it the right size to hold an airlock and stopper. Make sure everything is sanitized! If you are only going to use smack-packs and vials, this is all you need.
If you will be growing yeast from slants or bottles, a nichrome culturing loop, alcohol lamp and a test tube are essential. Yeast nutrient is can be added to plain wort to grow the yeast in, or you can buy wort specially made for growing yeast. Petri dishes, extra test tubes or blank slants, and agar medium are necessary if you'll be keeping yeast cultures for extended periods of time, or if you want to purify your culture.
For the most part, your brewpot can double as your mash tun. It holds your grains and liquor (water) at the precise temperature needed to convert starch into sugar, and to break down proteins. If you want a separate mash tun, a five gallon stainless steel pot with a lid works great, but you might need something larger if you are mashing high gravity brews. Picnic and water coolers also work great. You can also get a combined mash-lauter tun. This is discussed below.
A mash tun should retain its temperature well. Wrap flexible insulation around the tun, or rest the tun in a preformed box of styrofoam. You can also set the tun on the stove, monitor the temperature, and give it short bursts of heat to maintain the temperature.
A lauter tun is used to hold the mashed grains while the wort is sparged. Like a mash tun, it should be insulated. A false bottom or manifold in the lauter tun hold the grain back while the sweet wort is drawn off from the bottom. There are many different varieties of lauter tuns. Picnic cooler style tuns have a manifold of slotted copper pipe in the bottom. Gott cooler types have plastic false bottoms that are perferated with myriad tiny holes. Lauter tuns made from kegs or large kettles also have false bottoms, but they are made of stainless steel or copper. Some have circular slotted copper manifolds. Thousands of years ago, lauter tuns were wooden troughs with a bed of clean straw or twigs to act as a false bottom.
Many homebrewers prefer to combine their mash and lauter tuns into one unit. This is simply done by just using the lauter tun to mash in. If you do this, make sure your tun is very well insulated, or made of metal so you can apply direct heat to it. The reason why very few commercial brewers combine their tuns is because while they use the lauter tun for one batch, they can be cleaning the mash tun, and mashing in it while the sparge is still taking place. Commercial brewers have their time and labor scheduled for the utmost efficiency, while we homebrewers can do what we want.
A sparger is a unit that gently and gradually adds hot water to the lauter tun. Most spray the water on top of the grain bed, while others drip the water, and still others gently pour the water in through a tiny tube. The sparger should let the water flow slowly enough to let the entire process last for forty-five minutes.
A hot liquor tank holds the hot water needed for sparging. A simple bottling bucket will do for five gallon batches, but you'll need to insulate it, and install a spigot if it doesn't have one already. Some brewers use their mash tun as a hot liquor tank. Don't use your brewpot, because that's what you'll be sparging into.
Of course, you'll need tubing to go from the the hot liquor tank to the sparger, and from the lauter tun to the bottom of the brewpot. Don't let the wort splash into the brewpot or you'll get hot-side aeration, which is not a good thing.
Commercial style beer kegs are too hard to use for homebrewers. If someone gives you a beer keg because they've heard you make your own beer, thank them profusely, and use it to make a mash tun instead.
What homebrewer's use to keg their beer are soda kegs. They come in a variety of sizes, but the five gallon is the most common. Used soda kegs are becoming more common as time goes by since many soda distributors are switching to syrup-in-a-box systems. Used kegs run about forty dollars, but check around. I've seen them as low as twenty dollars. Sometimes you can get them for free if you know where and when to look.
When you get your keg, make sure it is free of any soda smells. You do not want your porter tasting like Cherry Coke! Replace all the o-rings and poppet valves if they haven't been already. Its a good idea to replace them once a year anyway. TSP (trisodium phosphate) is the best cleaner to use on kegs, but wear gloves. Do not use bleach sanitizers with stainless steel kegs. Use iodine solutions instead, or (carefully) pour five gallons of boiling water in them to sanitize.
Kegs will have either pin-lock or ball-lock fittings. Either one is fine, but if you get more than one keg, make sure they're all the same.
To dispense your beer from kegs, you will need to use a CO2 tank. These can be pricy to own, which is why the small five pound model is popular. However, the five pound model is also the most difficult to find. CO2 tanks have to be recertified every so often in most places.
Along with your tank, you need to get a CO2 pressure regulator. Most regulators have a range from zero to 100 PSI, which is much more than you need. The best kind to get have a pressure range of zero to fifty PSI.
To run the CO2 from the tank to the keg, you need a gas connector. To run the beer from the keg to your glass, you need a tap. Both of these will have fittings for the keg. The fitting for the inlet will not fit on the outlet, and vice versa. There is a huge variety of fittings, hoses, rings, manifolds, etc. available for kegging.
Kegging is convenient and easy, but sometimes you need beer in a bottle, for a competition for instance, or for delivery to a friend. In these cases, a counterpressure bottle filler lets you bottle beer from the keg.
There are many different C.P. bottle fillers out there, but they all work on the same principle. Fit the filler into the bottle, equalize the pressure, ease off the pressure to let the beer flow into the bottle, stop the flow, cap. You must practice, practice, practice this sequence on plain water before you try it out for the first time on your favorite batch. Once you get the rythm down, its easy.
Kegging and kegging equipment can be expensive. Even if money is no object, sometimes you want your beer in the fridge, and your keg won't fit. The most popular keg alternative is the mini-keg. These are five-liter systems that originated in Germany. These tiny kegs are reusable, and their beer is dispensed with either CO2 cartridges, or a hand operated pump. A mini-keg will last about ten uses, if you care for them properly.
The Party Pig® is also a favorite. It is a two gallon acrylic plastic jug with a tap, that will fit into a fridge. Instead of using CO2 or a hand pump to dispense the beer, a special pack is used. This is fitted into the pig before racking the beer inside. When activated, the pack swells, pressurizing the beer.
These items are in no way necessary to brew beer, but they have been invented to save the time of the brewer, who usually has little to spare. These are great to add to your christmas or birthday lists.
When a bottle or carboy has been sanitized, it needs to drain before use. Setting them upside down in your dishwasher is the usual method, but sometimes the dishwasher is in use, or you don't trust its sanitation.
Bottle trees are poles with little prongs sticking out to hold bottles upside down to drain. They screw apart so that the pieces of the tree can be sanitized.  An alternative to the bottle tree is the bottle rack, which is a board with holes in it to hold the bottles by the neck.
A carboy stand holds your carboy upside-down while drying. For ten to twenty dollars, they tend to be pricey for what you do with them, but it's better than holding them upside-down in your hands for fifteen minutes! Plus, it's easy to make one yourself.
Full carboys are very heavy objects. And if you've managed to spill some wort on the outside of them, they're slippery too. Carboy handles and straps help you to manage the load safely. Handles fit around the neck of the carboy, but I don't trust them to hold the entire weight of the carboy, and recommend them only to steady and balance the thing. They are several kinds of straps, but the nicest one I've seen is actually a nylon carboy bag with strap-handles, that does double duty as a carboy insulator.
Since the days of Archimedes, the intrepid inventer has been searching for new and different ways to start a siphon. The popularity of homebrewing has only hastened that search, and a menagerie of siphon starters in all sizes and shapes can be had. Some are more complicated than they are worth. Others work only some of the time. But some are simply fantastic time-savers. My advice is to ask your homebrew supplier on his or her opinion.
After you've cleaned out your bottles with soap and water, do rinse the soap out, rinse again, then again, and yet again? You definately do not want sopay tasting beer. A way to speed this process up twenty fold is to get a bottle washer. These items fit onto your kitchen faucet. When you push a bottle onto them, a spray of high pressure water quickly rinses them out. They're also great for dislodging the stubborn yeast that has dried on the bottom of your used homebrew bottles. Some models come with a double jet system, that makes your work go by twice as fast. If you bottle your beer, they are certainly worth looking into.
Not everything that you find in a homebrew supply store is worth your money.
While I won't argue to merits of closed versus open fermentation, it is agreed by all that plastic fermenters are unsuitable for either. They may work for one batch, but sooner or later you will have to scrub them with a gallon of elbow grease, and then you'll have scratches. Scratches are the perfect place for bacteria to hide in to avoid your sanitizing solution. Glass carboys, though more expensive, will last a lifetime, and are a cinch to clean.
Unfortunately, most prepackaged homebrewing kits include a plastic bucket fermenter, to save money. In my opinion, when they cheapen the kit, they cheapen the hobby! Use the fermenter as a storage container for all your stuff, and buy a carboy instead.
There is a lot of equipment meant for making wine that's jumbled up on the shelves with the beer making stuff. Sometimes they are even labeled as suitable for homebrewing. Don't be fooled. Titration test kits are useless in brewing beer. Corking systems are great for bottling magnums, but unless your hobby spills over into meads, don't even bother with corks or anything associated with them. Most wine sanitizers are meant to work with the acidity of wine, and do a poor job with beer. And all those vials and packets of strange chemicals...ignore them.
Okay, there's one exception: if you want to use real wooden kegs, wine making supplies are often the only source for the stuff you need to care for them. But know what you're doing first. Wooden kegs are not for the faint of heart. In the days before stainless steel, there were people who did nothing else but clean and care for wooden kegs.
If you keg your beer, or want to make a lager, a refrigerator is almost a necessity. And even if you don't keg or lager, an extra one is nice to store your aging beer or yeast cultures. Used refrigerators tend to run about $100 in this part of the world. Shop around and you might find one for about fifty. But check them out. They're being sold for some reason, make sure it's not because they won't keep cold!
If you do get a brewing fridge, a brewing thermostat is definately the next item to get.
For those who want to make crystal clear beer just like the big boys do, a beer filter will take you there. Homebrew filters are placed between two kegs. CO2 pressure is used to transfer beer from one keg, through the filter, and into the other keg.
Use finings before you filter. Don't throw your money away by clogging your filters with yeasts and proteins that could have been removed with a teaspoon of isinglass. Think of filters as the final step in perfecting your beer, not as whitewash to hide your mistakes. Crystal clear beer is very recent development in the history of beer, and many beer styles allow a certain amount of haze and cloudiness in the glass to account for it.
©David Johnson, Stephen Lowrie, 1997 - 2008
Permission is given to freely copy and redistribute this
document.


Quicksilver is the story of Daniel Waterhouse, fearless thinker and conflicted Puritan, pursuing knowledge in the company of the greatest minds of Baroque-era Europe, in a chaotic world where reason wars with the bloody ambitions of the mighty, and where catastrophe, natural or otherwise, can alter the political landscape overnight.
It is a chronicle of the breathtaking exploits of "Half-Cocked Jack" Shaftoe--London street urchin turned swashbuckling adventurer and legendary King of the Vagabonds--risking life and limb for fortune and love while slowly maddening from the pox.
And it is the tale of Eliza, rescued by Jack from a Turkish harem to become spy, confidante, and pawn of royals in order to reinvent Europe through the newborn power of finance.
Enoch rounds the corner just as the executioner raises the noose above the woman's head. The crowd on the Common stop praying and sobbing for just as long as Jack Ketch stands there, elbows locked, for all the world like a carpenter heaving a ridge-beam into place. The rope clutches a disk of blue New England sky. The Puritans gaze at it and, to all appearances, think. Enoch the Red reins in his borrowed horse as it nears the edge of the crowd, and sees that the executioner's purpose is not to let them inspect his knotwork, but to give them all a narrow - and, to a Puritan, tantalising - glimpse of the portal through which they all must pass one day.


One stage, one community, one opportunity to see great talent all in one place! BE in the Show is a celebration of the performing arts in Bellingham. Local dancers, singers, musicians, actors, and more will grace the beautiful Mount Baker Theatre main stage for a night of entertainment featuring a variety of talent from amateurs to professionals.
At 6:30PM local dancers from The Dance Studio will kick off the night of entertainment with a dazzling opening number. Followed by a variety show of local talent that will grace the Mount Baker Theatre stage. There will be raffles throughout the night for audience members to participate in and Emcees to keep you laughing. You as the audience will get to cheer for your favorite performer and the crowd favorite will receive a cash prize! Last year's showcase spotlighted many incredible acts including the talented and powerful band Heroes, singer songwriter Fia Vierra, dancing from The Dance Studio, Dancing for Joy and the dynamic duo, "The Boys," and the hilarious stand up of Brady Secules and so much more!
Find out how you can perform in the show or purchase your tickets to come to enjoy the sights!


*For completing the Transfer Scholarship program application, please provide the name of the person who will be submitting letter recommendations on your behalf. An email will be sent to the recommender by clicking the Send Email to Request Letter of Recommendation button.
*Note: If a person has already submitted a letter of recommendation, you may not remove his/her submission.


Verticle help you build and manage a highly available, reliable IT infrastructure that will meet your dynamic business needs. We also leverage our expertise in new generation transformation models to provide you with our IT Infrastructure Services that will transform your IT platform with effective infrastructure management solutions.
In today's dynamic setting, networks are more critical than ever for business operations. Network allows people, devices, applications, and systems to connect to anyone, anywhere at any time. Our proven network services leverage 20 year of experience and industry best practices & deliver an effective global network infrastructure for today & future.
Deploying a secure, authenticated wireless network is a business challenge that has to balance user flexibility with security. Wireless technology offers users portability and flexibility & allows organizations to increase productivity while lowering network installation costs. We helps ensure the appropriate level of auditability for enterprise WLAN deployments.
Verticle offers technology products for both residential and commercial application in Digital TV Services, media centers, security cameras, networks, phone systems including Video Conferencing, Presentation Systems, Audio, Video and CATV Distribution, Environmental and System Control, Remote Access Management.
Verticle focuses on providing highly innovative, reliable and cost effective solutions for a wide range of IT requirements with a competitive edge. Verticle's specialized divisions provide mission critical solutions for companies from their core domain areas that span networking, access control and security management, surveillance solutions, storage solutions, and integrated software solutions. The company specializes in careful implementation that also includes structured cabling, integration of networking devices and network security
Verticle is a leading global provider of data communications solutions. By combining innovation, advanced technology, experience and service excellence, Verticle delivers managed communications solutions to service providers and enterprises on a global scale. Verticle operates some of the largest real-time community-based networks, enabling industry participants to simply and securely interact and transact with other businesses, while connecting to the data and applications they need over highly available platforms.
Verticle provides a family of switching and routing products that exceeds all expectations for building the network needed to meet the demands of a small business or large enterprise. It offers switches designed to support the evolving applications of converged networks featuring exceptional quality of service, low latency, resiliency, line rate performance, and advanced Power over Ethernet (POE). Verticle's routers provide access to applications and services, and integrate technologies.
The Voice / Video Connectivity consists of the IPTV, IP Telephony and Video Conference. IPTV is a TV system based around the use of Internet Protocol which enhances the quality of the transmitted channels and provides a maximum utilization of the network. The IP telephony is using the Internet Protocol's packet-switched connections to exchange voice, fax, and other forms of information; while the Video Conferencing allows two or more locations to communicate by simultaneous two-way video and audio transmissions.
“Everything went extremely well, was completed on the expected schedule and they had 0 down time. I had all the information I needed to do the service switch over during the appointed time, and it went flawlessly. This set up was a testament to the skill of your team there at Verticle. I will not hesitate to recommend your services wherever there is an opportunity."
Verticle is a trusted advisor for all your IT / Telecom needs, including telephone systems, carrier services, voice / video / data networks, IP Surveillance, Internet services, structured cabling and IT services.


var Pau Abella 🧑 = {
title: "Junior Software Developer",
age: " years months days",
contact<EMAIL_ADDRESS>projects: "Click Here",
currently at: "Studiogenesis",
studies: {
doing: [ "Web Application Development - CertHE" ],
bootcamp: [ "FullStack SQL-Java-Angular 250h" ],
done: [ "Network and Microcomputer Systems Admin. - VET" ]
},
languages: [
"PHP> Laravel",
"JavaScript> Vue & Ionic",
"Java> Spring Boot",
"SQL & PL/SQL"
],
skills: [
"RESTful API",
"Docker",
"Git",
"Agile/Scrum"
],
passions: [
"Coding 👨💻",
"Machine Learing & Neural Networks 🤖",
"Rock Climbing and Mountaineering 🧗♂"
],
LinkedIn: ,
GitHub:
}


Variants
IGV
Variant Details
Functional Prediction
Sift Scores
PolyPhen-2 Scores
Event probabilities
Allele frequency estimation
Observations


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.googlecode.objectify.cache.TriggerFutureHook
public class TriggerFutureHook
This bit of appengine magic hooks into the ApiProxy and does the heavy lifting of making the TriggerFuture > work.
This class maintains a thread local list of all the outstanding Future> objects that have pending triggers. When a Future > is done and its trigger is executed, it is removed from the list. At various times (anytime an API call is made) the registered futures are checked for doneness and processed.
The AsyncCacheFilter is necessary to guarantee that any pending triggers are processed at the end of the request. A future GAE SDK which allows us to hook into the Future> creation process might make this extra Filter unnecessary.
| Constructor Summary | |
|---|---|
TriggerFutureHook(com.google.apphosting.api.ApiProxy.Delegate<com.google.apphosting.api.ApiProxy.Environment> parent)
|
| Method Summary | |
|---|---|
static void
|
addPending(java.util.concurrent.Future<?> future)
Register a pending Future that has a callback. |
static void
|
completeAllPendingFutures()
Iterate through all pending futures and get() them, forcing any callbacks to be called. |
void
|
flushLogs(com.google.apphosting.api.ApiProxy.Environment paramE)
|
java.util.List<java.lang.Thread>
|
getRequestThreads(com.google.apphosting.api.ApiProxy.Environment paramE)
|
static void
|
install()
Install our hook in the delegate system. |
void
|
log(com.google.apphosting.api.ApiProxy.Environment arg0,
com.google.apphosting.api.ApiProxy.LogRecord arg1)
|
java.util.concurrent.Future<byte[]>
|
makeAsyncCall(com.google.apphosting.api.ApiProxy.Environment arg0,
java.lang.String arg1, java.lang.String arg2,
byte[] arg3,
com.google.apphosting.api.ApiProxy.ApiConfig arg4)
|
byte[]
|
makeSyncCall(com.google.apphosting.api.ApiProxy.Environment arg0,
java.lang.String arg1, java.lang.String arg2,
byte[] arg3)
|
static void
|
removePending(java.util.concurrent.Future<?> future)
Deregister a pending Future that had a callback. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode,
notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public TriggerFutureHook(com.google.apphosting.api.ApiProxy.Delegate<com.google.apphosting.api.ApiProxy.Environment> parent)
| Method Detail |
|---|
public static void install()
public static void addPending(java.util.concurrent.Future<?> future)
future
- must have at least one callback
public static void removePending(java.util.concurrent.Future<?> future)
public void log(com.google.apphosting.api.ApiProxy.Environment arg0, com.google.apphosting.api.ApiProxy.LogRecord arg1)
log
in interface
com.google.apphosting.api.ApiProxy.Delegate<com.google.apphosting.api.ApiProxy.Environment>
public java.util.concurrent.Future<byte[]> makeAsyncCall(com.google.apphosting.api.ApiProxy.Environment arg0, java.lang.String arg1, java.lang.String arg2, byte[] arg3, com.google.apphosting.api.ApiProxy.ApiConfig arg4)
makeAsyncCall
in interface
com.google.apphosting.api.ApiProxy.Delegate<com.google.apphosting.api.ApiProxy.Environment>
public byte[] makeSyncCall(com.google.apphosting.api.ApiProxy.Environment arg0, java.lang.String arg1, java.lang.String arg2, byte[] arg3) throws com.google.apphosting.api.ApiProxy.ApiProxyException
makeSyncCall
in interface
com.google.apphosting.api.ApiProxy.Delegate<com.google.apphosting.api.ApiProxy.Environment>
com.google.apphosting.api.ApiProxy.ApiProxyException
public static void completeAllPendingFutures()
public void flushLogs(com.google.apphosting.api.ApiProxy.Environment paramE)
flushLogs
in interface
com.google.apphosting.api.ApiProxy.Delegate<com.google.apphosting.api.ApiProxy.Environment>
public java.util.List<java.lang.Thread> getRequestThreads(com.google.apphosting.api.ApiProxy.Environment paramE)
getRequestThreads
in interface
com.google.apphosting.api.ApiProxy.Delegate<com.google.apphosting.api.ApiProxy.Environment>
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Grid item placement using explicit line-based placement
Works in Win/IE 10+ and modern browsers
Using CSS
box-alignment
module for both Flexbox and Grid.
Block 1
Block 2
Block 3
Block 4
Block 5


Terms of Usage for the Aaho Driver App
-
The Aaho Driver App and related materials provided to lorry drivers are intended purely for
GPS based shipment tracking purposes.
-
The Aaho Driver App, the mobile handset (if any) and the SIM card (if any) provided to drivers
by Trans IQ Technologies Pvt. Ltd. shall be used for the intended purposes, as explained to
the drivers at the time of installation, only.
-
Drivers shall, on a best effort basis, keep the phone and the app switched on at all times.
-
The Aaho Driver App or any of the equipment provided with it shall not be shared with any
third party without express written consent from Trans IQ Technologies Pvt. Ltd.
-
If the phone or the SIM card is used for any inappropriate or illegal purposes, the driver and
the registered truck owner will be held responsible and legal action may be taken against them.
-
Drivers are responsible for keeping the equipment safe and in working condition, and are liable
for any damages to the equipment. Trans IQ Technologies reserves the right to deduct such damages
from any pending payments to the driver / registered truck owner.
-
Drivers will return the phone and SIM card to Trans IQ Technologies Pvt. Ltd. within 7 days
of such a request being raised by Trans IQ.


Select a Mode
classic
center
The possibility of each one going to the center
Population
Energy
Initial Infected Rate
Virus Power
Virus Effective Range
Recover Day


MADE A film review by Christopher Null Copyright 2001 filmcritic.com
Practically heckled out of the ring at their boxing match, best friends Bobby and Ricky (Jon Favreau and Vince Vaughn) are hardly your titans of the fights. In fact, they aren't much in the way of titans of anything. They're almost losers. Whenever Bobby gets ahead, Ricky's antics pull him back down -- never on purpose, he just doesn't know how to behave any better.
When Bobby gets kicked off his L.A. construction job, he pleads with minor crime boss Max (Peter Falk) to give him something better to do than smooth concrete and fistfight his buddies. And so the hijinks begin... as Bobby and Ricky head for New York in an unspecified role as heavies for some deal of Max's.
A fiercely independent production courtesy of aspiring auteur Jon Favreau, Made is a vague follow-up to Swingers, the acclaimed comedy written and starring Favreau and fellow Made man Vaughn. In fact, Made reunites several Favreau friends, including his Love & Sex costar Famke Janssen, as his stripper girlfriend. Never mind the celeb status: It's a miracle that Sean "Puffy" Combs got a role here, considering he didn't know Favreau beforehand.
Out of the picture is director Doug Liman (who did Swingers and Go), which is something of a loss. Favreau is better in front of the lens and behind a typewriter instead of wielding the camera. He runs around with a nauseating handheld half the time, framing shots badly and jerking the rig about as he searches for the right shot.
 His brash character is loathsome, but Made is completely Vaughn's movie. Ricky is that obnoxious and unfortunate friend you got stuck with growing up, the kind of guy who screwed up everything... and somehow talked you into going along with it. Whether he's insisting they buy guns for their upcoming "drop" or repeatedly ringing his flight attendant button (in a scene that recalls Favreau's answering machine travails in Swingers), he simply gets on your every nerve. And it's unilaterally hysterical.
On the other hand, a misplaced supporting character can severely mess up a movie, and Combs (here in his first real film role) is the poster child for exactly that.  Casting him as some kind of New York drug kingpin is ridiculous, and while his appearance here is obviously tongue-in-cheek, it's still a nuisance to have to watch him "act."
Never mind that, though -- he only has 10 minutes of screen time. Anyone enamored with the unique and hip sensibility of Swingers will find Made almost as much fun. It's not a sequel, mind you, and it's lacking the nuanced and compelling supporting characters that made Swingers so memorable, but for grown-up comedy, you won't find better this summer.

Visit filmcritic.com on the Web at http://www.filmcritic.com
========== X-RAMR-ID: 28954 X-Language: en X-RT-ReviewID: 238809 X-RT-TitleID: 1108720 X-RT-SourceID: 178 X-RT-AuthorID: 1062 X-RT-RatingText: 4/5
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


#include <GrMeshCombiner.h>
Public Member Functions | |
| GrMeshCombiner (unsigned int maxIndexCount=65536, unsigned int maxVertexCount=32767) | |
| class header. | |
| ~GrMeshCombiner () | |
| bool | CanAddMesh (const GrMeshInst *meshInst) |
| returns true if the mesh can be added. | |
| unsigned int | AddMesh (const GrMeshInst *meshInst) |
| unsigned int | GetRangeCount () const |
| unsigned int | GetVertexCount () const |
| GrMeshInst * | BuildFinalMesh (const tstring &name) |
| builds the final mesh. |
Definition at line 26 of file GrMeshCombiner.h.
| GrMeshCombiner::GrMeshCombiner | ( | unsigned int | maxIndexCount = 65536 , |
|
| unsigned int | maxVertexCount = 32767 | |||
| ) |
class header.
File: GrMeshCombiner.cpp Author: Kevin Bray Created: 12-13-06 Copyright © 2004 Bootstrap Studios. All rights reserved. project includes. class GrMeshCombiner ctor & dtor
Definition at line 28 of file GrMeshCombiner.cpp.
| GrMeshCombiner::~GrMeshCombiner | ( | ) |
Definition at line 38 of file GrMeshCombiner.cpp.
| unsigned int GrMeshCombiner::AddMesh | ( | const GrMeshInst * | meshInst | ) |
adds a mesh instance... returns the first range that the mesh being added will reside. Basically, the ranges in the instance passed in are all preserved; they're simply added to a single mesh. Note that the transform in the mesh instance is ignored (and lost).
ensure that a valid mesh was passed in.
get the range that the new mesh will start on.
get the mesh we're working with.
add all of the ranges to our list.
get the current range from the mesh.
fill out the range info.
store material information.
add the range to our vector of ranges.
add the mesh to our list.
make sure that all ranges have been accounted for.
return the range that the mesh starts on.
Definition at line 81 of file GrMeshCombiner.cpp.
| GrMeshInst * GrMeshCombiner::BuildFinalMesh | ( | const tstring & | name | ) |
builds the final mesh.
if there aren't any meshes to combine, simply return null.
get the vertex components that the meshes need.
allocate a new mesh.
get the vertex/index buffers that we need to copy to.
add all of the vertex data to the mesh.
get the source vertex/index buffers.
copy vertex data.
copy index data.
advance the write offsets.
check that we got all ranges.
make sure we've written every vertex!
create and return a new mesh instance.
Definition at line 138 of file GrMeshCombiner.cpp.
| bool GrMeshCombiner::CanAddMesh | ( | const GrMeshInst * | meshInst | ) |
returns true if the mesh can be added.
public methods
it doesn't make any sense to batch meshes that aren't indexed.
if there are no meshes added, then any mesh can be added.
check the vertex count.
check the index count.
check the uber-textures.
get our mesh components and the new mesh's components.
return true if the mesh components match up.
Definition at line 50 of file GrMeshCombiner.cpp.
| unsigned int GrMeshCombiner::GetRangeCount | ( | ) | const [inline] |
returns the number of ranges in all of the meshes that have been added to the meshes so far.
Definition at line 43 of file GrMeshCombiner.h.
| unsigned int GrMeshCombiner::GetVertexCount | ( | ) | const [inline] |
returns the number of vertices in all of the meshes that have been added to the combiner.
Definition at line 47 of file GrMeshCombiner.h.


What I'm Thinking
Why I use NixOS
24 March 2019
This post highlights my reasoning behind switching to NixOS.
... Read More
Announcing the new Golang infrastructure: buildGoModule
17 March 2019
I recently introduced a new
function in Nixpkgs named buildGoModule
. The new function allows you to
package Go application (or modules) with ease, provided the modules have added
support for Go modules upstream.
Manage a static website with Hugo and Nix
26 February 2019
Over the past couple of years, I’ve been using Hugo on and off for my blog, as well as for some static websites I maintain. On many occasions, I have started to hack on my site, only to realsize that my theme – as submoduled into the repository – is no longer compatible with the most recent version of Hugo that I have installed on my system.
This blog post describes how to migrate from an environment controlled by the host operating system to a reproducible environment regardless of the host.
... Read More
Setup a website on AWS with CoreOS and Docker
21 August 2016
Overview
It’s been quite some time since I shared my knowledge and the daily challenges that I overcome. I always wanted to get back into writing as it has always been therapeutic for me.
Today, I’m going to talk about how this blog is being hosted. We will start from the top down by looking first at the application level, then we will take a look at the hosting, the deployment, the server and finally the cloud provisioning.
Micro-Containerized cluster
The most ideal stack today would be:
- Etcd2 cluster with at least 5 nodes.
- Kubernetes cluster with at least 3 master nodes and 2 minion nodes.
- Let’s encrypt generated SSL certificates for all websites.
- Route53 for managing the DNS zones.
- All managed using Terraform.
That’s exactly what I did for work, but it’s way overkill and financially unacceptable for a blog.
The stack I designed for this blog:
- One t2.micro instance running NginX containers with support for SSL certificates from Let’s encrypt.
- Route53 for managing the DNS zones.
- All managed using Terraform.