Returns an array of locales for which translations are available ignoring the reserved translation meta data key :i18n.
# File lib/i18n/backend/base.rb, line 74 def available_locales raise NotImplementedError end
Accepts a list of paths to translation files. Loads translations from plain Ruby (*.rb) or YAML files (*.yml). See load_rb and load_yml for details.
# File lib/i18n/backend/base.rb, line 13 def load_translations(*filenames) filenames = I18n.load_path if filenames.empty? filenames.flatten.each { |filename| load_file(filename) } end
Acts the same as strftime, but uses a localized version of the format string. Takes a key from the date/time formats translations as a format argument (e.g., :short in :'date.formats').
# File lib/i18n/backend/base.rb, line 48 def localize(locale, object, format = :default, options = {}) raise ArgumentError, "Object must be a Date, DateTime or Time object. #{object.inspect} given." unless object.respond_to?(:strftime) if Symbol === format key = format type = object.respond_to?(:sec) ? 'time' : 'date' options = options.merge(:raise => true, :object => object, :locale => locale) format = I18n.t(:"#{type}.formats.#{key}", options) end # format = resolve(locale, object, format, options) format = format.to_s.gsub(/%[aAbBp]/) do |match| case match when '%a' then I18n.t(:"date.abbr_day_names", :locale => locale, :format => format)[object.wday] when '%A' then I18n.t(:"date.day_names", :locale => locale, :format => format)[object.wday] when '%b' then I18n.t(:"date.abbr_month_names", :locale => locale, :format => format)[object.mon] when '%B' then I18n.t(:"date.month_names", :locale => locale, :format => format)[object.mon] when '%p' then I18n.t(:"time.#{object.hour < 12 ? :am : :pm}", :locale => locale, :format => format) if object.respond_to? :hour end end object.strftime(format) end
# File lib/i18n/backend/base.rb, line 78 def reload! @skip_syntax_deprecation = false end
This method receives a locale, a data hash and options for storing translations. Should be implemented
# File lib/i18n/backend/base.rb, line 20 def store_translations(locale, data, options = {}) raise NotImplementedError end
# File lib/i18n/backend/base.rb, line 24 def translate(locale, key, options = {}) raise InvalidLocale.new(locale) unless locale entry = key && lookup(locale, key, options[:scope], options) if options.empty? entry = resolve(locale, key, entry, options) else count, default = options.values_at(:count, :default) values = options.except(*RESERVED_KEYS) entry = entry.nil? && default ? default(locale, key, default, options) : resolve(locale, key, entry, options) end throw(:exception, I18n::MissingTranslation.new(locale, key, options)) if entry.nil? entry = entry.dup if entry.is_a?(String) entry = pluralize(locale, entry, count) if count entry = interpolate(locale, entry, values) if values entry end
Evaluates defaults. If given subject is an Array, it walks the array and returns the first translation that can be resolved. Otherwise it tries to resolve the translation directly.
# File lib/i18n/backend/base.rb, line 93 def default(locale, object, subject, options = {}) options = options.dup.reject { |key, value| key == :default } case subject when Array subject.each do |item| result = resolve(locale, object, item, options) and return result end and nil else resolve(locale, object, subject, options) end end
Interpolates values into a given string.
interpolate "file %{file} opened by %%{user}", :file => 'test.txt', :user => 'Mr. X' # => "file test.txt opened by %{user}"
# File lib/i18n/backend/base.rb, line 146 def interpolate(locale, string, values = {}) if string.is_a?(::String) && !values.empty? I18n.interpolate(string, values) else string end end
Loads a single translations file by delegating to load_rb or load_yml depending on the file extension and directly merges the data to the existing translations. Raises I18n::UnknownFileType for all other file extensions.
# File lib/i18n/backend/base.rb, line 158 def load_file(filename) type = File.extname(filename).tr('.', '').downcase raise UnknownFileType.new(type, filename) unless respond_to?(:"load_#{type}", true) data = send(:"load_#{type}", filename) unless data.is_a?(Hash) raise InvalidLocaleData.new(filename, 'expects it to return a hash, but does not') end data.each { |locale, d| store_translations(locale, d || {}) } end
Loads a plain Ruby translations file. eval’ing the file must yield a Hash containing translation data with locales as toplevel keys.
# File lib/i18n/backend/base.rb, line 170 def load_rb(filename) eval(IO.read(filename), binding, filename) end
Loads a YAML translations file. The data must have locales as toplevel keys.
# File lib/i18n/backend/base.rb, line 176 def load_yml(filename) begin YAML.load_file(filename) rescue TypeError, ScriptError, StandardError => e raise InvalidLocaleData.new(filename, e.inspect) end end
The method which actually looks up for the translation in the store.
# File lib/i18n/backend/base.rb, line 85 def lookup(locale, key, scope = [], options = {}) raise NotImplementedError end
Picks a translation from a pluralized mnemonic subkey according to English pluralization rules :
It will pick the :one subkey if count is equal to 1.
It will pick the :other subkey otherwise.
It will pick the :zero subkey in the special case where count is equal to 0 and there is a :zero subkey present. This behaviour is not stand with regards to the CLDR pluralization rules.
Other backends can implement more flexible or complex pluralization rules.
# File lib/i18n/backend/base.rb, line 133 def pluralize(locale, entry, count) return entry unless entry.is_a?(Hash) && count key = :zero if count == 0 && entry.has_key?(:zero) key ||= count == 1 ? :one : :other raise InvalidPluralizationData.new(entry, count) unless entry.has_key?(key) entry[key] end
Resolves a translation. If the given subject is a Symbol, it will be translated with the given options. If it is a Proc then it will be evaluated. All other subjects will be returned directly.
# File lib/i18n/backend/base.rb, line 109 def resolve(locale, object, subject, options = {}) return subject if options[:resolve] == false result = catch(:exception) do case subject when Symbol I18n.translate(subject, options.merge(:locale => locale, :throw => true)) when Proc date_or_time = options.delete(:object) || object resolve(locale, object, subject.call(date_or_time, options)) else subject end end result unless result.is_a?(MissingTranslation) end
Generated with the Darkfish Rdoc Generator 2.


--- layout: default ---
Hello everyone!
My name's Ethan and you've just stumbled into my copy of Chowdown, a plain text recipe database for hackers. I've been searching for a free online recipe keeper/manager for a while. After finding Chowdown the search has stopped. Enjoy these recipes, which are some of my family's favorites. If you're interested in starting your own check out the URL above.
Happy cooking and recipe collecting.
Ethan Bell
@ebell451


Main controls
When visualisations are turned off, the algorithm utilises the whole
processing thread.
Therefore, when it is executing, a loading screen will show up and the interactivity of the app will be limited during the run time.
Therefore, when it is executing, a loading screen will show up and the interactivity of the app will be limited during the run time.
Simulation settings
Additional Settings
Simulation information
Image edge detection
Preview
Ant trail
High pheromone levels in current iteration
High pheromone levels previous iteration


Aegisub / Typesetting
Wikipedia's definition of typesetting: "Typesetting involves the presentation of textual material in graphic form on paper or some other medium." In a subtitling context, this means three things:
- Presenting (a translation of) the spoken dialogue to the viewer in an easily readable and visually pleasing form.
- Translating any foreign-language background texts (such as episode titles, scene information like time/place and other plot-important writings on things in the background) and presenting the translation to the viewer, preferably so that it appears that the translation was there all along (yet retaining readability).
- Designing other texts (logotypes, karaoke, etc. etc.) that should be displayed on the video.
Particularly in the fansub community, the word "typesetting" usually refers to the second or third of these three.
This page will attempt to give you an introduction to subtitle typesetting. Unfortunately good taste is hard to teach, but we will do our best.
Dialogue typesetting
The main goal of dialogue typesetting is legibility; everything else is just icing on the cake. There's no point in having subtitles if the viewer can't read them. Remember that subtitles frequently require quite fast reading, so ease of recognition is vital. Some guidelines for good legibility:
- Use a plain, uncluttered, no-nonsense typeface. Sans-serif fonts (or if you insist on serifs, "slab serif" fonts) are generally preferable, especially at low video resolutions, since the serifs tend get blurred out, which naturally looks bad. Too thin fonts are also to be avoided. Small caps fonts are bad because the ascenders/descenders of help recognition of words. Using tried and trusted faces such as Helvetica, Arial or Verdana is not a bad thing; if you want something that looks less "boring" but still readable try a sans-serif font of the "humanist" variety, such as Calibri.
- Use a well-defined but not too thick border. The color is important; the higher the contrast against the main color the better. The white main color/black border combo is well tried and trusted. Shadow is optional; if you use it consider setting it to half-transparent black; solid black tends to hurt legibility.
- Use big friendly letters with comfortable margins; usually subtitles need to be bigger than you think to be easily readable, particularly on a TV screen (since the viewing distance on a TV is usually 2-3 meters, compared to 0.3-0.6m for a computer screen). If you plan on showing your subtitles on a TV you also need to take overscan into account; Aegisub has an overscan mask feature (see working with video) that can help you with this. Even if the end result isn't going to be viewed on a TV, subtitles which are in the overscan area are usually not very readable anyway. Also consider the aspect ratio of the video; 16:9 or wider aspect ratios give you the opportunity to have longer lines at the expense of vertical space.
- Make sure that no more than two lines of text are visible at a time (exceptions can be made at times where there are a lot of people talking at the same time). Sometimes you can compress the text horizontally a bit to squeeze it in; at other times you just have to split the text block into two different lines and display one after the other.
"Sign" typesetting
Sign typesetting (translating various background text) can usually be accomplished with ASS, but for more complex effects commercial programs like Adobe AfterEffects are sometimes used, since the holy grail of sign typesetting is to make the subtitle look like it's a part of the image that was always there. How to get there from here will not be discussed in detail on this page (see the typesetting tutorial), but here are some pointers:
- Is the sign actually important to the plot? Trying to translate every single bit of text displayed on screen will rapidly make you go insane, and the end result will often be unreadable anyway.
- Frequently, the text of a plot-important sign (such as a letter) is actually read out loud in the dialogue; if this is the case you should consider skipping the sign typeset because having both text and dialogue may overload the viewer with information. You should not typeset a sign just to show off that you're capable of doing so.
- Will you be able to make the translation easily legible? For example, if you have very little space available to squeeze it in on, consider putting a translation note as a normal "toptitle" instead.
Further reading
The Wikipedia page on typography has a lot of useful links and explanation of various typesetting-related terms.


SQL Notebook ships with an in-app searchable help system that includes all of the documentation listed here. Press F1 inside the application to see the list of help topics.
There is extensive documentation available for SQLite, the engine that provides the foundation for SQL Notebook. Click here to view the SQLite documentation.


{% extends 'fpiweb/base.html' %} {% load bootstrap4 %} {% comment %} CONTEXT VARIABLES ----------------- mode string indicating mode. Constants are defined for this in the ManualMoveBoxView class. box_number_form An ExtantBoxNumberForm box A Box instance location_form An ExistingLocationForm view_class Reference to ManualMoveBoxView errors A list of errors. location Location object representing where the box has been moved {% endcomment %} {% block title %} Move Box {% endblock %} {% block content %}


Shopping list for
Monday
:
Milk
Bread
White bread
Rye bread
Whole wheat bread
Rice
Potatoes
Pizza
with mushrooms
Go to the Grocery store


Collection
Guidance for providers on initial teacher training (ITT).
This information is for potential and existing initial teacher training ( ITT ) providers offering or considering to offer ITT provision. It provides guidance and support on all aspects of running your ITT programme.
You can work with the National College for Teaching and Leadership ( NCTL ) to offer ITT teacher training through the following routes:
For School Direct provider guidance visit our School Direct collection .
For early years ITT read our early years initial teacher training ( ITT ): a guide for providers information.
We don’t allocate places to ITT providers for:
If you’d like to become a teacher, please visit our Get into Teaching website .
Only ITT providers accredited by the the National College for Teaching and Leadership (NCTL) can recommend trainees for qualified teacher status (QTS). We won’t consider schools for accreditation if their most recent Ofsted inspection is less than good.
Lead schools and ITT providers need to register their intention to offer ITT courses in advance. To do this you need to enter your information on the ITT data management system.
There are 2 separate DMS websites:
The log in details are unique, even where the lead school may also be the provider.
In some circumstances you can migrate your ITT accreditation to another accredited entity. If you no longer want to offer ITT, you must follow the ITT provider closure guidance.
If you’re deemed non-compliant with the ITT criteria either by Ofsted during an initial teacher education inspection or by NCTL, you may enter the accreditation withdrawal process.
Allocation methodologies from previous years are published and available for providers to access.
In order for schools to make well-informed decisions about the partners they work with, we recommend looking at the following statistics when choosing a partner provider for ITT.
Published: 29 October 2013
Updated: 24 June 2015


admin panel
Logout
User Name
Password
Login
Edit Intro
Add Question
Delete Question
Clear History
Theme Intro
add intro
question number
question description
question input
question output
add question
question number
% for qpk in questions:
{{qpk}}
% end
delete
Delete score history of all users?
delete


Toll rises in Australian wildfires with worsening weather forecast
The death toll in wildfires raging across Australia’s most populous state has risen to four as authorities warned of worsening weather conditions to come.
A body was found late on Wednesday in a scorched forest near the town of Kempsey in north-east New South Wales, police said.
He is suspected to be a 58-year-old man who lived in a nearby shed and had not been seen since Friday when ferocious wildfires across the state killed three other people and destroyed at least 150 homes.
About 60 fires were burning around New South Wales on Thursday morning, with 27 uncontained. More than 1,000 firefighters are fighting the flames, the Rural Fire Service said.
“We had a better day yesterday, only one fire got to emergency warning, but even in these pretty benign conditions we’re seeing quite a lot of aggressive fire behaviour simply because it’s so dry,” Rural Fire Service deputy commissioner Rob Rogers told Seven Network television.
“Conditions starting to warm up tomorrow, into the weekend and then heating up early next week, a return to more gusty conditions. We’re in for the long haul,” he added.
At least 50 homes were damaged or destroyed in New South Wales on Tuesday by wildfires that had burnt into the suburbs of Sydney, Australia’s largest city.
A week-long state of emergency was declared for New South Wales because of the extraordinary fire danger. The emergency declaration gives the Rural Fire Service sweeping powers to control resources and direct other government agencies.
The annual Australian fire season, which peaks during the Southern Hemisphere summer, has started early after an unusually warm and dry winter.
READ MORE
Hong Kong hit by more transport disruption and campus violence


The Akan people of Ghana frequently name their children after the day of the week they were born and the order in which they were born.
These names usally differed based on gender where the name for a certain day foy a boy-child was different
from that of a girl-child.
Most Ghanaians have at least one name from this system followed by their christian names, You can have this too.


Information on configuring Twitter api access can be found here
Twitter
Python Twitter Tools (PTT) includes a Twitter API, command-line tool, and IRC bot. It is developed by Mike Verdone and the Python Twitter Tools developer team.
MIT License, Copyright (c) 2008 Mike Verdone.


참고
Click here to download the full example code
torch.compile Tutorial¶
Author: William Wen
torch.compile
is the latest method to speed up your PyTorch code!
torch.compile
makes PyTorch code run faster by
JIT-compiling PyTorch code into optimized kernels,
all while requiring minimal code changes.
In this tutorial, we cover basic torch.compile
usage,
and demonstrate the advantages of torch.compile
over
previous PyTorch compiler solutions, such as
TorchScript and
FX Tracing.
Contents
Basic Usage
Demonstrating Speedups
Comparison to TorchScript and FX Tracing
TorchDynamo and FX Graphs
Conclusion
Required pip Dependencies
torch >= 2.0
torchvision
numpy
scipy
tabulate
NOTE: a modern NVIDIA GPU (H100, A100, or V100) is recommended for this tutorial in order to reproduce the speedup numbers shown below and documented elsewhere.
import torch
import warnings
gpu_ok = False
if torch.cuda.is_available():
device_cap = torch.cuda.get_device_capability()
if device_cap in ((7, 0), (8, 0), (9, 0)):
gpu_ok = True
if not gpu_ok:
warnings.warn(
"GPU is not NVIDIA V100, A100, or H100. Speedup numbers may be lower "
"than expected."
)
Basic Usage¶
torch.compile
is included in the latest PyTorch..
Running TorchInductor on GPU requires Triton, which is included with the PyTorch 2.0 nightly
binary. If Triton is still missing, try installing torchtriton
via pip
(pip install torchtriton --extra-index-url "https://download.pytorch.org/whl/nightly/cu117"
for CUDA 11.7).
Arbitrary Python functions can be optimized by passing the callable to
torch.compile
. We can then call the returned optimized
function in place of the original function.
def foo(x, y):
a = torch.sin(x)
b = torch.cos(x)
return a + b
opt_foo1 = torch.compile(foo)
print(opt_foo1(torch.randn(10, 10), torch.randn(10, 10)))
tensor([[ 1.0436, 0.0465, 0.7453, -1.2887, 0.1008, 0.9631, 0.2700, 1.1775,
1.0961, 0.5870],
[ 1.4142, 1.3429, -0.6745, 0.3652, 0.9505, 1.0841, 1.4141, 0.9751,
0.7848, -1.1906],
[ 1.4101, -0.0106, -0.8464, -0.0028, -0.8848, -0.8895, 0.8134, 0.9529,
-0.0268, -1.3838],
[ 0.4122, 0.5518, -0.9474, 0.8796, -0.2151, -0.6485, 0.9247, 1.3747,
0.7235, 0.3506],
[ 0.6986, -0.6278, 0.5202, 1.4078, 0.4142, 0.1061, -0.6801, -0.4456,
1.3255, -0.8100],
[ 0.1112, 0.8556, -1.3663, 1.2024, -0.5925, 0.6038, 0.5845, 0.9415,
1.3166, -1.2734],
[ 0.7752, 0.7576, 1.4086, 1.2078, 0.0641, 0.7465, 0.5455, 0.7986,
1.3224, 0.5628],
[-0.5384, 1.4009, 1.1676, 0.3324, -0.8369, 0.4452, 0.1881, 0.4996,
1.1090, 1.3989],
[ 1.3621, 1.1994, 0.9445, -1.2302, 1.0855, -1.4083, -0.1352, 1.3675,
1.4088, 1.2432],
[ 0.9724, 0.1629, 0.1739, 0.5224, 0.8842, 1.2700, 1.4128, 1.4122,
-0.0076, 0.6196]])
Alternatively, we can decorate the function.
@torch.compile
def opt_foo2(x, y):
a = torch.sin(x)
b = torch.cos(x)
return a + b
print(opt_foo2(torch.randn(10, 10), torch.randn(10, 10)))
tensor([[ 1.1211, -0.6138, -0.2343, 0.9255, 0.4769, 1.3990, 0.9056, 1.1495,
0.0327, 1.3993],
[-0.7044, 1.4018, 0.6828, -0.1812, 1.2318, -0.0453, 1.1691, 1.0703,
1.4012, 0.5859],
[ 1.4013, 0.6752, 0.7244, 1.0642, 0.4150, 1.3092, 1.0504, -1.3912,
-0.1570, 1.3985],
[ 0.6458, -0.3128, 0.3615, 1.3181, 1.3221, -0.9230, 0.1810, 0.8904,
1.2948, 1.3695],
[-0.0035, 0.5746, 1.3324, 1.3441, 1.3535, 0.3273, 0.3268, -0.9108,
0.2538, 1.3589],
[-1.3636, 0.4622, 1.3027, -0.8373, 0.9225, 0.9953, -1.3972, 1.1347,
1.3788, 1.2267],
[ 0.3798, -0.5756, -0.0976, 1.4067, 0.8520, 1.2188, -1.3987, 0.7340,
-0.0356, 0.3061],
[-0.8062, 1.3208, 1.4054, -0.2163, -1.0528, 1.4136, 0.9552, 1.2637,
1.2374, 1.3732],
[ 1.3022, -0.9770, 1.3893, 1.2742, 0.6716, 1.3813, 1.3936, 0.9774,
1.4062, 1.4119],
[ 0.8839, 1.3692, -1.1655, 0.5410, 0.5231, 0.4538, 1.3610, 0.4914,
1.0178, 1.4140]])
We can also optimize torch.nn.Module
instances.
class MyModule(torch.nn.Module):
def __init__(self):
super().__init__()
self.lin = torch.nn.Linear(100, 10)
def forward(self, x):
return torch.nn.functional.relu(self.lin(x))
mod = MyModule()
opt_mod = torch.compile(mod)
print(opt_mod(torch.randn(10, 100)))
tensor([[0.0000, 0.2355, 0.0000, 0.0000, 0.1530, 0.4933, 0.0000, 0.0000, 0.0000,
0.1884],
[0.0000, 0.0000, 0.0000, 0.3009, 0.4892, 0.1175, 0.0000, 0.0000, 0.0000,
1.0120],
[0.3468, 0.0000, 0.0000, 0.4071, 0.0000, 0.0000, 0.4160, 0.0000, 1.0289,
0.3873],
[0.1693, 0.2461, 0.4414, 0.0000, 0.1310, 0.0756, 0.0000, 0.0951, 0.7552,
0.0000],
[0.4379, 0.0000, 0.7111, 0.6509, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
0.0000],
[0.7728, 0.0000, 0.2370, 0.0000, 0.0605, 0.0000, 0.0000, 0.0000, 0.9086,
0.0000],
[0.3575, 0.0000, 0.1427, 0.7742, 0.0000, 0.9498, 0.0000, 0.0085, 0.0000,
0.0000],
[0.0000, 0.0000, 0.6279, 0.0000, 0.1006, 0.0000, 0.0000, 0.4742, 0.0000,
0.0592],
[0.0000, 0.5481, 0.5781, 0.0000, 0.0000, 0.0000, 0.2301, 0.0000, 0.5285,
0.5920],
[0.0000, 0.0000, 0.0891, 0.2050, 0.8238, 0.0000, 0.5804, 0.0958, -0.0000,
-0.0000]], grad_fn=<CompiledFunctionBackward>)
Demonstrating Speedups¶
Let’s now demonstrate that using torch.compile
can speed
up real models. We will compare standard eager mode and
torch.compile
by evaluating and training ResNet-18 on random data.
Before we start, we need to define some utility functions.
# Returns the result of running `fn()` and the time it took for `fn()` to run,
# in seconds. We use CUDA events and synchronization for the most accurate
# measurements.
def timed(fn):
start = torch.cuda.Event(enable_timing=True)
end = torch.cuda.Event(enable_timing=True)
start.record()
result = fn()
end.record()
torch.cuda.synchronize()
return result, start.elapsed_time(end) / 1000
# Generates random input and targets data for the model, where `b` is
# batch size.
def generate_data(b):
return (
torch.randn(b, 3, 128, 128).to(torch.float32).cuda(),
torch.randint(1000, (b,)).cuda(),
)
N_ITERS = 10
from torchvision.models import densenet121
def init_model():
return densenet121().to(torch.float32).cuda()
First, let’s compare inference.
Note that in the call to torch.compile
, we have have the additional
mode
argument, which we will discuss below.
def evaluate(mod, inp):
return mod(inp)
model = init_model()
# Reset since we are using a different mode.
import torch._dynamo
torch._dynamo.reset()
evaluate_opt = torch.compile(evaluate, mode="reduce-overhead")
inp = generate_data(16)[0]
print("eager:", timed(lambda: evaluate(model, inp))[1])
print("compile:", timed(lambda: evaluate_opt(model, inp))[1])
Traceback (most recent call last):
File "/workspace/ko-latest/intermediate_source/torch_compile_tutorial.py", line 157, in <module>
print("compile:", timed(lambda: evaluate_opt(model, inp))[1])
File "/workspace/ko-latest/intermediate_source/torch_compile_tutorial.py", line 119, in timed
result = fn()
File "/workspace/ko-latest/intermediate_source/torch_compile_tutorial.py", line 157, in <lambda>
print("compile:", timed(lambda: evaluate_opt(model, inp))[1])
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/eval_frame.py", line 209, in _fn
return fn(*args, **kwargs)
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/eval_frame.py", line 337, in catch_errors
return callback(frame, cache_size, hooks)
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/convert_frame.py", line 404, in _convert_frame
result = inner_convert(frame, cache_size, hooks)
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/convert_frame.py", line 104, in _fn
return fn(*args, **kwargs)
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/convert_frame.py", line 262, in _convert_frame_assert
return _compile(
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/utils.py", line 163, in time_wrapper
r = func(*args, **kwargs)
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/convert_frame.py", line 324, in _compile
out_code = transform_code_object(code, transform)
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/bytecode_transformation.py", line 445, in transform_code_object
transformations(instructions, code_options)
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/convert_frame.py", line 311, in transform
tracer.run()
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/symbolic_convert.py", line 1726, in run
super().run()
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/symbolic_convert.py", line 576, in run
and self.step()
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/symbolic_convert.py", line 540, in step
getattr(self, inst.opname)(inst)
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/symbolic_convert.py", line 1792, in RETURN_VALUE
self.output.compile_subgraph(
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/output_graph.py", line 517, in compile_subgraph
self.compile_and_call_fx_graph(tx, list(reversed(stack_values)), root)
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/output_graph.py", line 588, in compile_and_call_fx_graph
compiled_fn = self.call_user_compiler(gm)
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/utils.py", line 163, in time_wrapper
r = func(*args, **kwargs)
File "/root/.local/lib/python3.9/site-packages/torch/_dynamo/output_graph.py", line 675, in call_user_compiler
raise BackendCompilerFailed(self.compiler_fn, e) from e
torch._dynamo.exc.BackendCompilerFailed: debug_wrapper raised RuntimeError: Found Tesla P100-PCIE-16GB which is too old to be supported by the triton GPU compiler, which is used as the backend. Triton only supports devices of CUDA Capability >= 7.0, but your device is of CUDA capability 6.0
Set torch._dynamo.config.verbose=True for more information
You can suppress this exception and fall back to eager by setting:
torch._dynamo.config.suppress_errors = True
Notice that torch.compile
takes a lot longer to complete
compared to eager. This is because torch.compile
compiles
the model into optimized kernels as it executes. In our example, the
structure of the model doesn’t change, and so recompilation is not
needed. So if we run our optimized model several more times, we should
see a significant improvement compared to eager.
eager_times = []
compile_times = []
for i in range(N_ITERS):
inp = generate_data(16)[0]
_, eager_time = timed(lambda: evaluate(model, inp))
eager_times.append(eager_time)
print(f"eager eval time {i}: {eager_time}")
print("~" * 10)
compile_times = []
for i in range(N_ITERS):
inp = generate_data(16)[0]
_, compile_time = timed(lambda: evaluate_opt(model, inp))
compile_times.append(compile_time)
print(f"compile eval time {i}: {compile_time}")
print("~" * 10)
import numpy as np
eager_med = np.median(eager_times)
compile_med = np.median(compile_times)
speedup = eager_med / compile_med
print(f"(eval) eager median: {eager_med}, compile median: {compile_med}, speedup: {speedup}x")
print("~" * 10)
And indeed, we can see that running our model with torch.compile
results in a significant speedup. Speedup mainly comes from reducing Python overhead and
GPU read/writes, and so the observed speedup may vary on factors such as model
architecture and batch size. For example, if a model’s architecture is simple
and the amount of data is large, then the bottleneck would be
GPU compute and the observed speedup may be less significant.
You may also see different speedup results depending on the chosen mode
argument. Since our model and data are small, we want to reduce overhead as
much as possible, and so we chose "reduce-overhead"
. For your own models,
you may need to experiment with different modes to maximize speedup. You can
read more about modes here.
For general PyTorch benchmarking, you can try using torch.utils.benchmark
instead of the timed
function we defined above. We wrote our own timing function in this tutorial to show
torch.compile
’s compilation latency.
Now, let’s consider comparing training.
model = init_model()
opt = torch.optim.Adam(model.parameters())
def train(mod, data):
opt.zero_grad(True)
pred = mod(data[0])
loss = torch.nn.CrossEntropyLoss()(pred, data[1])
loss.backward()
opt.step()
eager_times = []
for i in range(N_ITERS):
inp = generate_data(16)
_, eager_time = timed(lambda: train(model, inp))
eager_times.append(eager_time)
print(f"eager train time {i}: {eager_time}")
print("~" * 10)
model = init_model()
opt = torch.optim.Adam(model.parameters())
train_opt = torch.compile(train, mode="reduce-overhead")
compile_times = []
for i in range(N_ITERS):
inp = generate_data(16)
_, compile_time = timed(lambda: train_opt(model, inp))
compile_times.append(compile_time)
print(f"compile train time {i}: {compile_time}")
print("~" * 10)
eager_med = np.median(eager_times)
compile_med = np.median(compile_times)
speedup = eager_med / compile_med
print(f"(train) eager median: {eager_med}, compile median: {compile_med}, speedup: {speedup}x")
print("~" * 10)
Again, we can see that torch.compile
takes longer in the first
iteration, as it must compile the model, but in subsequent iterations, we see
significant speedups compared to eager.
Comparison to TorchScript and FX Tracing¶
We have seen that torch.compile
can speed up PyTorch code.
Why else should we use torch.compile
over existing PyTorch
compiler solutions, such as TorchScript or FX Tracing? Primarily, the
advantage of torch.compile
lies in its ability to handle
arbitrary Python code with minimal changes to existing code.
One case that torch.compile
can handle that other compiler
solutions struggle with is data-dependent control flow (the
if x.sum() < 0:
line below).
def f1(x, y):
if x.sum() < 0:
return -y
return y
# Test that `fn1` and `fn2` return the same result, given
# the same arguments `args`. Typically, `fn1` will be an eager function
# while `fn2` will be a compiled function (torch.compile, TorchScript, or FX graph).
def test_fns(fn1, fn2, args):
out1 = fn1(*args)
out2 = fn2(*args)
return torch.allclose(out1, out2)
inp1 = torch.randn(5, 5)
inp2 = torch.randn(5, 5)
TorchScript tracing f1
results in
silently incorrect results, since only the actual control flow path
is traced.
traced_f1 = torch.jit.trace(f1, (inp1, inp2))
print("traced 1, 1:", test_fns(f1, traced_f1, (inp1, inp2)))
print("traced 1, 2:", test_fns(f1, traced_f1, (-inp1, inp2)))
FX tracing f1
results in an error due to the presence of
data-dependent control flow.
import traceback as tb
try:
torch.fx.symbolic_trace(f1)
except:
tb.print_exc()
If we provide a value for x
as we try to FX trace f1
, then
we run into the same problem as TorchScript tracing, as the data-dependent
control flow is removed in the traced function.
fx_f1 = torch.fx.symbolic_trace(f1, concrete_args={"x": inp1})
print("fx 1, 1:", test_fns(f1, fx_f1, (inp1, inp2)))
print("fx 1, 2:", test_fns(f1, fx_f1, (-inp1, inp2)))
Now we can see that torch.compile
correctly handles
data-dependent control flow.
# Reset since we are using a different mode.
torch._dynamo.reset()
compile_f1 = torch.compile(f1)
print("compile 1, 1:", test_fns(f1, compile_f1, (inp1, inp2)))
print("compile 1, 2:", test_fns(f1, compile_f1, (-inp1, inp2)))
print("~" * 10)
TorchScript scripting can handle data-dependent control flow, but this solution comes with its own set of problems. Namely, TorchScript scripting can require major code changes and will raise errors when unsupported Python is used.
In the example below, we forget TorchScript type annotations and we receive
a TorchScript error because the input type for argument y
, an int
,
does not match with the default argument type, torch.Tensor
.
def f2(x, y):
return x + y
inp1 = torch.randn(5, 5)
inp2 = 3
script_f2 = torch.jit.script(f2)
try:
script_f2(inp1, inp2)
except:
tb.print_exc()
However, torch.compile
is easily able to handle f2
.
compile_f2 = torch.compile(f2)
print("compile 2:", test_fns(f2, compile_f2, (inp1, inp2)))
print("~" * 10)
Another case that torch.compile
handles well compared to
previous compilers solutions is the usage of non-PyTorch functions.
import scipy
def f3(x):
x = x * 2
x = scipy.fft.dct(x.numpy())
x = torch.from_numpy(x)
x = x * 2
return x
TorchScript tracing treats results from non-PyTorch function calls as constants, and so our results can be silently wrong.
inp1 = torch.randn(5, 5)
inp2 = torch.randn(5, 5)
traced_f3 = torch.jit.trace(f3, (inp1,))
print("traced 3:", test_fns(f3, traced_f3, (inp2,)))
TorchScript scripting and FX tracing disallow non-PyTorch function calls.
try:
torch.jit.script(f3)
except:
tb.print_exc()
try:
torch.fx.symbolic_trace(f3)
except:
tb.print_exc()
In comparison, torch.compile
is easily able to handle
the non-PyTorch function call.
compile_f3 = torch.compile(f3)
print("compile 3:", test_fns(f3, compile_f3, (inp2,)))
TorchDynamo and FX Graphs¶
One important component of torch.compile
is TorchDynamo.
TorchDynamo is responsible for JIT compiling arbitrary Python code into
FX graphs, which can
then be further optimized. TorchDynamo extracts FX graphs by analyzing Python bytecode
during runtime and detecting calls to PyTorch operations.
Normally, TorchInductor, another component of torch.compile
,
further compiles the FX graphs into optimized kernels,
but TorchDynamo allows for different backends to be used. In order to inspect
the FX graphs that TorchDynamo outputs, let us create a custom backend that
outputs the FX graph and simply returns the graph’s unoptimized forward method.
from typing import List
def custom_backend(gm: torch.fx.GraphModule, example_inputs: List[torch.Tensor]):
print("custom backend called with FX graph:")
gm.graph.print_tabular()
return gm.forward
# Reset since we are using a different backend.
torch._dynamo.reset()
opt_model = torch.compile(init_model(), backend=custom_backend)
opt_model(generate_data(16)[0])
Using our custom backend, we can now see how TorchDynamo is able to handle
data-dependent control flow. Consider the function below, where the line
if b.sum() < 0
is the source of data-dependent control flow.
def bar(a, b):
x = a / (torch.abs(a) + 1)
if b.sum() < 0:
b = b * -1
return x * b
opt_bar = torch.compile(bar, backend=custom_backend)
inp1 = torch.randn(10)
inp2 = torch.randn(10)
opt_bar(inp1, inp2)
opt_bar(inp1, -inp2)
The output reveals that TorchDynamo extracted 3 different FX graphs corresponding the following code (order may differ from the output above):
x = a / (torch.abs(a) + 1)
b = b * -1; return x * b
return x * b
When TorchDynamo encounters unsupported Python features, such as data-dependent control flow, it breaks the computation graph, lets the default Python interpreter handle the unsupported code, then resumes capturing the graph.
Let’s investigate by example how TorchDynamo would step through bar
.
If b.sum() < 0
, then TorchDynamo would run graph 1, let
Python determine the result of the conditional, then run
graph 2. On the other hand, if not b.sum() < 0
, then TorchDynamo
would run graph 1, let Python determine the result of the conditional, then
run graph 3.
This highlights a major difference between TorchDynamo and previous PyTorch compiler solutions. When encountering unsupported Python features, previous solutions either raise an error or silently fail. TorchDynamo, on the other hand, will break the computation graph.
We can see where TorchDynamo breaks the graph by using torch._dynamo.explain
:
# Reset since we are using a different backend.
torch._dynamo.reset()
explanation, out_guards, graphs, ops_per_graph, break_reasons, explanation_verbose = torch._dynamo.explain(
bar, torch.randn(10), torch.randn(10)
)
print(explanation_verbose)
In order to maximize speedup, graph breaks should be limited.
We can force TorchDynamo to raise an error upon the first graph
break encountered by using fullgraph=True
:
opt_bar = torch.compile(bar, fullgraph=True)
try:
opt_bar(torch.randn(10), torch.randn(10))
except:
tb.print_exc()
And below, we demonstrate that TorchDynamo does not break the graph on the model we used above for demonstrating speedups.
opt_model = torch.compile(init_model(), fullgraph=True)
print(opt_model(generate_data(16)[0]))
Finally, if we simply want TorchDynamo to output the FX graph for export,
we can use torch._dynamo.export
. Note that torch._dynamo.export
, like
fullgraph=True
, raises an error if TorchDynamo breaks the graph.
try:
torch._dynamo.export(bar, torch.randn(10), torch.randn(10))
except:
tb.print_exc()
model_exp = torch._dynamo.export(init_model(), generate_data(16)[0])
print(model_exp[0](generate_data(16)[0]))
Conclusion¶
In this tutorial, we introduced torch.compile
by covering
basic usage, demonstrating speedups over eager mode, comparing to previous
PyTorch compiler solutions, and briefly investigating TorchDynamo and its interactions
with FX graphs. We hope that you will give torch.compile
a try!
Total running time of the script: ( 0 minutes 50.169 seconds)


SOFTWARE :: Your Platform Needs
assistance with any of the below categories or software, installation, maintenance, customization-? It's our pleasure
- Democracy
- Nation Land
- Unions
- Computer
- Vermont Town
- SVG
- Philosophy
- East Eastate
- LGBT
::ACTIVE / AGENCY
SIDU - great GUI for MySQL
phpMyAdmin - popular MySQL software, great documentation, data management software
Adminer - Simple and Secure data manager
SQLiteManager -Easy to use but powerful system
Chive open source, fast, great UI
Laravel - super secure PHP Back-End
CodeIgniter - elegant designed for developers building web apps
yii - fast and secure
Bootstrap - perhaps the most popular front end framework developed by Twitter
CakePHP - rapidly scalable platform
Symfony - need extreme power-- this platform powers Laravel and Drupal
Vision Helpdesk - scalable for mediutm to large businesses, easy to use ticket system, task and multi channel management
osTicket Free, open-source but feature heavy
HESK - a developer friendly PHP driven system
Lazarus
BellaBook
Advanced Guestbook
VX Guestbook
PHPKode Guestbook
RicarGBooK
PrestaShop - Great, Free-to-use software
OpenCart 1.5- Perhaps the best open-source platform for eCommerce
CubeCart - Powerful, widly used platform
Joomla - Award winning content management platform
Drupal 8 - An amazing and powerful - highly secure system, used by major governments and orginizations
Concrete5 5.7
Zikula
PHP-Nuke
sNews
SilverStripe
Geeklog
Fork
Pluck
Pixie - open source simple app
qdPM - multi project project management tool
Feng Office - office management platform
eyeOS - full browser office suite
Collabtive - pm software for small to medium size business
The Bug Genie - pm tool, issue tracker
Flyspray - bug tracking
Traq - pm tool and issue tracker
Open Web Analytics - open source analytics software
Logaholic - web analytics solution
Aardvark Topsites SEO ranging system
Piwik -realtime website analytics
Form Tools - easy to use forms
CJ Dynamic Poll - dynamically perform evaluation of form and poll content
LimeSurvey - non coders can create and collect surveys, analyze data
poMMo - add mailing list to site
Webinsta Maillist mail list/ newsletter manager
OpenNewsletter - newsletter manager
ccMail-- mail list manager
WebCalendar
Vtiger- marketing, sales, customer service
Dolibarr great small to medium, foundation business tool
SugarCRM - Open source CRM
EPESI CRM app
Zurmo -social gamified CRM
FrontAccounting - small business entire erp chain
iQDesk - organize customer work flow
Gregarius - RSS/RDF/ATOM feed aggregator
Feed of Feeds - RSS Atom aggregator for multi feeds
MediaWiki
DokuWiki
PmWiki
WikkaWiki
Dolphin
Open Source Social Network
WebCalendar
WordPress
PivotX - flatfile, easy-to-use
Textpattern - great web publishing
ClipBucket
videoDB
kPlaylist
Podcast Generator


Ericsson to pay $1 billion USD to settle corruption investigation
The company was accused of bribing government officials
by Aisha MalikEricsson has agreed to pay more than $1 billion USD (approximately $1.3 billion CAD) to resolve U.S. corruption probes.
The probes from the U.S. government looked at corruption involving the bribing of government officials. The U.S. Department of Justice said that the bribery involved a number of countries including China and Vietnam and took place over many years.
Ericsson admitted that it violated the Foreign Corrupt Practices Act from 2000 and 2016 by bribing officials to get customers. It also falsified books and records.
“Certain employees in some markets, some of whom were executives in those markets, acted in bad faith and knowingly failed to implement sufficient controls,” Ericsson CEO Borje Ekholm said in a conference call on December 7th, according to Reuters.
“I view what has happened as a completely unacceptable and hugely upsetting chapter of our history,” he said during the call.
Authorities say that the company bribed government officials to keep and secure its business. It also retained consultants to transfer money to third parties.
Ericsson now says it has taken measures to improve its compliance and ethics. It says it has also reviewed its anti-corruption program.
Image credit: Ericsson
Source: Reuters


lsmeans: Least-Squares Means
Obtain least-squares means for linear, generalized linear,
and mixed models. Compute contrasts or linear functions of
least-squares means, and comparisons of slopes.
Plots and compact letter displays. Least-squares means were proposed in
Harvey, W (1960) "Least-squares analysis of data with unequal subclass numbers",
Tech Report ARS-20-8, USDA National Agricultural Library, and discussed
further in Searle, Speed, and Milliken (1980) "Population marginal means
in the linear model: An alternative to least squares means",
The American Statistician 34(4), 216-221 <doi:10.1080/00031305.1980.10483031>.
NOTE: lsmeans now relies primarily on code in the 'emmeans' package.
'lsmeans' will be archived in the near future.
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=lsmeans
to link to this page.


--- layout: default ---
Image-guided surgery (IGS) is the use of real-time tracked instruments to match anatomical structures in the operative field with pre- or intra-operative imaging data. Several challenges are involved with IGS systems, such as image registration, respiratory motion, patient positioning, visualization, hand-eye coordination.
Currently, I am a postdoctoral fellow at the neuroimaging and surgical technologies lab - Montreal Neurological Institute, McGill University. My research interests revolve around the use of ultrasound imaging for IGS. Ultrasound imaging is a safe, low cost, fast and non-invasive imaging modality that can be used during IGS to establish instrument-to-image correspondence. My work involves the development of IGS software for brain and spine interventions with a particular focus on ultrasound-CT/MR image registration, interactive image segmentation, surface and volume reconstruction and augmented ultrasound visualization.


Your account has been successfully verified. You can sign in with your registered email and password.


Notifications -
✖
✖
✖
✖
✖
✖
Video by YouTube Creator
Insert Description Here
12:34 | 5,678 views | 90% likes | 10% dislikes


THE WHITE HARE
IT is a very popular fancy that when a maiden, who has loved not wisely but too well, dies forsaken and broken-hearted, that she comes back to haunt her deceiver in the shape of a white hare.
This phantom follows the false one everywhere, mostly invisible to all but him. It sometimes saves him from danger, but invariably the white hare causes the death of the betrayer in the end.
The following story of the white hare is a modification of several tales of the same kind which have been told me. Many, many years have passed away, and all who were in any way connected with my story have slept for generations in the quiet churchyard of --.
A large landed proprietor engaged a fine, handsome young fellow to manage his farm, which was a very extensive as well- as a high-class one. When the young farmer was duly settled in his new farmhouse, there came to live with him, to take the management of the dairy, a peasant's daughter. She was very handsome, and of a singularly fine figure, but entirely without education.
The farmer became desperately in love with this young creature, and eventually their love passed all the bounds of discretion. It became the policy of the young farmer's family to put down this unfortunate passion, by substituting a more legitimate and endearing object
After a long trial, they thought they were successful, and the young farmer was married.
Many months had not passed away when the discharged dairy maid was observed to suffer from illness, which, however, she constantly spoke of as nothing; but knowing dames saw too clearly the truth. One morning there was found in a field a newly-born babe strangled. The unfortunate girl was at once suspected as being the parent, and the evidence was soon sufficient to charge her with the murder. She was tried, and, chiefly by the evidence of the young farmer and his family, convicted of, and executed for, the murder.
Everything now went wrong in the farm, and the young man suddenly left it and went into another part of the country.
Still nothing prospered, and gradually he took to drink to drown some secret sorrow. He was more frequently on the road by night than by day; and, go where he would, a white hare was constantly crossing his path. The white hare was often seen by others, almost always under the feet of his horse; and the poor terrified animal would go like the wind to. avoid the strange apparition.
One morning the young farmer was found drowned in a forsaken mine; and the horse, which had evidently suffered extreme terror, was grazing near the corpse. Beyond all doubt the white hare, which is known to hunt the perjured and the false-hearted to death, had terrified the horse to such a degree, that eventually the rider was thrown into the mine-waste in which the body was found.


 Keep in touch with them on facebook.
Remember that it is illegal to trade your vote for money or other personal gain. All vote swaps are voluntary and must be done without compensation. As long as you keep that in mind, you're free and clear!
Please help grow VoteSwap! Users are only matched with friends and
friends-of-friends, so even though you're matched, you can still
be a connecting point between hundreds of people.
{% with num_friends=profile.friends.count %}
{% if not num_friends %}
Sadly, *none* of your friends have joined VoteSwap.
{% else %}
Only {{ num_friends }} of your friends have joined VoteSwap.
{% endif %}
Get more friends on VoteSwap by sharing us on Facebook.
Share on facebook
{% endwith %}


Doesn't overflow
{{title}}
div[overflow]
Overflows (layout=fixed)
div[overflow]
Overflows (layout=responsive)
div[overflow]
Diffable
div[fetch-error]
Video games
Video games


USD/CHF Technical Analysis: Immediate support trendline, 200-day SMA limit nearby declines
by Anil Panchal- USD/CHF pulls back from six week high.
- Falling trend line since early October, 200-day SMA keeps buyers hopeful.
- An upside beyond mid-October high could escalate pair’s run-up towards the previous month high.
USD/CHF fails to hold the recent trend line breakout while declining to 0.9970 during early Monday.
Even so, the quote stays beyond a multi-week-old falling support-line, at 0.9960, while also trading above 200-day Simple Moving Average (SMA) level of 0.9948.
As a result, buyers can still wait for an upside break of 1.0000 mark before liquidating their longs. In that case, October month high around 1.0030 and late-May top near 1.0100 will be on their radars.
On the downside, pair’s declines below 200-day SMA level of 0.9948 will target 0.9900 round-figure whereas a confluence of 100-day SMA and 38.2% Fibonacci retracement of August-October upside, around 0.9987/83, could keep further declines limited.
If bears dominate below 0.9983, an upward sloping trend line since October 18, at 0.9875 will be the key as a break of which could recall the previous month low near 0.9835 to the charts.
USD/CHF daily chart
Trend: Pullback
additional important levels
| Overview | |
|---|---|
| Today last price | 0.9966 |
| Today Daily Change | -8 pips |
| Today Daily Change % | -0.08% |
| Today daily open | 0.9974 |
| Trends | |
|---|---|
| Daily SMA20 | 0.9915 |
| Daily SMA50 | 0.9925 |
| Daily SMA100 | 0.9884 |
| Daily SMA200 | 0.9949 |
| Levels | |
|---|---|
| Previous Daily High | 0.9981 |
| Previous Daily Low | 0.9926 |
| Previous Weekly High | 0.9981 |
| Previous Weekly Low | 0.9868 |
| Previous Monthly High | 1.0028 |
| Previous Monthly Low | 0.9837 |
| Daily Fibonacci 38.2% | 0.996 |
| Daily Fibonacci 61.8% | 0.9947 |
| Daily Pivot Point S1 | 0.994 |
| Daily Pivot Point S2 | 0.9905 |
| Daily Pivot Point S3 | 0.9885 |
| Daily Pivot Point R1 | 0.9995 |
| Daily Pivot Point R2 | 1.0015 |
| Daily Pivot Point R3 | 1.005 |


Try out our Premium Member services: Virtual Legal Assistant, Query Alert Service and an ad-free experience. Free for one month and pay only if you like it.
Gujarat High Court Case Information System Print SCA/12174/2008 1/ 3 ORDER IN THE HIGH COURT OF GUJARAT AT AHMEDABAD SPECIAL CIVIL APPLICATION No. 12174 of 2008 ====================================== SAMAGOGA-BARAYA GRAM VIKAS SAMITI & 6 - Petitioner(s) Versus STATE OF GUJARAT & 11 - Respondent(s) ====================================== Appearance : MR MIHIR THAKORE, SENIOR COUNSEL with MR BY MANKAD for Petitioner(s) : 1 - 7. MS. TRUSHA PATEL, ASSISTANT GOVERNMENT PLEADER for Respondent(s) : 1 - 4. NOTICE SERVED for Respondent(s) : 1 - 10, 12, MR SHIVANG M SHAH for Respondent(s) : 7, MR RITURAJ M MEENA for Respondent(s) : 0.0.0 MS SHIVYA A DESAI for Respondent(s) : 8, MRS VD NANAVATI for Respondent(s) : 0.0.0 MR SN THAKKAR for Respondent(s) : 0.0.0 M/S WADIA GHANDY &CO for Respondent(s) : 0.0.0 ====================================== CORAM : HONOURABLE THE CHIEF JUSTICE MR. S.J. MUKHOPADHAYA and HONOURABLE MR.JUSTICE ANANT S. DAVE Date : 28/01/2010 ORAL ORDER
(Per : HONOURABLE THE CHIEF JUSTICE MR. S.J. MUKHOPADHAYA) This Public Interest Litigation has been preferred by the villagers of Samagoga and Baraya of Taluka Mundra, alleging pollution caused by 7th to 12th respondents by emitting hazardous gas and discharging untreated effluents. Pollution Control Board was initially directed to visit the industrial premises and to submit a report before this Court. However, the report being incomplete with regard to some of the industries, namely Ashapura Mine Chem Limited, Mahashakti Coke and Jindal Saw Limited, the Pollution Control Board was asked to make further enquiry under the Water (Prevention and Control of Pollution) Act and under Air (Prevention and Control of Pollution)-1981, and to submit a fresh report.
Pursuant to the Court's order, a report has been submitted before this Court, from which it would be evident that none of the respondent industries are discharging any hazardous waste, nor emitting any hazardous gas, which are within the permissible limits. In absence of any infirmity in the report, we accept the same.
Mr.
Mihir Thakore, learned Senior Counsel for the petitioners contended that though Panchayats assessed the property of the respondents in this case, no steps have been taken for recovery of the same. Per contra, learned Counsel appearing for the Panchayats submitted that steps have already been taken to recover the property tax and other dues. Learned counsel appearing on behalf of the respondent industries submitted that the industries are ready to pay the tax, subject to their rights to challenge illegal assessment, if any, made.
The next submission made on behalf of the petitioner is that the industries are not being established with proper permission and therefore, they may not be allowed to run. Such submission has been disputed by the respondents, who wanted to rely upon the documents to show that the industries have been established after obtaining due permission from the Authorities.
We have heard learned counsel for the parties and perused the records.
In the present case, as it has been reported by the Pollution Control Board after the recent inspection that the respondent industries are not emitting any hazardous gas, which is well within the permissible limit, and are also not discharging any untreated effluent, we are not inclined to issue any direction to the Pollution Control Board. It will always be open for the Pollution Control Board to make periodical inspection of the industries to ensure that no industrial pollution is caused.
So far as collection of tax is concerned, the Panchayats are directed to take steps for collection of the assessed tax in accordance with law. If one or other respondent industry is not satisfied with such assessment, they may move an appeal under sub-section (6 ) of Section 200 of the Act, after depositing the requisite amount under sub-section (7) of Section 200 of the Gujarat Panchayats Act, 1993.
The petition stands disposed of with aforesaid observations and directions. There shall be no order as to costs.
(S.J.Mukhopadhaya, C.J.) (Anant S. Dave, J.) */Mohandas Top


Convert
Currency I Have
Select any
Currency I Want
Select any
Amount
Historical Date (dd/mm/yyyy)
Convert history
#
From
To
Amount
Total
Historical Date


Why do businesses exist?
Ethical Theories
Egoism
Kant
Aristotle's a virtue
Ethics of Care
For profit?
For a purpose?
JUSTICE
Corporate Social Responsibility
Indigenous Australia
Sustainablity
Workplace practices
Globalisation


Sign In
or use your email account:
Create Account
or use your email for registration:
We always put our User first
By clicking this Emergency button help message with location will be delivered to your emergency contacts and our team.
Request to hospital
Send your request to nearby hospitals in Emergency
Request to Fire brigade
Send your request to nearby Fire bridage in Emergency and Disaster
Request to Police
Send your request to nearby Pulice station in Emergency
Emergency
Dolor sit amet, consecte tuer elit, sed diam nonummy nibh euismod tincidunt ut ldolore magna.
First Aid +
Here you can check for some firstAid precautions for bleeding,burn,Allergy and many more. you can also search perticular injuries precaution by clicking ctrl+G


Two men held for cloning ATM cards
Police recover around 300 cards
by Staff ReporterTwo persons have been arrested for allegedly cloning ATM cards across the country, the police said on Friday.
Deputy Commissioner of Police (South-West) Devender Arya said the accused have been identified as Krishna Gopal (22) from Kakrola and Sumit Gola (30) from Mandawali. The police said they have recovered around 300 cloned cards, one skimmer device and one countrymade pistol with two extra live cartridges from the possession of the accused.
“The police got a tip-off regarding the accused persons on Thursday following which a trap was laid near Mahipal Pur and the two were nabbed after a brief chase,” Mr. Arya said.
The accused allegedly told the police they used to fit a skimming machine in the ATMs of Delhi, NCR and other States, including Maharashtra, Odisha, Uttar Pradesh, Haryana, and Madhya Pradesh to collect data for cloning. After this, they would detach the skimmer from the ATM and extract the data in encrypted form.
The accused knew a few software engineers who used to decrypt the data for them. “Gopal used to withdraw the money. He was involved in two similar cases in Odisha and Ghaziabad,” the officer added.


Sign In
Funflix - SignUp
Personal Info
First Name
Last Name
User Name
Password
Email
Phone Number
Birthday
Country
Sign Up


--- layout: post title: Do You Noda Time? date: 2009-11-08 14:24:52.000000000 +01:00 categories: [] tags: - .NET - Noda Time - Open Source status: publish type: post published: true meta: {} author: login: admin email<EMAIL_ADDRESS>display_name: Philippe first_name: Philippe last_name: Vlérick excerpt: !ruby/object:Hpricot::Doc options: {} ---
A few days ago, Jon Skeet announced that he was starting an open source project with a unknown name (that found itself named Noda Time) that aimed to provide a .NET equivalent to Joda Time.
As there were clearly some openings, I proposed to join, and there is now a Google Group for the project. Jon has great expectations for the project itself but also for the methodology. He wants that project to be model:
I want it to be a shining example of how to build, maintain and deploy an open source .NET library.
I’m really eager to see how this will go. I think this is a great opportunity for me to learn a lot of new stuff and meet people.
Next steps for me are to keep up with the ongoing discussions and learn more about Joda Time as I never used it.
I hope I can prove myself useful!


The AI powered JS based facial detection app brings authentication system to the next level & lets you associate facial descriptors with usernames of accounts.
Try out the demonstration of user identification based on the previous data (username, photo) given upon registration.
Jump to demo


Hot-keys on this page
n s m x c change column sorting
| Module | statements | missing | excluded | coverage |
|---|---|---|---|---|
| Total | 720 | 435 | 0 | 40% |
| subby/models/__init__.py | 2 | 0 | 0 | 100% |
| subby/models/favourite.py | 25 | 8 | 0 | 68% |
| subby/models/image.py | 6 | 0 | 0 | 100% |
| subby/models/rating.py | 52 | 22 | 0 | 58% |
| subby/models/report.py | 51 | 20 | 0 | 61% |
| subby/models/sublet.py | 89 | 42 | 0 | 53% |
| subby/models/user.py | 40 | 6 | 0 | 85% |
| subby/views/__init__.py | 1 | 0 | 0 | 100% |
| subby/views/account.py | 29 | 19 | 0 | 34% |
| subby/views/application.py | 7 | 0 | 0 | 100% |
| subby/views/favourite.py | 41 | 26 | 0 | 37% |
| subby/views/rating.py | 66 | 54 | 0 | 18% |
| subby/views/report.py | 34 | 23 | 0 | 32% |
| subby/views/sublet.py | 159 | 138 | 0 | 13% |
| subby/views/user.py | 118 | 77 | 0 | 35% |
No items found using the specified filter.


--- layout: post title: 14 minutes to go date: 2012-01-19 12:43:36.000000000 +01:00 type: post published: true status: publish categories: - idea tags: - java heap fragmentation meta: _edit_last: '300497' publicize_results: a:1:{s:7:"twitter";a:1:{i:44586907;a:2:{s:7:"user_id";s:5:"f_vdd";s:7:"post_id";s:18:"159979319966445568";}}} _wpas_done_twitter: '1' _wpas_skip_fb: '1' _wpas_skip_linkedin: '1' author: login: fvdd email<EMAIL_ADDRESS>display_name: fvdd first_name: 'Frederik' last_name: 'Vandendriessche' ---
before a 1200 minute recording finishes, to be followed by 'chasing the dark matter'. Yes, I like star gazing, but this is Java heap related... :-|
Talk about fragmentation... MissionControl (sounds very 'spacey' doesn't it just), VisualVM and MemoryAnalyzer are the tools at hand.
What/Which are these objects hanging around? Are they caused by human error, and if so, mine or that of a WebLogic server/portal programmer - not to mention all the 3rd party libs in use. It'll be a nice Thursday afternoon!


Closures
is an iOS Framework that adds closure handlers to many of the popular UIKit and Foundation classes. Although this framework is a substitute for some Cocoa Touch design patterns, such as Delegation & Data Sources and Target-Action, the authors make no claim regarding which is a better way to accomplish the same type of task. Most of the time it is a matter of style, preference, or convenience that will determine if any of these closure extensions are beneficial.
Whether you’re a functional purist, dislike a particular API, or simply just want to organize your code a little bit, you might enjoy using this library.
note
Closures
currently only supports projects written in Swift 4.0+.
Usage Overview
Convenient Closures
Some days, you just feel like dealing with UIControl‘s target-action using a closure instead.
button.onTap {
// UIButton tapped code
}
mySwitch.onChange { isOn in
// UISwitch value changed code
}
Adding a gesture recognizer can be compacted into one method.
view.addPanGesture() { pan in
// UIPanGesutreRecognizer recognized code
}
Populating views with an array? I gotchu.
tableView.addElements(myArray, cell: MyTableViewCell.self) { element, cell, index in
cell.textLabel!.text = "\(element)"
}
collectionView.addFlowElements(myArray, cell: MyCustomCollectionViewCell.self) { element, cell, index in
cell.myImageViewProperty.image = element.thumbImage
}
pickerView.addStrings(myStrings) { title, component, row in
// UIPickerView item selected code
}
Daisy Chaining
Almost all convenience methods allow for the use of daisy chaining. This allows us to have some nice syntax sugar while implementing optional delegate methods in a concise way. Using UITextField as an example, we can organize and visualize all of the UITextFieldDelegate
behavior.
textField
.didBeginEditing {
// UITextField did begin editing code
}.shouldClear {
true
}.shouldChangeCharacters { range, string in
// some custom character change code
return false
}
Retain Control
At no time are you locked into using these convenience methods. For instance, UITableView does not need to be populated with an array. You can just as easily provide your own UITableViewDelegate
and UITableViewDataSource
handlers.
tableView.register(MyTableViewCell.self, forCellReuseIdentifier: "Cell")
tableView
.numberOfRows { _ in
myArray.count
}.cellForRow { indexPath in
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
cell.textLabel!.text = myArray[indexPath.row]
return cell
}.didSelectRowAt { indexPath in
// IndexPath selected code
}
You aren’t limited to which delegate/dataSource methods you wish to implement. Similarly, you can act on any UIControl events.
anyControl.on(.touchDown) { control, event in
// UIControlEvents.touchDown event code
}
These two UIImagePickerController snippets are equivalent. As you can see, there are lots of ways to provide more granular control by mixing and match various convenience methods and closure handlers.
UIImagePickerController(source: .camera, allow: .image) { result, picker in
myImageView.image = result.editedImage
}.present(from: self)
let pickerController = UIImagePickerController()
pickerController.sourceType = .camera
pickerController.mediaTypes = [kUTTypeImage]
pickerController.didFinishPickingMedia { [weak self] info in
myImageView.image = info[UIImagePickerControllerEditedImage] as? UIImage
self?.dismiss(animated: true)
}.didCancel { [weak self] in
self?.dismiss(animated: true)
}
self.present(pickerController, animated: true)
Dive Deeper
There are several ways to learn more about the Closures
API, depending on your learning style. Some just like to open up Xcode and use autocomplete to view the various properties/functions. Others prefer a more documented approach. Below are some documentation options.
Playground
To play with the Playground demo, open the Closures
workspace (Closures.xcworkspace file), build the Closures
framework target, then click on the Closures Demo
playground. Be sure to show the Assistant Editor and Live View as shown below:
Class Reference Documentation
The Reference Documentation has all of the detailed usage information including all the public methods, parameters, and convenience initializers.
Installation
CocoaPods
If using CocoaPods, add the following to your Podfile:
pod 'Closures'
Carthage
If using Carthage, add the following to your Cartfile:
github "vhesener/Closures"
Manual
Download or clone the project files found in the master branch. Drag and drop all .swift files located in the 'Closures/Source’ subdirectory into your Xcode project. Check the option Copy items if needed.
Background
Inspired by BlocksKit, there was a need for a more Swifty version of the same library. The goal of this library was to provide similar usefulness, but with the following constraints:
- Use Swift’s strong-typed system as much as possible in the API.
- Not use the Objective-C runtime.
There are many reasons for this, but mostly because
- It was arbitrarily challenging.
- It was in the spirit of Swift.
- Create a scalable mechanism to easily add additional closure wrappers in the future.
It is our goal to become irrelevant via sherlock. In addition to not having to support this library anymore, it would actually be flattering to have been validated by the API folks at Apple.
Want more?
If you were hoping to see an API converted using closures and came up empty handed, there’s a chance all can be right. Simply vote on a feature by adding a 👍 reaction.
License
Closures is provided under the MIT License.
The MIT License (MIT)
Copyright (c) 2017 Vincent Hesener
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


The sphere_stream tool allows to run system commands or user programs directly on Sector files without writing a Sphere program.
The sphere_stream tool provides a functionality similar to Hadoop Streaming. The sphere_stream tool supports to run a specific command or application (-c) on a given input data set (-i). The results can be either written into a Sector directory (-o), or print on the client side screen.
For example, if you want to know the MD5 checksum on all files in the "data" directory, you can do:
As another example, if you need to search text "my data" from all files in the "html" directory, you can do:
Furthermore, sphere_stream supports bucket style Sphere operations (similar to the Reduce operation in MapReduce). In this case, Sphere assumes that the output from the user specified command is text data, with each record per line. The first item (from position 0 until the first blank or tab in the line) is treated as bucket ID. The whole line (including the bucket ID) will be put into a proper bucket file. The result bucket files will be located in the output directory.
For example, the WordCount example can be implemented as following. First, a user defined program, written in any language, can read an input HTML file and print the following lines to the screen:
1 at as
2 bee begin
...
These lines will be put into different bucket files in the same directory. The first file contains all lines starting with 1, the second line contains all lines starting with 2, and so on. Then in the second step, another program can parse each bucket file independently.
Please note that the length of each line cannot exceed 64K. More text will be ignored. Currently Sphere Stream only work with files. We will support records and blocks in future versions.


No field guide is complete without providing a collection of examples to help in identification of best practices and to show how features are implemented. Throughout the next chapter, we've created a series of sample applications that address many of the common scenarios seen in modern web applications. Each application provides detailed commentary about the design decisions, the way features should be implemented and technology used.
Even though they're fictitious, these case studies show how real apps could work.
These web applications were designed to provide you with ideas on how to approach application design for some of the more common scenarios that today's web apps. With the exception of the Khan Academy, each case study is for a fictitious company.
As you look at each case study, hover over the different HTML5 logos below the images for descriptions about how those technologies are used in the application. You can also click on images to see a larger, more detailed version.
Online commerce shows no sign of slowing down. And as it grows, so too does the number of people tracking their packages online. Of all the functionality offered on a shipping company's website, package tracking is, by any estimate, the most important to the greatest number of shoppers. And with precious few exceptions across the web today, that functionality is lacking in usability, responsiveness, and overall quality, making for a poor experience..
Enter HTML5 and with it a new approach to web applications. The features of HTML5 have a lot to offer in the package tracking department — let's take a look at a rethinking of a Package Tracker.
Our Tracker app stands alone from the rest of the Shipshot website. A visitor to this app is primarily interested in tracking packages, so the interface is free of the visual and functional distractions of site navigation, promotions, store locator utilities — nothing that isn't about package tracking shows up here. The result is an app that feels fast and is intuitive. It's also bookmarkable, so the Tracker is just a click or a tap away, looking and feeling like a standalone service.
Take advantage of HTML5 tags like the new <progress> bar.
Realtime data transfer for up-to-the-minute package status.
CSS3 styling for flexible, lightweight brand-building design regardless of screen size.
For those who need to buy shipping labels or locate a store, however, the Shipshot logo persists in the upper left hand corner — our visitor can always click there and access the rest of the Shipshot website.
Taking advantage of HTML5's ability to adjust the presentation according to the viewport, our Tracker app is responsively designed — mobile visitors see an interface that's as big and bright and easy to navigate as the one laptop users work with.
Utilize the HTML5 placeholder attribute for text input instructions.
Offline capabilities keep track of recently tracked packages for quick reference.
The first thing we ask for is a tracking number. The textbox for it is front and center, big and unmistakable. The field uses an HTML5 placeholder attribute for instructional text and local storage for the list of recently tracked packages below it, each labeled not just by some inscrutable number, but with the sender and any title the visitor might have previously assigned to it.
Where's the package? When will it arrive? Is it on time? These are the three most important pieces of information about a package on its way, and our
HTML5 ;progress bar for a quick visual reference of package status.
Package progress and weather conditions are updated in real time.
An interactive map with routes and checkpoints engages users.
Color alerts for on-time/delay are quickly implemented with stylesheets.
Tracker app displays them all immediately. An HTML5 progress bar spanning the entire display gives an immediate visual cue as to the package's progress. Typical color signals provide further visual reinforcement — green for on time packages, red for delayed ones. A specific estimate is offered, and an interactive map and a list of checkpoints fill out the display to show just where the package has been. The map is enhanced with HTML5 canvas elements, drawing points and lines and animating as new information comes in or is selected by the visitor. Icons to indicate the type of transportation and whether the estimate was met for each checkpoint give an overview of the package's trick that is both easy to understand and rich with information.
GPS-enabled devices can put the user right on the map.
Zoom on the HTML5 canvas-based interactive map for neighborhood level detail.
Keep the user experience snappy with enhanced, optimized code.
Selecting a destination in the route rundown zooms into the map to provide more details about individual checkpoints and estimated arrival times. Here again the canvas element provides for cross-platform, high-performance graphics.
Keep track of shipping history, even offline.
Optimized performance for real-time updates of multiple packages.
Color-coded status information for quick glance updates.
A click away, under the 'Recently Tracked' tab atop the interface, we present a list of recently tracked packages. This compact view provides the same important visual cues as the tracking detail page, but for several packages at once. HTML5's local storage makes referencing this information instant and login-free, a convenience in any situation.
Viewport awareness allows for seamless visual performance, even on small screens.
Information layout is optimized for rotation-capable devices like smartphones.
Mobile stylesheets keep useful data front and center for quick tap access.
Using HTML5's viewport awareness and responsive web design, minimal tweaks to the interface allow the same information to be presented on a smaller screen without losing an ounce of usability. The progress bar, the list of destinations, the map — all present and accounted for, now stacked atop one another for easier comprehension on a mobile screen.
GPS-enabled devices mark the user's location on the delivery map.
Interactive delivery route map, even on the small screen.
Package tracking is the sort of thing people do repetitively — anxious to receive that book or that new coat — and they shouldn't be forced to jump through hoops every time they need updated information. No more guessing at estimates or copying and pasting a tracking number from an email receipt that becomes harder to find as it becomes more and more buried each day. Our Tracker app is easy to access, remembers what you're expecting, and operates quickly — it delivers on the promise of HTML5, embodying the full potential of a web app today.
More than most, Wayfindit’s app must embody convenience. Travel is complicated, and whether for business or pleasure, a smooth trip is one free of unexpected stress from doorstop to destination and back again. Wayfindit's app should stay out of our busy traveler’s way but provide the information they need as quickly and as accurately as possible when asked. That means a minimal, intuitive, and responsive interface with relevant, contextually important information front and center — a goal accomplished with help from the HTML5 features for location awareness and offline storage.
From your pocket or your bag, an intinerary — immediately. With local storage, location awareness, and just checking the time of day, the Wayfindit Trip Planner app presents a schedule of your day, recommendations if you've got time left over, notifications if you're near a particularly picturesque spot, and a smart map and directions.
The Wayfindit Trip Planner app takes advantage of HTML5 features to provide travelers with a convenient, always-ready, intelligent companion while they travel. It's responsive — visually, performance-wise, and aware of our traveler's needs and context. It's the kind of tool that makes a great vacation even better and is a joy to use.
GPS-enabled devices display a location-aware welcome screen with localized information.
Compare current location with previous and adjust content accordingly.
Compressed assets and optimized markup ensure expedited data delivery.
Has our traveler just landed? Based on their location and the last time the app was able to connect to the internet, it seems like it. The app immediately offers a taxi, nearby restaurants or activities, or directions to the hotel (and just how far away it is).
And all of the information arrives in milliseconds — the app is smartly designed from the inside out and its assets have been compressed to ensure it feels speedy.
Remember useful information like reservation, room and parking spot numbers regardless of connection.
Stylesheets maintain visual consistency throughout: all new information and alerts are presented in high contrast colors.
Our traveler has driven their rental car to the hotel. The app knows this and can offer to remember the parking space number for later, and does the same minutes later at the checkin counter. All of this information is locally stored — it'll be immediately available whether or not there's internet connectivity.
HTML5 media queries help make the most of viewport size and orientation.
Travel app should maximize device capabilities like GPS and serve location-aware content.
Serve content like suggested destinations based on current time of day.
The Wayfindit Trip Planner App is ‘responsively’ designed with HTML5 and CSS3 media queries. On a larger screen, like a laptop or tablet, it can offer more information. In addition to important tasks like hotel check-ins and rental car pick-ups, peripheral information like restaurant and activity recommendations can be presented. (The same information is available to phones as well, as the down-scrolling traveler will discover.)
Recommendations for restaurants and activities are made based on the traveler's location and the time of day.
Locally stored database quickly displays updated dining and transportation options.
GPS guides the way once again, and mobile users can make one touch phone calls for reservations.
Simple, visually consistent icons provide useful information at a glance.
Planning a trip to a restaurant? Wayfindit's Trip Planner knows how to get there — on foot, in a cab, or using public transport (if it knows there's no rental car, that is). If our traveler is on the go and using the app on their phone, the app can make the right phone call with just a tap.
Ever location-aware, the app can offer up interesting places nearby with visual cues, using its locally stored database of visited places to make smart recommendations.
HTML5 form elements keep the code light and the user experience friendly.
Remember today's events and plan for tomorrow's with locally-stored notes.
Rate and share your experiences to help shape trips for other Wayfindit travelers.
A day's end recount is a good way for our traveler to remember the good times and build strong memories. It's also a great way to improve their recommendations tomorrow! Some shiny new HTML5 form controls make it easy to rate the day's activities and move on.
The Khan Academy website offers a wealth of educational opportunities in the form of thousands of video classes. They are well-taught, always available, and completely free. The site also features a 'knowledge map' and statistics, guiding you through a series of lessons and tracking your progress visually. It's a superb and bountiful resource for students worldwide, in school or out, studious or curious. It deserves the best presentation technology the web has to offer, so we've taken Khan Academy and brought it into the app era with HTML5.
View the current Khan Academy web site here for comparison
Khan Academy's video content is the focal point of its website, and our redesign puts it front and center, free of distractions. The video fills the screen, with ancillary information disappearing when it isn't needed, making for an immersive experience. And when the navigation does appear, it's minimal — we offer only what students need to continue learning uninhibited. Comments and Q&A sections are minimized until expanded, and their content isn't fetched until it's asked for, saving on load time. And keyboard shortcuts make navigating even easier.
Take advantage of HTML5 meta viewport tag and progress bar.
Coursework progress is stored locally for offline access and expedited subsequent visits.
Video tutorials are scaled to fill screens for an immersive experience.
The interface itself is responsive to the device accessing it, too. Mobile users see the same content in a layout optimized for their device using HTML5's meta viewport tag and CSS3's media query capabilities.
A progress bar (using HTML5's <progress> element, of course) provides immediate visual feedback on a student's place in a given course or section. The use of local storage makes checking on this progress a breeze -- there's no need to log in to store or record data, and future visits enjoy a performance boost.
HTML5 progress bars show course status in individual sections and the Academy overall.
Simple, intuitive design for quick content drilldown regardless of screen size or orientation.
Under the 'Learn' tab, we enter a content drilldown that makes navigating the thousands of lessons and practice exercises on Khan Academy easy by breaking it up into categories and subcategories. Here, too, progress bars offer a visual indication of the student's advancement through each category.
Progress in all sections is stored offline for at-a-glance status updates.
Intuitive graphics differentiate single clips from multiple stacks.
Optimized structure pairs course clips with corresponding questions.
Once beyond the category and subcategory, a list of lessons is shown, with groups of videos in a single lesson being visually indicated by a stack. In a notable difference from the existing organization of the Khan Academy website, video lessons and practices are grouped as sections so that related content is accessible in a single place.
HTML5 form elements offer simple, intuitive layout opportunites for a pop quiz.
Stuck? Get hints quickly with optimized data connectivity.
Interactive charts and graphs help engage users and encourage learning.
Flexible layouts optimize information display based on viewport and screen size.
The Khan Academy web app takes advantage of HTML5 features to provide students with a well-designed and always-on resource for learning, practicing, and tracking what they've accomplished. It can be tricky to encourage study, but Khan Academy removes as many barriers as it can. It's speedy, responsive, and offers intuitive navigation of an enormous cache of material, all without distraction.
The Picture Page gives it's users a new and different way to see what's happening in the world around them. If a picture is worth 1000 words, then The Picture Page is provides users with more emotion and detail than could be provided in most publications. Simply a long series of large pictures with small, simple, unobtrusive captions, the site was powerful because it let the content be the focus — the images tell the story. No popups, no difficult-to-navigate slideshows, no tiny thumbnails. Our HTML5 Picture Page app carries forward the innovation many of the current photo news sites into a new world of web application development.
The Picture Page described the site perfectly — those large images are the key to its effectiveness and its success. Our HTML5 re-imagining of The Picture Page makes its Pictures even Bigger. Using CSS3's background-size property to auto-scale photos, a fullscreen layout makes the photos even more the focus — no container website chrome to get in the way.
Responsive design downgrades the site gracefully for mobile users; CSS3 media queries present a full-screen photo experience without sacrificing performance. Detecting swipes and taps as though it were a native mobile app, The Picture Page feels incredibly natural on every device.
Swipe through images on touch-capable devices, just like a native app.
Automatically update with today's Picture Page when the web app is launched.
Maximize screen space to keep the focus on the Picture Page.
CSS3's background-size property auto-scales photos to full viewport width.
Javascript enables us to offer keyboard shortcuts for navigating The Picture Page. Using the left and right arrow keys or the emergent convention of the J and K keys to move forward and backward through the photos makes browsing easy and reduces the distraction of finding the mouse while taking in the imagery. Arrows are hidden when not in use, so as not to obscure the current image.
Using the HTML5 <progress> tag, we can semantically demonstrate the visitor's progression through the photo album.
The Picture Page is a perfect example of the kind of site that doesn't need a ground-up reconstruction for the app era. As-is, it's an elegant, visually stunning, and beloved website, so we apply the available enhancements offered by HTML5 where appropriate, leveraging the site's existing affordances with up-to-date techniques and technologies to present a Picture that's even better and Bigger.
HTML5 progress bar updates as usesr flip through album pages to their favorite photos.
Navigation is optimized for input on a range of devices, from swipes and taps to keyboard clicks.
Assets are optimized and compressed to facilitate rapid data delivery.
Navigation tools are simple and fade from view when not in use.


I think the readers who opened this article have got the same experiences to spend time with the traditional exchanges. So it may be just more of a memory for us.
I tried some mining pools in 2016 when the concepts of Blockchain 2.0 just appeared in front of traders. Usually, I mined some cryptocurrencies and then deposited them to some centralized exchanges.
Not sold them, just kept HODL because I didn’t know how to use them. Ethereum was just established, e-commercial stores didn’t integrate with it yet.
We couldn’t use them as a payment gateway, so the cryptocurrencies were just nothing more than a string of numbers.
But even if I didn’t have any idea about how to use the coins(worth less than 100 dollars) as an instrument, I had a good experience with some famous exchanges.
When the crypto-industry was not regulated, to attract users, exchanges always provided very flexible features. I was free to dominate my own coins without limitations. No ID or address proof was required.
However just several months later, in 2017, the situation changed and the traditional exchanges became very rude.
Because the deposit was not that much and I had no idea to dispose of it, so I didn’t access the exchange often and it wasn’t urgent to withdraw as well.
Who would check an account worth less than 100 dollars everyday?
Not as expected, the policies changed gradually. Exchanges started to ask for the submission of KYC information.
Especially some exchanges that have vulnerabilities and had experiences to be hacked. It’s understandable.
I placed my account in the corner for 2 years without any visit. When I reopened it again, I found it was locked up.
To unlock it, I was requested to submit my ID card and the latest profile photo with my name. I needed to put the paper written my name with my face together.
I did as required. After several days, my account was finally unlocked.
I checked my account and found the deposit was still there. So I thought being locked was not that serious, my account was not affected. But soon I found I was too careless.
In 2019, I started to develop a smart contract associated project. To deploy the smart contract on the blockchain, I need to create some accounts with tokens to test.
After a surge in the price of Bitcoin, other cryptocurrencies’ prices went 3 times higher as well, so I thought it was a good time to withdraw.
In my account there were several coins left, then I opened it again and started to withdraw.
Unexpectedly, the exchange asked me for the submission of a photo written the date-time with my face together!
Just for withdrawing some coins worth 200 dollars, the owner was even asked to play as a clown!
That’s my coins, my funds. I’m the owner but have no authorization to dominate. You can imagine how angry I was then.
Additionally, it’s not a One-Time insult. I was told to submit a photo every time, as long as I needed to withdraw.
I think it’s necessary to check the identity at the beginning after not accessing the account for a long time, that’s correct.
But if the submission of the private information is required for every time to withdraw, that’s too much.
Without guarantee from the traditional exchanges, private information can be used to make forged documents. Then I have to take the risk on my own.
That’s definitely unfair!
I don’t care about the reason why they changed the policies? They can find me an excuse from the authorities that regulate them.
Centralized exchanges have an unequal position when they trade as a counterparty with the individual traders.
They can determine the price quote, reject the orders, and make the deals move forward to the trend that they can benefit from.
Especially, they can dispose of the assets not owned by them. They make the traders stay at their platform in a very rude manner.
The KYC verification didn’t regulate the market well. On the contrary, the weaker side was restricted under the name of KYC.
Blockchain is nothing more than a decentralized solution for bookkeeping. We have banks, stock exchanges to replace its position in a centralized way.
So, a centralized exchange is not the correct way to apply crypto-industry. If we exchange assets in a centralized institution, it has nothing to do with blockchain.
Then we wonder why we need blockchain?
Swap is a great invention for DeFi. It’s fully decentralized and provides a simple way to convert values. KYC can be easily bypassed.
But it still has weaknesses. Blockchains are independent of each other. Transferring or exchanging cross blockchains is not that easy.
We need to utilize a solution so-called Atomic Exchange and some time locks to help us exchange tokens cross chains.
During the period, generating hash keys is an inevitable way and really complex to normal traders who have no enough cryptography skills.
And, the Swap depends on a formula to calculate the price rate which actually is a dealer mode. The price calculated by the formula is not a market price.
The real market prices should be defined by order matching in a centralized institution, such as an order book.
To make the value closer to the market price, the cryptocurrencies’ issuers need to confirm the market prices between the centralized exchanges and Swap’s liquidity pools.
So, a liquidity pool and automated market maker are required to make this mode run smoothly.
That’s why we developed XCoinCH and make it our solution to facilitate the exchange of tokens cross chains. In our next posts, we will introduce the features of XCoinCH further.


You can log in to be able to make purchases with our store membership deals or skip this step!
LOGIN
SKIP
LOGIN
REGISTER
Email address
We'll never share your email with anyone else.
Password
Forgot your password?
SIGN IN
Fullname :
Numberphone :
Email :
Address:
Birth Of Date:
Gender:
Male
Female
Other
Password:
Retype Password:
REGISTER


The viewLocator module collaborates with the viewEngine module to provide views (literally dom sub-trees) to other parts of the framework as needed. The primary consumer of the viewLocator is the composition module.
There are a few basic functions the viewLocator exports.
useConvention(modulesPath, viewsPath, areasPath)
- Allows you to set up a convention for mapping module folders to view folders. modulesPath is a string in the path that will be replaced by viewsPath. Partial views will be mapped to the "views" folder unless an areasPath is specified.
All parameters are optional. If none are specified, the convention will map modules in a "viewmodels" folder to views in a "views" folder.
function locateView(viewOrUrlOrId [, area, elementsToSearch]) : promise
- The viewOrUrlOrId parameter represents a url/id for the view. The file extension is not necessary (ie. .html). When this function is called, the viewEngine will be used to construct the view. The viewEngine is passed the finalized id and returns a constructed DOM sub-tree, which is returned from this function. If the viewOrUrlOrId is not a string but is actually a DOM node, then the DOM node will be immediately returned. Optionally, you can pass an area string and it along with the url will be passed to the view locator's translateViewIdToArea before constructing the final id to pass to the view engine. If you provide an array of DOM elements for elementsToSearch, before we call the view engine, we will search the existing array for a match and return it if found.
function locateViewForObject(obj [, elementsToSearch]) : promise
- This function takes in an object instance, which it then maps to a view id. That id is then passed to the locateView function and it is processed as above. If elementsToSearch are provided, those are passed along to locateView. Following is a description of how locateViewForObject determines the view for a given object instance.
Note: Both of the functions above return a promise for the view, since location of the view may be an asynchronous operation.
First, the object is checked for a member function named getView. If this function exists, it is invoked and the object is given the opportunity to explicitly provide either a constructed dom to be used as the view or a string to be interpreted as the view url/id. The result is passed to locateView and processing continues as above. This method is not typically used. It exists for highly specialized scenarios where an object may need "one-off" control in determining which view to create or how the view should be created.
If there is no getView function, or if it returns null/undefined, then the object is inspected for a viewUrl property. If found, it is passed to locateView and processing continues as above. Again, usage of this is expected to be rare.
If neither of the above explicit view declarations is found, then a convention is applied. This is the expected normative use. The first convention is to inspect the object for a _moduleId__ property. Durandal hooks into RequireJS and adds this property to all module instances. If the module is a function, then it is added to its prototype. The module id is then passed to _locateView which transforms it into a view id and returns the dom sub-tree as described above. This allows for a very simple naming convention for view models and views. For example, a module named editCustomer.js will map to editCustomer.html.
If no _moduleId__ property is found, then an attempt is made to determine the object's type by examining it's constructor. This type name is then mapped to a views folder and passed to the _locateView function so processing can finish. So, this would mean that an object with a ctor named Customer would have a view url of views/customer.html. This is a last resort attempt to determine the view by convention and is not expected to be used normally.
The viewLocator allows for a very simple pattern of creating a module per view model or model and a corresponding view per module. Naturally, by using the composition module view resolution behavior can be customized in a variety of ways, but you may also want to customize this module directly with your own general mapping convention. There are three functions exported by the viewLocator which you can use to easily do this.
overridable function convertModuleIdToViewId(moduleId) : string
- This function does nothing by default which is why editCustomer.js is mapped to editCustomer.html (both have the same underlying id of editCustomer). Replace this function with your own implementation to easily create your own mapping logic based on moduleId.
overridable function determineFallbackViewId(obj) : string
- As mentioned above, if no view id can be determined, the system falls back to attempting to determine the object's type and then uses that. This function contains the implementation of that fallback behavior. Replace it if you desire something different. Under normal usage however, this function should not be called.
overridable function translateViewIdToArea(viewId, area) : string
- When a view area is specified, it along with the requested view id will be passed to this function, allowing you to customize the path of your view. You can specify area as part of the locateView call, but more commonly you would specify it as part of a compose binding. Any compose binding that does not include a model, but only a view, has a default area of 'partial'.


We have styled all Bootstrap elements just as you want!
Turn a button into a dropdown toggle with some basic markup changes.
Similarly, create split button dropdowns with the same markup changes, only with a separate button.
Button dropdowns work with buttons of all sizes.
Trigger dropdown menus above elements by adding .dropup
to the parent.


Alternate's Pure Javascript ASCII Art Converter
(All processing is done in client-side javascript. Your image will not be uploaded to a server)
Step 1: Select a Source Image
Select an image to convert...
Step 2: Preview and Convert
Conversion Parameters
(You can play with these to get better results, but the defaults are usually Ok)
xresize
yresize
Keep Aspect Ratio
HTML Convert
Text to use
Tyger Tyger, burning bright, In the forests of the night; What immortal hand or eye, Could frame thy fearful symmetry? In what distant deeps or skies, Burnt the fire of thine eyes? On what wings dare he aspire?  And what shoulder, & what art, Could twist the sinews of thy heart? And when thy heart began to beat, What dread hand? & what dread feet? What the hammer? what the chain, In what furnace was thy brain? What the anvil? what dread grasp, Dare its deadly terrors clasp! When the stars threw down their spears And water'd heaven with their tears: Did he smile his work to see? Did he who made the Lamb make thee? Tyger Tyger burning bright, In the forests of the night: What immortal hand or eye, Dare frame thy fearful symmetry?
Convert to HTML
Plain-text convert
Conversion Palette
Convert to Plain Text
Step 3: Converted Ascii Art
Back to top


Desired Series:
CORT Trading Paints Series
CORT National Cup Series
CORT ART Presented by WesHicks.Net
Manufacturer:
Chevrolet
Mercedes-Benz
Honda
Toyota
Manufacturer:
Chevrolet
Ford
Manufacturer:
Mazda
Mercedes-Benz
Toyota