#coding:utf-8
#
# PROGRAM/MODULE: firebird-base
# FILE: firebird/base/strconv.py
# DESCRIPTION: Data conversion from/to string
# CREATED: 4.6.2020
#
# The contents of this file are subject to the MIT License
#
# 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.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 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.
#
# Copyright (c) 2020 Firebird Project (www.firebirdsql.org)
# All Rights Reserved.
#
# Contributor(s): Pavel Císař (original code)
# ______________________________________
"""firebird-base - Data conversion from/to string
"""
from __future__ import annotations
from typing import Hashable, Callable, Any, Type, Union
from dataclasses import dataclass
from decimal import Decimal, DecimalException
from enum import Enum, IntEnum, IntFlag
from uuid import UUID
from .types import Distinct, MIME, ZMQAddress
from .collections import Registry
#: Function that converts typed value to its string representation.
TConvertToStr = Callable[[Any], str]
#: Function that converts string representation of typed value to typed value.
TConvertFromStr = Callable[[Type, str], Any]
[docs]@dataclass
class Convertor(Distinct):
"""Data convertor registry entry.
"""
cls: Type
to_str: TConvertToStr
from_str: TConvertFromStr
[docs] def get_key(self) -> Hashable:
"""Returns instance key.
"""
return self.cls
@property
def name(self) -> str:
"""Type name.
"""
return self.cls.__name__
@property
def full_name(self) -> str:
"""Type name including source module.
"""
return f'{self.cls.__module__}.{self.cls.__name__}'
_convertors: Registry = Registry()
_classes = {}
# Convertors
#: Valid string literals for True value.
TRUE_STR = ['yes', 'true', 'on', 'y', '1']
#: Valid string literals for False value.
FALSE_STR = ['no', 'false', 'off', 'n', '0']
[docs]def any2str(value: Any) -> str:
"""Converts value to string using `str(value)`.
"""
return str(value)
[docs]def str2any(cls: Type, value: str) -> Any:
"""Converts string to data type value using `type(value)`.
"""
return cls(value)
[docs]def register_convertor(cls: Type, *,
to_str: TConvertToStr=any2str,
from_str: TConvertFromStr=str2any):
"""Registers convertor function(s).
Arguments:
cls: Class or class name
to_str: Function that converts `cls` value to `str`
from_str: Function that converts `str` to value of `cls` data type
"""
_convertors.store(Convertor(cls, to_str, from_str))
[docs]def register_class(cls: Type) -> None:
"""Registers class for name lookup.
.. seealso:: `has_convertor()`, `get_convertor()`
Raises:
TypeError: When class name is already registered.
"""
if cls.__name__ in _classes:
raise TypeError(f"Class '{cls.__name__}' already registered as '{_classes[cls.__name__]!r}'")
_classes[cls.__name__] = cls
def _get_convertor(cls: Union[Type, str]) -> Convertor:
if isinstance(cls, str):
cls = _classes.get(cls, cls)
if isinstance(cls, str):
conv = list(_convertors.filter(f"item.{'full_name' if '.' in cls else 'name'} == '{cls}'"))
conv = conv.pop(0) if conv else None
else:
if (conv := _convertors.get(cls)) is None:
for base in cls.__mro__:
conv = _convertors.get(base)
if conv is not None:
break
return conv
[docs]def has_convertor(cls: Union[Type, str]) -> bool:
"""Returns True if class has a convertor.
Arguments:
cls: Type or type name. The name could be simple class name, or full name that includes
the module name.
Note:
When `cls` is a name:
1. If class name is NOT registered via `register_class()`, it's not possible to perform
lookup for bases classes.
2. If simple class name is provided and multiple classes of the same name but from
different modules have registered convertors, the first one found is used. If you
want to avoid this situation, use full names.
"""
return _get_convertor(cls) is not None
[docs]def update_convertor(cls: Union[Type, str], *,
to_str: TConvertToStr=None,
from_str: TConvertFromStr=None):
"""Update convertor function(s).
Arguments:
cls: Class or class name
to_str: Function that converts `cls` value to `str`
from_str: Function that converts `str` to value of `cls` data type
Raises:
KeyError: If data type has not registered convertor.
"""
conv = get_convertor(cls)
if to_str:
conv.to_str = to_str
if from_str:
conv.from_str = from_str
[docs]def convert_to_str(value: Any) -> str:
"""Converts value to string using registered convertor.
Arguments:
value: Value to be converted.
If there is no convertor for value's class, uses MRO to locate alternative convertor.
Raises:
TypeError: If there is no convertor for value's class or any from its bases classes.
"""
return get_convertor(value.__class__).to_str(value)
[docs]def convert_from_str(cls: Union[Type, str], value: str) -> Any:
"""Converts value from string to data type using registered convertor.
Arguments:
cls: Type or type name. The name could be simple class name, or full name that includes
the module name.
value: String value to be converted
Note:
When `cls` is a type name:
1. If class name is NOT registered via `register_class()`, it's not possible to perform
lookup for bases classes.
2. If simple class name is provided and multiple classes of the same name but from
different modules have registered convertors, the first one found is used. If you
want to avoid this situation, use full names.
Raises:
TypeError: If there is no convertor for `cls` or any from its bases classes.
"""
return get_convertor(cls).from_str(cls, value)
[docs]def get_convertor(cls: Union[Type, str]) -> Convertor:
"""Returns Convertor for data type.
Arguments:
cls: Type or type name. The name could be simple class name, or full name that includes
the module name.
Note:
When `cls` is a type name:
1. If class name is NOT registered via `register_class()`, it's not possible to perform
lookup for bases classes.
2. If simple class name is provided and multiple classes of the same name but from
different modules have registered convertors, the first one found is used. If you
want to avoid this situation, use full names.
Raises:
TypeError: If there is no convertor for `cls` or any from its bases classes.
"""
if (conv := _get_convertor(cls)) is None:
raise TypeError(f"Type '{cls.__name__ if isinstance(cls, type) else cls}' has no Convertor")
return conv
def _register():
"""Internal function for registration of builtin converters."""
def bool2str(value: bool) -> str:
return TRUE_STR[0] if value else FALSE_STR[0]
def str2bool(type_: Type, value: str) -> bool: # pylint: disable=[W0613]
if (v := value.lower()) in TRUE_STR:
return True
if v not in FALSE_STR:
raise ValueError("Value is not a valid bool string constant")
return False
def str2decimal(type_: Type, value: str) -> Decimal:
try:
return type_(value)
except DecimalException as exc:
raise ValueError(f"could not convert string to {type_.__name__}: '{value}'") from exc
def enum2str(value: Enum) -> str:
"Converts any Enum/Flag value to string"
return value.name
def str2enum(cls: Type, value: str) -> Enum:
"Converts string to Enum/Flag value"
return {k.lower(): v for k, v in cls.__members__.items()}[value.lower()]
register_convertor(str)
register_convertor(int)
register_convertor(float)
register_convertor(complex)
register_convertor(Decimal, from_str=str2decimal)
register_convertor(UUID)
register_convertor(MIME)
register_convertor(ZMQAddress)
register_convertor(bool, to_str=bool2str, from_str=str2bool)
register_convertor(Enum, to_str=enum2str, from_str=str2enum)
# We must register IntEnum and IntFlag because 'int' is before Enum in MRO
register_convertor(IntEnum, to_str=enum2str, from_str=str2enum)
register_convertor(IntFlag, to_str=enum2str, from_str=str2enum)
_register()
del _register


N. caninum Proteome During an Infection in Homo sapiens (Quant) —
N. caninum peptide sequences from 6 proteomic analyses of parasite/host cell samples that were
collected during time course infections in human foreskin fibroblasts. Wastling and Xia, unpublished
T. gondii Proteome During an Infection in H. sapiens (Quant) —
T. gondii peptide sequences from 6 proteomic analyses of mixed parasite/host cell samples that were
collected during time course infections in human foreskin fibroblasts.
(6 time course experiments using 4 different strains of T. gondii) Wastling and Xia, unpublished
N. caninum Proteome During Infection in humans —
N. caninum peptide sequences from a proteomic analysis of a mixed parasite/host sample
collected during infection in human foreskin fibroblasts. Wastling and Xia, unpublished
T gondii Proteome During Infection in Homo sapiens —
T. gondii peptide sequences from a proteomic analysis of a mixed parasite/host sample
collected during infection in human foreskin fibroblasts. Multiple strains were analyzed (GT1 ME49 RH VEG) and all data
were aligned to TgME49. Wastling and Xia, unpublished


Gods and Monsters * * * (out of * * * * )
Directed by Bill Condon. Cast: Ian McKellen, Brendan Fraser, Lynn Redgrave, Lolita Davidovich. 1998 - 106 minutes.  Reviewed January 8, 1999.
Bill Condon's "Gods and Monsters" is a fascinating look into the last days in the life of gay director James Whale (Ian McKellan), who made the horror classics "Frankenstein" and "Bride of Frankenstein." Since I was unfamiliar of Whale prior to viewing the film, there is no way to know how accurate the film is, but I suspect that much of it only came from Whale's inner fantasies and hallucinations.
Whale, who fought in WWI and then went on to become known for his work on horror pictures, decided fifteen years before his death at age 67 to quit filmmaking once a homosexual scandal broke out involving him. As the film tells it, during the end of his life, Whale, at his large home in L.A., became infatuated with the tall, handsome, and much younger man, Clayton Boone (Brendan Fraser), who was working as the gardener at his home. James Whale, we learn quickly was, what many people refer to him as in the film, "a dirty old man." In one of the opening scenes, a young film enthusiast visits Whale's home to interview him and Whale agrees, on one condition: for every question he answers, the young man must take off an article of clothing. Because of this episode, we know exactly what it is Whale wants when he asks Clayton to pose for him for a painting, later making the excuse that his bright, white shirt is disracting only so he will take it off. Clayon agrees, and doesn't really think much of this, much to the warnings of his friends, becoming more and more intrigued in the stories Whale tells him about his past. Certainly, the relationship between Whale and Boone is headed for a downfall, since Whale starts to grow a deep love for this young man, even though Boone is not gay, and Whale himself realizes he is nearing the conclusion to his life, as he begins to seldom suffer mild strokes and moments of true catharsis.
"Gods and Monsters" is an intimate and seemingly respectful portrait of a director who was forced to become somewhat of an outcast, due to his sexual preference, and never got the recognition he would have liked, since he longed to be referred to as a "motion picture director," rather than a "horror director." And in one heartbreaking scene, he attends a party with Boone being his guest, held by director George Cuckor, and finds that many of the other attendees do not recognize him anymore. It is evident that Whale's first love in his life was making movies, and when his career ultimately fell apart, so did his passion in life.
As played brilliantly by Ian McKellen, James Whale comes off as a sad, but dignified man, and a person who was not afraid to stand out from others, just as long as he knew he was being true to himself. He never hid the fact that he was gay, however, even if it meant threatening his filmmaking profession, and it was this unblinking honesty that made him a great person. Through the complicated relationship that develops between Whale and Boone, Boone, of course, only things of Whale as a possible friend or someone he can talk to, while it means so much more to Whale, who sees Boone as sort of his salvation in life. Although Boone is only in a dead-end job as a gardener of people's homes, Whale views him as the ideal man, not only one that is good-looking, even though it is this attraction that first begins his feelings, but one that will actually listen to him. Since Whale lives with only his loyal, but disapproving maid (touchingly portrayed by Lynn Redgrave), it is Boone that Whale can talk to in his ultimate reclusion from the world, and the only reason Whale finally decides to attend the gathering of George Cuckor.
Although an extremely fine and mature picture, a few small elements hold the film back from ultimate greatness. It is appreciated that the film does not pull for any obvious or overly dramatic story developments, but it is a little thin, and the structuring of the "on-again-off-again" friendship at the film's center is fairly predictable. We know early on where these two characters are headed, and we can guess that there will be a final confrontation between the two as the tension slowly builds. In lesser hands, this set-up might have felt too calculated, but it is not in the surprisingly deft treatment and writing that helps the film to be much more than this. Also, a subplot is briefly brought up between Clayton and a waitress working at a bar (effectively played by Lolita Davidovich), but abruptly dropped and never brought up again. If the film was not going to follow up on this side story, then it, perhaps, should have been taken out altogether.
"Gods and Monsters" is a heartfelt and intelligent motion picture, impressively directed by Bill Condon, who, I sense, relates to or fully understands the meaning behind the curious relationship between Whale and Boone. The film also plays as a tribute to a fine man who met an untimely end. Walking away from "Gods and Monsters," it was Ian McKellen's marvelous and astounding performance that left the most impression on me, and I doubt there could have been anyone who could have stepped into the role more fully and believably. It is a sad testament when a person's true talent and love is unfairly taken away from them, based on the scrutinization and judgement of their personal life, which, ironically enough, is no one else's business in the first place.
- Copyright 1999 by Dustin Putman < Dustin Putman's Film Haven >
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


{% extends '!footer.html' %} {% block extrafooter %}
To the extent possible under law,
Samuel Arsac, Hugo Buscemi, Matteo Chancerel and Rida Lali
have waived all copyright and related or neighboring rights to
Roll 'n' Jump.


telling compelling
Storiez
Follow the
storiez
you've been hearing about.
Share what's important in
your life
not a
?
Press enter to continue
Your Facebook is full of amazing memories.
Let's start writing storiez by connection your account,
Connect with Facebook
Press enter to continue
Press enter to continue
Choose or
upload picture
as a background of this story
B
I
Continue
Publish Story
with
New Story
Log out


|<---->| Cannot view, screen to narrow, please revisit on a wider device.
remoteStorage.js abstracted API calls to the server.
Use widget (above) to retrieve the token.
Check log-pane for results.


TODO: SHOULDNT I HAVE A USER ID AS WELL?
userID : {{{userID}}}
accessToken: {{{token.access_token}}}
UNABLE TO PUSH DATA BACK TO SANDBOX DUE TO NON-HTTPS URLs, SEE CONSOLE WITH CONFIRM. TOKEN INFORMATION IS AVAILABLE VIA NODE THOUGH FOR TILE / WEBHOOK INTERACTION


May, 2009
In my younger and more vulnerable years my father gave me some advice that I've been turning over in my mind ever since. 'Whenever you feel like criticizing anyone,' he told me, 'just remember that all the people in this world haven't had the advantages that you've had.'
Note: Resize the browser window to see how the value "justify" works.


ng-FitText.js makes font-sizes flexible. Use this directive in your fluid or responsive layout to achieve
scalable headlines that fill the width of a parent element.
And if you just happen
to need the line-height preserved
ng-FitText.js can do that too, at the same price
spoiler: it's free
Inherit max font size from CSS
Inherit min font size from CSS
Child block elements will use font size of longest element
some text here lolol
Child inline elements can also be used as expected


PPT Slide
Notes:
Now, letís change come of the information about this product. We click on the Change button to convert the Inspect page into a Change page. Then we can make modifications, e.g. switching the product to be a steamer insert, changing the exterior to be Du


|
cds
1.2.0
|
Base class for all HRC-based container's node. More...
#include <cds/gc/hrc/hrc.h>
Public Member Functions | |
| unsigned_ref_counter::ref_counter_type | getRefCount () const |
| Returns count of reference for the node. | |
| void | incRefCount () |
| Increments the reference counter of the node. | |
| bool | decRefCount () |
Decrements the reference counter of the node. Returns true if ref counter is 0. | |
| bool | isDeleted () const |
| Returns the mark that the node is deleted or not. |
Protected Member Functions | |
| virtual void | cleanUp (ThreadGC *pGC)=0 |
| virtual void | terminate (ThreadGC *pGC, bool bConcurrent)=0 |
Protected Attributes | |
| unsigned_ref_counter | m_RC |
| reference counter | |
| std::atomic< bool > | m_bTrace |
| true - node is tracing by Scan | |
| std::atomic< bool > | m_bDeleted |
| @ true - node is deleted |
Friends | |
| class | GarbageCollector |
| class | ThreadGC |
| class | gc::HRC |
Base class for all HRC-based container's node.
This interface is placed to the separate class since in the presence of a garbage collector the lifetime of the node is greater than lifetime of its container. Reclaimed node may be physically deleted later than its container. So, the ContainerNode must be smarter than the usual.
|
protectedpure virtual |
[Gidenstam 2006]: "The procedure CleanUpNode
will make sure that all claimed references from the links of the given node will only point to active nodes, thus removing redundant passages through an arbitrary number of deleted nodes"
The pseudocode of this method must be like following:
Be aware to use hazard pointers inside implementation of this method. cleanUp is called from the container's method when deleting the nodes. However, some hazard pointers may be occupied by container's method. You should allocate new hazard pointers inside cleanUp
method, for example:
|
protectedpure virtual |
[Gidenstam 2006]: "The procedure TerminateNode
will make sure that none of the links in the given node will have any claim on any other node. TerminateNode is called on a deleted node when there are no claims from any other node or thread to the node"
The pseudocode of this method must be like following:


- Training
- Mental prep
- Watch golf on TV religiously
- Get that computer game with Tiger whatsisname
- Rent "personal victory" subliminal tapes
- Equipment
- Make sure your putter has a pro autograph on it
- Pick up a bargain bag of tees-n-balls at Costco
- Diet
- Avoid junk food
- No hotdogs
- Drink wine and mixed drinks only, no beer
- Pre-game
- Dress
- Put on shorts, even if it's freezing
- Buy a new hat if you lost last time
- Location and Scheduling
- Select a course where your spouse or boss won't find you
- To save on fees, play where your buddy works
- Opponent
- Look for: overconfidence, inexperience
- Buy opponent as many pre-game drinks as possible
- On the Course
- Tee off first, then develop severe hayfever
- Drive cart over opponent's ball to degrade aerodynamics
- Say "fore" just before ball makes contact with opponent
- Always replace divots when putting
- Water cooler holes are a good time to correct any errors in ball
placement


Hi! My name's Tino Tazvitya! Thanks for visiting my portfolio!
I'm a Grinnell College student'23 majoring in Computer Science and Mathematics.
I enjoy programming in Java, and Python. If you want to know more about my experience feel free to visit My Resume
Now here's a little background about me
I was born and raised in Zimbabwe and came to Grinnell College in 2019. Intrestingly, that was my first time leaving my home country! I knew the start of this new journey was worth it as I was on my way to pursuing my passion in Computer Science. Since I was in high school, I have always seen myself building applications, that will make a positive impact in the world. I see myself, building applications to help students, to uplift women, and the whole community in general. Thus I remain commited to learning more about technology, and gain more experience in this field.


About
Projects
Contact
Welcome
My name is Sharon Grashuis
I am a web developer
Projects
These are some of my projects. Click to open them.
Contact
Let's work together!
Github


16. Administrator’s Tools¶
16.1. Teacher View Configuration¶
To configure a view for a specific course/book instance, it is required to create a course and an assignement for that course through the backend administration console. Only the Django administration account can perform these tasks.
16.2. Course Creation¶
If this is a course that does not exist, then on the A+ homepage under Courses, click on +Add, fill in the form, and assign teacher(s) to the course.
On the A+ homepage under Course instances click on +Add to create an instance of the course. Fill in the form and assign teaching assistants.
On the A+ homepage under Bookss, you should now see your book’s URL listed if the book has been compiled. Click on the url of the OpenDSA book instance you want to associate to the course. In the book’s form, select the appropriate course to associate it to.
16.3. Granting Instructor Access¶
To give instructor access to an existing account, from the django administration page go to “Courses” to display the list of available courses, then click on the course ID to edit course settings.
16.4. Register a Book Instance¶
To send over to the data server all information (chapters, modules, exercises, points, etc.) related to a newly created book instance, it is necessary to register the book instance. The registration can be done on the RegisterBook page at Book_Base_URL/html/RegisterBook.html. For example, http://algoviz.org/OpenDSA/Books/OpenDSA/html/RegisterBook.html. This presumes that the book instance has already been configured by a Django administrator.
16.5. Managing the Front Page¶
The “front page” for the instructor’s view will list a separate button for each “active” course. An “active” course is any course who’s end date is past the current moment in time. All courses will be listed on the “course archive” page.


This application is built using PODPAC .
PODPAC is an open-source python library for observational data processing analysis and collaboration.
This product uses the FCC Data API but is not endorsed or certified by the FCC.
0
0.6


A CONCISE OVERVIEW OF SUPPLY CHAIN
The present day market is marked by several uncertainties and unrests that appear to remain ever increasing due to certain prevailing reasons. Moreover, the ever dynamic customer’s demand in virtually all the industrial sectors seems to be increasingly elusive more than ever recorded in the time past (Lockamy & McCormack 2004).
Having established the above fact, a pressing question is; why are there uncertainties and unrest in the present day market? Could this be as a result of the globalisation of markets, or as a result of the growing liberalisation of economies? Apparently, these economic conditions to a larger extent as supported by (Nenni et., al. 2013), have culminated in the growing competitiveness and volatility in the modern market hence, have heightened the need for organisations to engage in supply chain process evaluations and advancement through efficient and effective supply chain processes for superior business performance. This supports Harland (1996) research that agrees that supply chain incorporates many angles, which requires lucid concepts for proper understanding.
So what is supply chain? A supply chain is a system or structure of activities, organizations, people, information, and resources involved in transforming raw materials into finished goods and then transporting them from the manufacturers to the end-users (Anna 2006). So literally, a supply chain is how a product gets from where it was manufactured by the manufacturers to where it will be consumed by the consumers.
This process of goods transformation as supported by McCormack and Kasper (2002), requires planning, designing, and regulation of the flow of material, information and finance along the supply chain to ultimately satisfy the ever-changing customer’s needs. When one envisages of all the products sold at the markets, online stores, supermarkets and shops, companies somewhere in the world produce them. However, a vital concern is how do these products most effectively move from the point of production to the final point of consumption? Researchers suggest that supply chains have become a vital segment of the international business prospect for decades hence the ultimate need for efficient and timely circulation of goods that stream across the entire supply chains (Gereffi & Lee 2012). A supply chain therefore involves all the activities and systems that either directly or indirectly deals with customer’s demands such as sourcing, transforming, processing, supplying, transporting and consuming.
To achieve these goals, businesses have assembled structures for sourcing of raw materials, conversion of materials into finished products or creating services, storing and evenly distribution of same products to customers and consumers (Krajewski, 2002). Organisation’s supply chain is liable for its achievement or losses that has resulted in the need for a proper regulation and coordination amongst supply chain associates (Lockamy, A. & McCormack, K. 2004).
Over the past years, in an attempt to advance the long-term efficacy of the supply chain, Madhani (2013), agrees that many organisations have collaborated with other supply chain members for efficiency. This concept has resulted in achieving maximum customer satisfaction and company’s profitability. Throughout the entire supply chain, timely and accurate information on basic status reports and operational metrics such as demand, supply, inventory, forecasts, production, procurement, logistics, shipment plans, work in progress, yields and backlogs ought to be easily accessible by the main supply chain members for effective planning and re-planning purposes. Thus, there are utmost needs for proper management and timely updates to the parties utilising the data.
The quest to satisfy the rising requirements of supply chains led to the advent of supply chain management. In the 1980s, supply chain management (SCM) was established to address the need of consolidating the indispensible business processes from consumers through the suppliers that provide information, products and services which add value to customers and the various companies stakeholders. The brain behind SCM is that organisations and companies associate themselves in a supply chain network by interchanging information about varying market conditions, variations and production abilities.
According to Madhani (2013), there is a significant relationship between effective supply chain management and efficient customer response, a management idea that deals on how to collaborate in retailing industries with the sole aim of ensuring maximum customer’s satisfaction. Industries in the supply chain such as suppliers, intermediaries, logistics and transportation providers must communicate and interact properly to ensure meeting up with customer’s expectations effectively (Simatupang & Sridharan 2006).
Companies become dependent on each other and must collaborate in supply chain network to coordinate their activities. Mentzer et al., (2000) agree that limited attention has been rendered towards obtaining the features that represent different areas of collaboration. This according to Min & Yu (2004), highlights why it is important to understand the aspect of collaboration which if neglected can lead to distortion in information sharing and inappropriate replenishment of products that lead to inefficiencies and low supply chain dynamics (Ahmad & Ullah 2013).
Council of Supply Chain Management Professionals agree that supply chain management involves the timely planning and management of all the activities involved in sourcing, transformation, procurement, transportation and circulation of products to the end-users. These processes necessitate proper coordination and collaboration amongst the supply chain network such as intermediaries, suppliers, service providers and customers. Basically, supply chain management is considered to be a business philosophy that addresses all facets of business activities with the aim of working consistently with both customers and suppliers to remain competitively advantageous.
Having established what supply chain is all about, many might think that this business area is a hitch-free one. Studies have it that managing supply chains in the present-day competitive world are becoming increasingly challenging. With the increasing demand and supply uncertainties, globalisation of the market, market competitions, varying product life cycles, technological complexities, non-compliance of supply chain network and logistics issues have led to greater exposure to insecurities in the supply chain (Christopher et.al., 2002).
Product and technology life cycles have lessened significantly and competitive product additions make life-cycle demand difficult to forecast. Previously, competitions in many industries have been largely dependent on key assets, scope and investments with the capacity to utilise these assets however, Day (1994), support that competition is presently dependent on the intellectuals, skills and capabilities expressed through organizational processes.
Moreover, the susceptibility of supply chains to the growing upheavals and disruptions has greatly increased. These disruptions are not only dependent on natural disasters, wars and strikes but also dependent on the changing business strategies. Many companies have encountered various challenges in their supply chain due to changes in their business models such as difficulties in sourcing of raw materials, adoption of lean practices, adoption of agile practices, the migration to outsourcing and the tendency to minimise the size of the supplier base.
Integrating successful supply chain management scheme leads to a new cadre of competition in the international market. Here, competition is no longer dependent on company versus company level but on a holistic supply chain network thus, if all the relevant information is available to the participating parties then there will be proper optimization of the entire supply chain rather than sub-optimization based on a local activities. This will lead to effective production and distribution that can reduce costs and generate a more lucrative final product for higher sales and superior results for companies.
Conclusively, for organisations to remain competitively superior in the present day dynamic market ought to develop strategically aligned capabilities not only within the company itself, but also among the organizations that are part of its value-adding networks. Also, how can companies efficiently determine what their customers need at a certain point so as to competitively remain superior? According to Ahmad & Ullah (2013), building a long-term close customer collaboration plan is advantageous in making things fall into place.
This minimises the risk and chances of customers choosing other cheaper suppliers as a result of the established benefits derived by the customers such as just-in-time delivery, lower quality control cost and high quality products.For all these processes to be satisfactorily accomplished, efficient supply chain strategies utilising data must be established to attend to the changing needs of the market and then aligning them with technology to deliver maximum customer satisfaction while concurrently delivering the greatest share value to the shareholders.
This supports Cousins et al., (2008) contribution that considerable attention must be paid towards buyer-seller relationship, not only the aspects of performance but on the holistic financial performance as well.
Responsive Supply chain (RSC)which is very vital for success in the global supply chain network that incorporates all the activities of managing a company to address the challenges of supply chain is very vital for competitiveness (Fang Du et., al. 2009). Here, market intelligence and knowledge is utilised to exploit meaningful opportunities in a very competitive and volatile market.
Companies ought to be proactively responsive to any changes in the market by capitalising their strength on such changes to create new concepts and opportunities hence increasing customer’s satisfaction and performance of the company. Strategic planning is a strategy that considers the long-term plan of a company in mapping out acceptable operational and business policies and procedures. Fang Du et., al. (2009) support that information Technology plays an important role in the supply chain network as global competition has pushed companies to elect extended Enterprise in the supply chain framework. Such ERP systems include; Oracle, SAP tools which to a larger extent has contributed immensely in responsive supply chain and must be put in place for communication improvement and continuous flow of goods and products along the value chain (Gunasekaran et al 2006). Christopher & Lee (2004), suggest that participating supply chain parties should adopt an improved end-to-end visibility which boosts confidence in accordance to the quality of supply chain information for competitiveness.
REFERENCES
Ahmad, S. & Ullah, A. (2013) Driving Forces of Collaboration in Supply Chain: A Review, Journal of Contemporary Research in Business, Vol. 5, No. 7, pp. 40 -42.
Christopher M. & Lee H. (2004) Mitigating Supply Chain Risk Through Improved Confidence, International Journal of Physical Distribution & Logistics Management, 2004 pp4-8.
Christopher, M.G. & Towill, D.R. (2002) An Integrated Model for the Design of Agile Supply Chains, International Journal of Physical Distribution & Logistics, Vol 31, No 4, pp 262-264.
Cousins, P. D., Lawson, B. and Squire, B. (2008) Performance measurement in strategic buyer-supplier relationships: the mediating role of socialisation mechanisms, International Journal of Operations and Production Management, 28 (3), p242.
Day, G.S. (1994), The capabilities of market-driven organizations”, Journal of Marketing, pp. 37-52.
Gereffi G. and Lee J. (2012) Why the World Suddenly Cares about Global Supply Chains, Journal of Supply Chain Management, Vol. 48, no 3, pp 24-25.
Gunasekaran, A., Lai, K., and Cheng, T., C., E. (2006) Responsive Supply Chain: A Competitive Strategy in a Networked Economy, The International Journal of Management Science, Elsevier Ltd, pp550-556.
Fang Du, X., Leung, C. H.S., Zhang, J.L. & Lai K.K. (2009) Procurement of Agricultural Products Using the CPFR Approach: An International Journal Supply Chain Management, Vol. 14 Issue 4, pp.253-258.
Harland, C., M. (1996) Supply Chain Management: Relationships, Chains and Networks, British Journal of Management, vol. 7, Special Issue.
Krajewski, L. (2002) Reflections on Operations Management Research, Journal of Operations and Technology,Organisation Science, Vol.3, pp. 381-396.
Lockamy, A. & McCormack, K. (2004) The Development of a Supply Chain Management Process Maturity Model Using the Concepts of Business Process Orientation, An International Journal of Supply Chain Management, Vol. 9, No. 4, P. 272, 276.
Madhani, P. M. (2013) Making a Conceptual Framework for Supply Chain Management and Marketing Integration, Journal of Management, Vol. 11, No.3, pp55-60.
Mentzer, J.M., Min, S. and Zacharia, Z.G. (2000), The nature of inter-firm partnering in supply Chain management,Journal of Retailing, Vol. 76 No. 4, pp. 549-551.
Min, H. & Yu, W. (2004) Collaborative Planning, Forecasting and Replenishment: Demand Planning in Supply Chain Management, The Fourth International Conference on Electronic Business, pp58-60.
Nagurney, Anna (2006). Supply Chain Network Economics: Dynamics of Prices, Flows, and Profits. Cheltenham, UK: Edward Elgar.
Nenni, M. E., Giustiniano, L. & Pirolo, L. (2013) Demand Forecasting in the Fashion Industry: A Review, International Journal of Engineering Business Management, Special Issue on Innovations in Fashion Industry, pp1-3.
Simatupang, T. M. & Sridharan, R. (2006) An integrative framework for supply chain collaboration, International Journal of Logistics and Management, Vol. 16, No. 2, p.258.


Keras FAQ: Frequently Asked Keras Questions
- How should I cite Keras?
- How can I run Keras on GPU?
- How can I run a Keras model on multiple GPUs?
- What does "sample", "batch", "epoch" mean?
- How can I save a Keras model?
- Why is the training loss much higher than the testing loss?
- How can I obtain the output of an intermediate layer?
- How can I use Keras with datasets that don't fit in memory?
- How can I interrupt training when the validation loss isn't decreasing anymore?
- How is the validation split computed?
- Is the data shuffled during training?
- How can I record the training / validation loss / accuracy at each epoch?
- How can I "freeze" layers?
- How can I use stateful RNNs?
- How can I remove a layer from a Sequential model?
- How can I use pre-trained models in Keras?
- How can I use HDF5 inputs with Keras?
- Where is the Keras configuration file stored?
- How can I obtain reproducible results using Keras during development?
- How can I install HDF5 or h5py to save my models in Keras?
How should I cite Keras?
Please cite Keras in your publications if it helps your research. Here is an example BibTeX entry:
@misc{chollet2015keras,
title={Keras},
author={Chollet, Fran\c{c}ois and others},
year={2015},
howpublished={\url{https://keras.io}},
}
How can I run Keras on GPU?
If you are running on the TensorFlow or CNTK backends, your code will automatically run on GPU if any available GPU is detected.
If you are running on the Theano backend, you can use one of the following methods:
Method 1: use Theano flags.
THEANO_FLAGS=device=gpu,floatX=float32 python my_keras_script.py
The name 'gpu' might have to be changed depending on your device's identifier (e.g. gpu0
, gpu1
, etc).
Method 2: set up your .theanorc
: Instructions
Method 3: manually set theano.config.device
, theano.config.floatX
at the beginning of your code:
import theano
theano.config.device = 'gpu'
theano.config.floatX = 'float32'
How can I run a Keras model on multiple GPUs?
We recommend doing so using the TensorFlow backend. There are two ways to run a single model on multiple GPUs: data parallelism and device parallelism.
In most cases, what you need is most likely data parallelism.
Data parallelism
Data parallelism consists in replicating the target model once on each device, and using each replica to process a different fraction of the input data.
Keras has a built-in utility, keras.utils.multi_gpu_model
, which can produce a data-parallel version of any model, and achieves quasi-linear speedup on up to 8 GPUs.
For more information, see the documentation for multi_gpu_model. Here is a quick example:
from keras.utils import multi_gpu_model
# Replicates `model` on 8 GPUs.
# This assumes that your machine has 8 available GPUs.
parallel_model = multi_gpu_model(model, gpus=8)
parallel_model.compile(loss='categorical_crossentropy',
optimizer='rmsprop')
# This `fit` call will be distributed on 8 GPUs.
# Since the batch size is 256, each GPU will process 32 samples.
parallel_model.fit(x, y, epochs=20, batch_size=256)
Device parallelism
Device parallelism consists in running different parts of a same model on different devices. It works best for models that have a parallel architecture, e.g. a model with two branches.
This can be achieved by using TensorFlow device scopes. Here is a quick example:
# Model where a shared LSTM is used to encode two different sequences in parallel
input_a = keras.Input(shape=(140, 256))
input_b = keras.Input(shape=(140, 256))
shared_lstm = keras.layers.LSTM(64)
# Process the first sequence on one GPU
with tf.device_scope('/gpu:0'):
encoded_a = shared_lstm(tweet_a)
# Process the next sequence on another GPU
with tf.device_scope('/gpu:1'):
encoded_b = shared_lstm(tweet_b)
# Concatenate results on CPU
with tf.device_scope('/cpu:0'):
merged_vector = keras.layers.concatenate([encoded_a, encoded_b],
axis=-1)
What does "sample", "batch", "epoch" mean?
Below are some common definitions that are necessary to know and understand to correctly utilize Keras:
- Sample: one element of a dataset.
- Example: one image is a sample in a convolutional network
- Example: one audio file is a sample for a speech recognition model
- Batch: a set of N samples. The samples in a batch are processed independently, in parallel. If training, a batch results in only one update to the model.
- A batch generally approximates the distribution of the input data better than a single input. The larger the batch, the better the approximation; however, it is also true that the batch will take longer to process and will still result in only one update. For inference (evaluate/predict), it is recommended to pick a batch size that is as large as you can afford without going out of memory (since larger batches will usually result in faster evaluation/prediction).
- Epoch: an arbitrary cutoff, generally defined as "one pass over the entire dataset", used to separate training into distinct phases, which is useful for logging and periodic evaluation.
- When using
validation_data
orvalidation_split
with thefit
method of Keras models, evaluation will be run at the end of every epoch. - Within Keras, there is the ability to add callbacks specifically designed to be run at the end of an epoch. Examples of these are learning rate changes and model checkpointing (saving).
How can I save a Keras model?
Saving/loading whole models (architecture + weights + optimizer state)
It is not recommended to use pickle or cPickle to save a Keras model.
You can use model.save(filepath)
to save a Keras model into a single HDF5 file which will contain:
- the architecture of the model, allowing to re-create the model
- the weights of the model
- the training configuration (loss, optimizer)
- the state of the optimizer, allowing to resume training exactly where you left off.
You can then use keras.models.load_model(filepath)
to reinstantiate your model.
load_model
will also take care of compiling the model using the saved training configuration (unless the model was never compiled in the first place).
Example:
from keras.models import load_model
model.save('my_model.h5') # creates a HDF5 file 'my_model.h5'
del model # deletes the existing model
# returns a compiled model
# identical to the previous one
model = load_model('my_model.h5')
Please also see How can I install HDF5 or h5py to save my models in Keras? for instructions on how to install h5py
.
Saving/loading only a model's architecture
If you only need to save the architecture of a model, and not its weights or its training configuration, you can do:
# save as JSON
json_string = model.to_json()
# save as YAML
yaml_string = model.to_yaml()
The generated JSON / YAML files are human-readable and can be manually edited if needed.
You can then build a fresh model from this data:
# model reconstruction from JSON:
from keras.models import model_from_json
model = model_from_json(json_string)
# model reconstruction from YAML:
from keras.models import model_from_yaml
model = model_from_yaml(yaml_string)
Saving/loading only a model's weights
If you need to save the weights of a model, you can do so in HDF5 with the code below:
model.save_weights('my_model_weights.h5')
Assuming you have code for instantiating your model, you can then load the weights you saved into a model with the same architecture:
model.load_weights('my_model_weights.h5')
If you need to load the weights into a different architecture (with some layers in common), for instance for fine-tuning or transfer-learning, you can load them by layer name:
model.load_weights('my_model_weights.h5', by_name=True)
Example:
"""
Assuming the original model looks like this:
model = Sequential()
model.add(Dense(2, input_dim=3, name='dense_1'))
model.add(Dense(3, name='dense_2'))
...
model.save_weights(fname)
"""
# new model
model = Sequential()
model.add(Dense(2, input_dim=3, name='dense_1')) # will be loaded
model.add(Dense(10, name='new_dense')) # will not be loaded
# load weights from first model; will only affect the first layer, dense_1.
model.load_weights(fname, by_name=True)
Please also see How can I install HDF5 or h5py to save my models in Keras? for instructions on how to install h5py
.
Handling custom layers (or other custom objects) in saved models
If the model you want to load includes custom layers or other custom classes or functions,
you can pass them to the loading mechanism via the custom_objects
argument:
from keras.models import load_model
# Assuming your model includes instance of an "AttentionLayer" class
model = load_model('my_model.h5', custom_objects={'AttentionLayer': AttentionLayer})
Alternatively, you can use a custom object scope:
from keras.utils import CustomObjectScope
with CustomObjectScope({'AttentionLayer': AttentionLayer}):
model = load_model('my_model.h5')
Custom objects handling works the same way for load_model
, model_from_json
, model_from_yaml
:
from keras.models import model_from_json
model = model_from_json(json_string, custom_objects={'AttentionLayer': AttentionLayer})
Why is the training loss much higher than the testing loss?
A Keras model has two modes: training and testing. Regularization mechanisms, such as Dropout and L1/L2 weight regularization, are turned off at testing time.
Besides, the training loss is the average of the losses over each batch of training data. Because your model is changing over time, the loss over the first batches of an epoch is generally higher than over the last batches. On the other hand, the testing loss for an epoch is computed using the model as it is at the end of the epoch, resulting in a lower loss.
How can I obtain the output of an intermediate layer?
One simple way is to create a new Model
that will output the layers that you are interested in:
from keras.models import Model
model = ... # create the original model
layer_name = 'my_layer'
intermediate_layer_model = Model(inputs=model.input,
outputs=model.get_layer(layer_name).output)
intermediate_output = intermediate_layer_model.predict(data)
Alternatively, you can build a Keras function that will return the output of a certain layer given a certain input, for example:
from keras import backend as K
# with a Sequential model
get_3rd_layer_output = K.function([model.layers[0].input],
[model.layers[3].output])
layer_output = get_3rd_layer_output([x])[0]
Similarly, you could build a Theano and TensorFlow function directly.
Note that if your model has a different behavior in training and testing phase (e.g. if it uses Dropout
, BatchNormalization
, etc.), you will need to pass the learning phase flag to your function:
get_3rd_layer_output = K.function([model.layers[0].input, K.learning_phase()],
[model.layers[3].output])
# output in test mode = 0
layer_output = get_3rd_layer_output([x, 0])[0]
# output in train mode = 1
layer_output = get_3rd_layer_output([x, 1])[0]
How can I use Keras with datasets that don't fit in memory?
You can do batch training using model.train_on_batch(x, y)
and model.test_on_batch(x, y)
. See the models documentation.
Alternatively, you can write a generator that yields batches of training data and use the method model.fit_generator(data_generator, steps_per_epoch, epochs)
.
You can see batch training in action in our CIFAR10 example.
How can I interrupt training when the validation loss isn't decreasing anymore?
You can use an EarlyStopping
callback:
from keras.callbacks import EarlyStopping
early_stopping = EarlyStopping(monitor='val_loss', patience=2)
model.fit(x, y, validation_split=0.2, callbacks=[early_stopping])
Find out more in the callbacks documentation.
How is the validation split computed?
If you set the validation_split
argument in model.fit
to e.g. 0.1, then the validation data used will be the last 10% of the data. If you set it to 0.25, it will be the last 25% of the data, etc. Note that the data isn't shuffled before extracting the validation split, so the validation is literally just the last x% of samples in the input you passed.
The same validation set is used for all epochs (within a same call to fit
).
Is the data shuffled during training?
Yes, if the shuffle
argument in model.fit
is set to True
(which is the default), the training data will be randomly shuffled at each epoch.
Validation data is never shuffled.
How can I record the training / validation loss / accuracy at each epoch?
The model.fit
method returns a History
callback, which has a history
attribute containing the lists of successive losses and other metrics.
hist = model.fit(x, y, validation_split=0.2)
print(hist.history)
How can I "freeze" Keras layers?
To "freeze" a layer means to exclude it from training, i.e. its weights will never be updated. This is useful in the context of fine-tuning a model, or using fixed embeddings for a text input.
You can pass a trainable
argument (boolean) to a layer constructor to set a layer to be non-trainable:
frozen_layer = Dense(32, trainable=False)
Additionally, you can set the trainable
property of a layer to True
or False
after instantiation. For this to take effect, you will need to call compile()
on your model after modifying the trainable
property. Here's an example:
x = Input(shape=(32,))
layer = Dense(32)
layer.trainable = False
y = layer(x)
frozen_model = Model(x, y)
# in the model below, the weights of `layer` will not be updated during training
frozen_model.compile(optimizer='rmsprop', loss='mse')
layer.trainable = True
trainable_model = Model(x, y)
# with this model the weights of the layer will be updated during training
# (which will also affect the above model since it uses the same layer instance)
trainable_model.compile(optimizer='rmsprop', loss='mse')
frozen_model.fit(data, labels) # this does NOT update the weights of `layer`
trainable_model.fit(data, labels) # this updates the weights of `layer`
How can I use stateful RNNs?
Making a RNN stateful means that the states for the samples of each batch will be reused as initial states for the samples in the next batch.
When using stateful RNNs, it is therefore assumed that:
- all batches have the same number of samples
- If
x1
andx2
are successive batches of samples, thenx2[i]
is the follow-up sequence tox1[i]
, for everyi
.
To use statefulness in RNNs, you need to:
- explicitly specify the batch size you are using, by passing a
batch_size
argument to the first layer in your model. E.g.batch_size=32
for a 32-samples batch of sequences of 10 timesteps with 16 features per timestep. - set
stateful=True
in your RNN layer(s). - specify
shuffle=False
when callingfit()
.
To reset the states accumulated:
- use
model.reset_states()
to reset the states of all layers in the model - use
layer.reset_states()
to reset the states of a specific stateful RNN layer
Example:
x # this is our input data, of shape (32, 21, 16)
# we will feed it to our model in sequences of length 10
model = Sequential()
model.add(LSTM(32, input_shape=(10, 16), batch_size=32, stateful=True))
model.add(Dense(16, activation='softmax'))
model.compile(optimizer='rmsprop', loss='categorical_crossentropy')
# we train the network to predict the 11th timestep given the first 10:
model.train_on_batch(x[:, :10, :], np.reshape(x[:, 10, :], (32, 16)))
# the state of the network has changed. We can feed the follow-up sequences:
model.train_on_batch(x[:, 10:20, :], np.reshape(x[:, 20, :], (32, 16)))
# let's reset the states of the LSTM layer:
model.reset_states()
# another way to do it in this case:
model.layers[0].reset_states()
Note that the methods predict
, fit
, train_on_batch
, predict_classes
, etc. will all update the states of the stateful layers in a model. This allows you to do not only stateful training, but also stateful prediction.
How can I remove a layer from a Sequential model?
You can remove the last added layer in a Sequential model by calling .pop()
:
model = Sequential()
model.add(Dense(32, activation='relu', input_dim=784))
model.add(Dense(32, activation='relu'))
print(len(model.layers)) # "2"
model.pop()
print(len(model.layers)) # "1"
How can I use pre-trained models in Keras?
Code and pre-trained weights are available for the following image classification models:
- Xception
- VGG16
- VGG19
- ResNet
- ResNet v2
- ResNeXt
- Inception v3
- Inception-ResNet v2
- MobileNet v1
- MobileNet v2
- DenseNet
- NASNet
They can be imported from the module keras.applications
:
from keras.applications.xception import Xception
from keras.applications.vgg16 import VGG16
from keras.applications.vgg19 import VGG19
from keras.applications.resnet import ResNet50
from keras.applications.resnet import ResNet101
from keras.applications.resnet import ResNet152
from keras.applications.resnet_v2 import ResNet50V2
from keras.applications.resnet_v2 import ResNet101V2
from keras.applications.resnet_v2 import ResNet152V2
from keras.applications.resnext import ResNeXt50
from keras.applications.resnext import ResNeXt101
from keras.applications.inception_v3 import InceptionV3
from keras.applications.inception_resnet_v2 import InceptionResNetV2
from keras.applications.mobilenet import MobileNet
from keras.applications.mobilenet_v2 import MobileNetV2
from keras.applications.densenet import DenseNet121
from keras.applications.densenet import DenseNet169
from keras.applications.densenet import DenseNet201
from keras.applications.nasnet import NASNetLarge
from keras.applications.nasnet import NASNetMobile
model = VGG16(weights='imagenet', include_top=True)
For a few simple usage examples, see the documentation for the Applications module.
For a detailed example of how to use such a pre-trained model for feature extraction or for fine-tuning, see this blog post.
The VGG16 model is also the basis for several Keras example scripts:
How can I use HDF5 inputs with Keras?
You can use the HDF5Matrix
class from keras.utils
. See the HDF5Matrix documentation for details.
You can also directly use a HDF5 dataset:
import h5py
with h5py.File('input/file.hdf5', 'r') as f:
x_data = f['x_data']
model.predict(x_data)
Please also see How can I install HDF5 or h5py to save my models in Keras? for instructions on how to install h5py
.
Where is the Keras configuration file stored?
The default directory where all Keras data is stored is:
$HOME/.keras/
Note that Windows users should replace $HOME
with %USERPROFILE%
.
In case Keras cannot create the above directory (e.g. due to permission issues), /tmp/.keras/
is used as a backup.
The Keras configuration file is a JSON file stored at $HOME/.keras/keras.json
. The default configuration file looks like this:
{
"image_data_format": "channels_last",
"epsilon": 1e-07,
"floatx": "float32",
"backend": "tensorflow"
}
It contains the following fields:
- The image data format to be used as default by image processing layers and utilities (either
channels_last
orchannels_first
). - The
epsilon
numerical fuzz factor to be used to prevent division by zero in some operations. - The default float data type.
- The default backend. See the backend documentation.
Likewise, cached dataset files, such as those downloaded with get_file()
, are stored by default in $HOME/.keras/datasets/
.
How can I obtain reproducible results using Keras during development?
During development of a model, sometimes it is useful to be able to obtain reproducible results from run to run in order to determine if a change in performance is due to an actual model or data modification, or merely a result of a new random sample.
First, you need to set the PYTHONHASHSEED
environment variable to 0
before the program starts (not within the program itself). This is necessary in Python 3.2.3 onwards to have reproducible behavior for certain hash-based operations (e.g., the item order in a set or a dict, see Python's documentation or issue #2280 for further details). One way to set the environment variable is when starting python like this:
$ cat test_hash.py
print(hash("keras"))
$ python3 test_hash.py # non-reproducible hash (Python 3.2.3+)
-8127205062320133199
$ python3 test_hash.py # non-reproducible hash (Python 3.2.3+)
3204480642156461591
$ PYTHONHASHSEED=0 python3 test_hash.py # reproducible hash
4883664951434749476
$ PYTHONHASHSEED=0 python3 test_hash.py # reproducible hash
4883664951434749476
Moreover, when using the TensorFlow backend and running on a GPU, some operations have non-deterministic outputs, in particular tf.reduce_sum()
. This is due to the fact that GPUs run many operations in parallel, so the order of execution is not always guaranteed. Due to the limited precision of floats, even adding several numbers together may give slightly different results depending on the order in which you add them. You can try to avoid the non-deterministic operations, but some may be created automatically by TensorFlow to compute the gradients, so it is much simpler to just run the code on the CPU. For this, you can set the CUDA_VISIBLE_DEVICES
environment variable to an empty string, for example:
$ CUDA_VISIBLE_DEVICES="" PYTHONHASHSEED=0 python your_program.py
The below snippet of code provides an example of how to obtain reproducible results - this is geared towards a TensorFlow backend for a Python 3 environment:
import numpy as np
import tensorflow as tf
import random as rn
# The below is necessary for starting Numpy generated random numbers
# in a well-defined initial state.
np.random.seed(42)
# The below is necessary for starting core Python generated random numbers
# in a well-defined state.
rn.seed(12345)
# Force TensorFlow to use single thread.
# Multiple threads are a potential source of non-reproducible results.
# For further details, see: https://stackoverflow.com/questions/42022950/
session_conf = tf.ConfigProto(intra_op_parallelism_threads=1,
inter_op_parallelism_threads=1)
from keras import backend as K
# The below tf.set_random_seed() will make random number generation
# in the TensorFlow backend have a well-defined initial state.
# For further details, see:
# https://www.tensorflow.org/api_docs/python/tf/set_random_seed
tf.set_random_seed(1234)
sess = tf.Session(graph=tf.get_default_graph(), config=session_conf)
K.set_session(sess)
# Rest of code follows ...
How can I install HDF5 or h5py to save my models in Keras?
In order to save your Keras models as HDF5 files, e.g. via
keras.callbacks.ModelCheckpoint
, Keras uses the h5py Python package. It is
a dependency of Keras and should be installed by default. On Debian-based
distributions, you will have to additionally install libhdf5
:
sudo apt-get install libhdf5-serial-dev
If you are unsure if h5py is installed you can open a Python shell and load the module via
import h5py
If it imports without error it is installed, otherwise you can find detailed installation instructions here: http://docs.h5py.org/en/latest/build.html


Serialized Form
|
Package org.apache.commons.lang |
end
char end
- The last character, inclusive, in the range.
negated
boolean negated
- True if the range is everything except the characters specified.
start
char start
- The first character, inclusive, in the range.
set
Set set
- The set of CharRange objects.
cause
Throwable cause
- Holds the reference to the exception or error that caused
this exception to be thrown.
delegate
NestableDelegate delegate
- The exception helper to delegate nested exception handling to.
|
Package org.apache.commons.lang.builder |
arrayContentDetail
boolean arrayContentDetail
- The detail for array content.
arrayEnd
String arrayEnd
- The array end
'}'
.
arraySeparator
String arraySeparator
- The array separator
','
.
arrayStart
String arrayStart
- The array start
'{'
.
contentEnd
String contentEnd
- The content end
']'
.
contentStart
String contentStart
- The content start
'['
.
defaultFullDetail
boolean defaultFullDetail
- The value to use when fullDetail is
null
,
the default value is true
.
fieldNameValueSeparator
String fieldNameValueSeparator
- The field name value separator
'='
.
fieldSeparator
String fieldSeparator
- The field separator
','
.
fieldSeparatorAtEnd
boolean fieldSeparatorAtEnd
- Whether the field separator should be added after any other fields.
fieldSeparatorAtStart
boolean fieldSeparatorAtStart
- Whether the field separator should be added before any other fields.
nullText
String nullText
- The
null
text '<null>'
.
sizeEndText
String sizeEndText
- The summary size text start
'>'
.
sizeStartText
String sizeStartText
- The summary size text start
'.
summaryObjectEndText
String summaryObjectEndText
- The summary object text start
'>'
.
summaryObjectStartText
String summaryObjectStartText
- The summary object text start
'<'
.
useClassName
boolean useClassName
- Whether to use the class name, the default is
true
.
useFieldNames
boolean useFieldNames
- Whether to use the field names, the default is
true
.
useIdentityHashCode
boolean useIdentityHashCode
- Whether to use the identity hash code, the default is
true
.
useShortClassName
boolean useShortClassName
- Whether to use short class names, the default is
false
.
|
Package org.apache.commons.lang.enum |
iName
String iName
- Deprecated.
- The string representation of the Enum.
iValue
int iValue
- Deprecated.
- The value contained in enum.
|
Package org.apache.commons.lang.enums |
iName
String iName
- The string representation of the Enum.
iValue
int iValue
- The value contained in enum.
|
Package org.apache.commons.lang.exception |
nestable
Throwable nestable
- Holds the reference to the exception or error that we're
wrapping (which must be a
Nestable
implementation).
cause
Throwable cause
- Holds the reference to the exception or error that caused
this exception to be thrown.
delegate
NestableDelegate delegate
- The helper instance which contains much of the code which we
delegate to.
cause
Throwable cause
- Holds the reference to the exception or error that caused
this exception to be thrown.
delegate
NestableDelegate delegate
- The helper instance which contains much of the code which we
delegate to.
cause
Throwable cause
- Holds the reference to the exception or error that caused
this exception to be thrown.
delegate
NestableDelegate delegate
- The helper instance which contains much of the code which we
delegate to.
|
Package org.apache.commons.lang.math |
max
double max
- The maximum number in this range (inclusive).
min
double min
- The minimum number in this range (inclusive).
max
float max
- The maximum number in this range (inclusive).
min
float min
- The minimum number in this range (inclusive).
denominator
int denominator
- The denominator number part of the fraction (the seven in three sevenths).
numerator
int numerator
- The numerator number part of the fraction (the three in three sevenths).
max
int max
- The maximum number in this range (inclusive).
min
int min
- The minimum number in this range (inclusive).
constructed
boolean constructed
- Ensures that only the constructor can call reseed.
max
long max
- The maximum number in this range (inclusive).
min
long min
- The minimum number in this range (inclusive).
max
Number max
- The maximum number in this range.
min
Number min
- The minimum number in this range.
|
Package org.apache.commons.lang.mutable |
value
byte value
- The mutable value.
value
double value
- The mutable value.
value
float value
- The mutable value.
value
int value
- The mutable value.
value
long value
- The mutable value.
value
Object value
- The mutable value.
value
short value
- The mutable value.
|
Package org.apache.commons.lang.time |
mLocale
Locale mLocale
- The locale.
mLocaleForced
boolean mLocaleForced
- Whether the locale overrides the default.
mMaxLengthEstimate
int mMaxLengthEstimate
- The estimated maximum length.
mPattern
String mPattern
- The pattern.
mRules
org.apache.commons.lang.time.FastDateFormat.Rule[] mRules
- The parsed rules.
mTimeZone
TimeZone mTimeZone
- The time zone.
mTimeZoneForced
boolean mTimeZoneForced
- Whether the time zone overrides any on Calendars.
Copyright © 2001-2005 - Apache Software Foundation


Black Friday: Women in Hijabs Fight Over a Vacuum Cleaner at Walmart
While other shoppers squabble over $1.60 towels.
by Paul Joseph WatsonBlack Friday chaos has begun early, with one video showing two women in hijabs fighting over a vacuum cleaner at Walmart as store employees are forced to intervene.
The women refuse to let go, prompting staff to demand the women “put it down.”
Another video clip shows a frenzy over $1.60 towels.
Many stores begin offering Black Friday discounts on Thursday (Thanksgiving) in a bid to avoid stampedes.
As we previously highlighted, Black Friday is a complete scam based around the myth that shoppers are getting discounts they wouldn’t get at any other time of the year.
In reality, stores enjoy higher profit margins during the holiday period because retailers artificially inflate prices of goods in the months before Black Friday in order to make the subsequent discounts look good in comparison.
Many of the same deals for which shoppers spend hours camped outside stores are also available online anyway, in some cases days in advance of Black Friday.
SUBSCRIBE on YouTube:


SerialPortError()
Syntax
Result = SerialPortError(#SerialPort)Description
Returns the error on the serial port when ReadSerialPortData(), WriteSerialPortData() or WriteSerialPortString() failed.
Parameters
#SerialPort The serial port to use.
Return value
Can be a combination of the following values:#PB_SerialPort_RxOver: An input buffer overflow has occurred. There is either no room in the input buffer or a character was received after the end-of-file (EOF) #PB_SerialPort_OverRun: A character-buffer overrun has occurred. The next character is lost. #PB_SerialPort_RxParity : The hardware detected a parity error. #PB_SerialPort_Frame : The hardware detected a framing error. #PB_SerialPort_Break : The hardware detected a break condition. #PB_SerialPort_TxFull : The application tried to transmit a character but the output buffer was full. #PB_SerialPort_IOE : An I/O error occurred during communications with the device. #PB_SerialPort_WaitingCTS : Specifies whether transmission is waiting for the CTS (clear-to-send) signal to be sent. #PB_SerialPort_WaitingDSR : Specifies whether transmission is waiting for the DSR (data-set-ready) signal to be sent. #PB_SerialPort_WaitingRLSD : Specifies whether transmission is waiting for the RLSD (receive-line-signal-detect) signal to be sent. #PB_SerialPort_XoffReceived: Specifies whether transmission is waiting because the XOFF character was received. #PB_SerialPort_XoffSent : Specifies whether transmission is waiting because the XOFF character was transmitted. Transmission halts when the XOFF character is transmitted to a system that takes the next character as XON, regardless of the actual character. #PB_SerialPort_EOFSent: Specifies whether the end-of-file (EOF) character has been received.
See Also
ReadSerialPortData(), WriteSerialPortData(), WriteSerialPortString()
Supported OS
All


Word Wrapping
Highlight Line
Soft Tab
Print Margin
You can use more advanced settings by pressing Ctrl+< inside the editor


Certificate Details
×
Certificate
Please fill the details of the certificate.
Name
Type
Academic
Technical
Sports
Language
Competitive exams
Issue date
Expiry date existance
Yes
No
Expiry date
Reset
Issue certificate


Parkrun Predictor
Home
About
Admin
About
This is a demonstration app for Spring MVC.
Features -
Spring MVC
Hibernate
WebJar / Bootstrap
Unit Testing - Mockito


Roc Nation adds reggae star Buju Banton to its roster
NEW YORK (AP) - Jay-Z's Roc Nation company has added reggae star Buju Banton to its jam-packed roster.
On Friday Roc Nation announced the partnership with the reggae and dancehall king, whose comeback concert held earlier this year in his native Jamaica was one of the country's largest shows. More than 30,000 people attended the concert.
Banton, 46, will celebrate the new deal with Friday's music video release for his song "Steppa." The performer released his first album in the earlier ‘90s and he's become one of the important and respected acts in reggae. "Before the Dawn," his last album released 2010, won the Grammy for best reggae album.
Banton was released in December 2018 after serving seven years in federal prison on drug charges.
Copyright 2019 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.


in numbers and knowledge gained
Who we are
We are a group of diverse and talented people, which dares to create.
To create an honest society, a better world.
Sorry! A browser with GRID support is required to view this pen.
in numbers and knowledge gained
of knowledge and experience
with 40+ kids
projects completed
Our core values
We have 18+ years of knowledge and experience.
Our values drive our success.
Only with honesty and commitment are we able to deliver on our promises. Our work shows the responsibility we have towards our clients, team, and community.
We thrive on and embrace new challenges with a determination and persistence that defines our work. We take the initiative and reward courageous behaviour.
Our success is driven by strong and transparent relationships, both internally and externally. We build trust upon honesty and mutual respect.
With our knowledge and creativity, we can simplify even the most complex of tasks. The best solutions are simple solutions.
Our curious work environment thrives on new knowledge and delivers the needed expertise for success and excellence, both for our team and clients.
We tackle our tasks with efficient work habits and skillful performance. We are flexible and accurate, and we are quick to adapt to any challenges that come our way.


{% extends "../layouts/content.html" %} {% block css %} {% endblock %} {% block page_title %} {% set title = "Portfolio" %} {% include "../mixins/title-big.html" %} {% endblock %} {% block pageclass %} portfolio{% endblock %} {% block content_navigation %} {% endblock %} {% block post_content %}
Between 2002 and 2003, just before the numeric revolution, I shot for ravest.net, some major electronic festival.
With my Pentax MZN, I pushed Kodak Ektachrome iso to the limit to capture a dancing night...
Today I search my bags and scan old negatives. Here are some experimentation under Lightroom.


Welcome to my website! My name is Colin Vincent and I am a 4th year Combined Electrical and Computer Engineering Student at Northeastern University. I am passionate about electronics and embedded systems and I am currently searching for my 3rd co-op placement.
I designed the PCB layout for the newest revision of the Lumenfacade White HO and RO boards through several iterations. This included several hardware changes in the schematics, and significant changes to the board layout.
The CBOX directs communication over DMX and RDM. I worked both of these protocols to fix existing issues with interference coming into the receiver.
The picture to the left is from an R&D project to incorporate an OLED into a Lumentone light controller. Using the STM32F030R8 development board I prototyped a set up to control lights over DMX with an interactive menu displayed on the OLED screen.
I also worked with an existing test jig to accommodate a new control card. This required several hardware changes on the PCB layout and new firmware for the STM microcontroller.
At Draper Laboratory I worked with the Sensors and Imaging Systems group. I was responsible for the electrical system in a pod test set up. I also worked with two other co-ops on Wireless Sensor Network Research.
I spent a lot of time working with OrCAD capture to review PCB schematics and order parts for the manufacturer. I also used OrCAD to compile wiring diagrams for the pod project.
Researching wireless sensor networks led our team to develop a project focused on camera based networks. After spending a significant amount of time reading existing journal publications we chose to focus on surveillance using a network of cameras.
We developed a project for a proof of concept for 3-D reconstruction using a network of cameras. This was done with Raspberry Pi’s with camera modules. My contribution included the hardware selection and the shell scripting to communicate with the Pi’s and transfer images to the host computer. This resulted in a conference paper presented in May 2016. The paper can be found here: http://ieeexplore.ieee.org/document/7568905/?reload=true
At NUWC I worked with REMUS autonomous underwater vehicles. I was part of the payload integration team and spent a lot of time in the lab assisting with vehicle testing. I worked with OrCAD to make wiring diagrams for some of the hardware we were working to integrate in the REMUS.
I built this app to concatenate three .wav files and play the result given a specific code. There are 19 built in wav files and the app can create a output given any combination. The generated sound is used to trigger underwater liftbags.
Using an Arduino Pro I connected several WS2812 addressable LEDs to the serial output. Then using a Bluetooth module I connected the Arduino to my Raspberry Pi using python. I then pulled NOAA weather information so I could adjust the color and intensity of the LEDs depending on the current weather in Boston. I covered the hardware with a cube I made out of Plexiglas that I frosted with sandpaper. Some of the code is up on GitHub.
I enjoy Snowboarding, Lacrosse, Rock Climbing and Woodworking. I taught Snowboarding in High School for 2 years at Yawgoo Valley in Rhode Island. I played Lacrosse through high school and I continue to play over the summer when in a few tournaments.
Click on the icons below for my resume or a link to one of my accounts!


Hello World!
Tutorial Assignment: 1_3_intro_to_js
Click Here!
Button Clicked
0
Times
Submit
Your name is


--- title: Off Canvas excerpt: 'Off Canvas, a multi-device layout design pattern: http://t.co/eaZFfTZd.' date: '2012-03-25 10:40:53 +0200' date_gmt: '2012-03-25 08:40:53 +0200' categories: - Webdev tags: - tweets - web - design - development ---
Off Canvas, a multi-device layout design pattern: http://t.co/eaZFfTZd.


1.50b 25 August 2015
- Folders and AVI files dropped on the toolbar's ">>" icon open as virtual stacks.
- Thanks to Jerome Mutterer, added the Help>Examples>Macro>Grab Viridis Colormap
example macro.
- Thanks to Norbert Vischer, added the "Dual Progress Demo" example macro and JavaScript
to the Help>Examples> menu.
- Added the "Non-numeric Table" example macro and JavaScript
to the Help>Examples> menu.
- Added the "Image with Overlay" example image
to the File>Open Samples> menu.
- Thanks to Xiuxia Zhang, the Process>Batch>Convert command
and IJ.openImage(path) method work with text images.
- The Image>Overlay>Overlay Options command uses the
'Y' keyboard shortcut and it adds "Show labels" and "Hide" checkboxes to
its dialog box if the current image has an ovelay.
- Assigned the 'W'' shortcut to the File>Close All command.
- The "Use virtual stack" option in the AVI Reader is set by default.
- Thanks to Jochen Reichel, fixed a bug that caused the
makeSelection("line", xpoints, ypoints) macro function to throw
an exception if either array contained a non-integer value.
- Thanks to Aryeh Weiss, worked around a Java 8 bug that caused the
Memory Monitor to fail.
- Thanks to Hermann-Josef Roser, fixed a bug that caused some imported RGB
TIFFs to be read incorrectly.
- Thanks to Michael Cammer, fixed a v1.44 regression that caused the setLineWidth()
macro function to sometimes not work as expected if the global line width set in the
Edit>Options>Line Width dialog was not 1.
- Thanks to Aryeh Weiss, worked around a Java 8 bug on Macs that sometimes caused
ImageJ to freeze when clicking on "Show All" in the "ROI Manager" dialog.
- Thanks to Michael Entrup, fixed a bug that caused the x-axis label of plots
to be cut off on Windows.
- Thanks to Ved Sharma, fixed a bug that caused the macro code
"if (false) Array.invert(a);" to generate an error.
- Thanks to John Wolodzko, fixed a bug that caused the Plot.setLimitsToFit() macro
function to sometimes not work as expected.
Home


Just weeks after Elysian Brewing was purchased by Anheuser-Busch, veteran brewer Steve Luke left his long time position with Elysian to branch off and start Cloudburst Brewing. Cloudburst Brewing sports a no-frills brewery and taproom in the heart of Seattle, serving as a landing spot for beer aficionados to try some of the most well crafted beers the city of Seattle has to offer. Cloudburst offers a limited selection of pre-filled growlers, otherwise you will only find their beers on tap at various establishments. Probably best known for their IPAs, Steve’s dedication to the craft has built quite a reputation for the still relatively young brewery.
Not satisfied with your current choice?


WTF is FDO ?
According to wikipedia
Profile-guided optimization (PGO, sometimes pronounced as pogo), also known as profile-directed feedback (PDF) and feedback-directed optimization (FDO) is a compiler optimization technique in computer programming that uses profiling to improve program runtime performance.
What it really means
again from wikipedia:- Optimization techniques based on analysis of the source code.
How to do it ?
Read it AutoFDO tutorial
PostScript
For ML/DL Fanatics But Not Compiler Stuff
Some things I just know
- I know it was really brief, but it was written in a very less time. Because someone told me, “You started really late if you are not disappointed from your first blog. LOL”
- Next time you visit this might be more detailed along with code snippets and internals.


According to the guidelines by the Chinese government in 2016, there should be less than 30 children in one class. There are nine regions which do not meet the standard. Five of them are the places where the income per capita is comparatively low in the whole country.
Generally, there is a shortage of educational personnel in China. In the rural area, only one teacher for a class of 20 children at the most. The condition in the urban area is also not good, two teachers take charge of one class. For example, in Shanghai, 9 children are looked after by one teacher as shown in the graph. Each dot represents a child.
4m2 is the minimum number for the sports area for each child in kindergartens. There is a stereotype in China that people in North area are stronger than the south. Maybe the difference starts with kindergartens. The percentage of mountain area could be the reason.
According to the guidelines by the Chinese government, the percentage of green area in one kindergarten should be 30% at least. But the average data shows that there are none of the regions up to standard. Although some areas are limited by the population density, for other regions, it’s still a problem. Urban planners and proprietors should take more responsibilities for this issue which has a massive influence in both mental and physical health of children.
The tuition fee of a kindergarten run by the government is always limited to an affordable range. However, the amount of these kindergartens is far behind needs. The cost of other kindergartens is rising every year because of the demanding requirements and their distinctive features in education.


You need Javascript active to view this page. Or not using IE less than 9. But well, this should be never. Never use IE less than 9.
Loading...


template<typename TWaitOp = stdext::inplace_function<void()>, typename TNotifyOp = stdext::inplace_function<void()>>
class embutil::InterruptCondition< TWaitOp, TNotifyOp >
Generic interrupt condition concept.
Provides a condition-variable class for use on an embedded system which does not have threading, but wants to use interrupts for notifications (e.g. with ARM's WFI
instruction). ` If we think about interrupt and non-interrupt execution modes as two threads, locking in a non-interrupt thread is equivalent to disabling interrupts; waiting for condition variable to be notified is the equivalent for waiting for interrupts.
Clients supply one or two operations:
- wait(), which puts the processor in a mode to wait for interrupts (e.g.,
wfi
)
- notify(), which pulls the processor out of the wait mode
- Note
- Some scenarios, like
wfi
, do not require a function to be called. Instead, the wfi
state exit is equivalent to notify(). Clients do not need to supply the notify operation in such scenarios.
This class is designed to be used with an InterruptLock.
- Template Parameters
-
| TWaitOp | Represents the storage type (std::function, stdext::inplace_function) and prototype for the wait operation. |
| TNotifyOp | Represents the storage type (std::function, stdext::inplace_function) and prototype for the notify operation. |
template<typename TWaitOp = stdext::inplace_function<void()>, typename TNotifyOp = stdext::inplace_function<void()>>
template<typename TWaitOp = stdext::inplace_function<void()>, typename TNotifyOp = stdext::inplace_function<void()>>
template<typename TLock >
Initiate a wait state.
Receives the reference to lockable object (has lock()
and unlock()
member functions) that is already locked.
The behavior of this function matches std::condition_variable:
- locked lock is received
- unlock the lock
- wait for notification to wake up
- re-acquire the lock and return control to the caller
This function is marked noexcept because we want the program to terminate if an exception results from this call. We don't actually know whether lock/unlock/wait_ can throw.
- Template Parameters
-
| TLock | the type of the lock. The compiler deduces this template parameter. |
- Parameters
-
- Precondition
- lock is already locked.
- Postcondition
- lock is locked.
References embutil::InterruptCondition< TWaitOp, TNotifyOp >::wait_.


{% extends "base.html" %} {% block title %}
Medieval catalogues > UNIVERSITY AND COLLEGE LIBRARIES OF CAMBRIDGE > King's Hall > Register of books borrowed, 1390–91
{% endif %}2 identified entries found.
All data was derived from the List of Identifications by Professor Richard Sharpe.
{% if not printing %}
A key to codes used in the List is available (opens in new tab).{% endif %}


Gateway
BOT
04-Dec-18 03:35 PM
[dscrdvrsc] <passcombo.com > so many people following "BSV vision" = crypto is about miners - is the same as computers are about developers
[dscrdvrsc] <passcombo.com > after thinking a bit actualyl I find mining is always "selfish" (exceptions are neive people who believe otherwise). Miner mines because there exist profit, and as long as it exist profit and this profit is public knowledge it's natural assumptions there will be many miners.
[dscrdvrsc] <Patrick ManBearPig> Searching the fpga discord for algo1 brings up some interesting reads. Example:
pbiLast Saturday at 2:16 PM
warning: algo1 community has noticed a big drop in net hash
coinciding with this outage
jadefalkeLast Saturday at 2:23 PM
where is the nethash now?
it was supposed to be 18 TH right?
Lord PowerLast Saturday at 2:25 PM
funny thing is not much they can do about it
[dscrdvrsc] <halpi> Does everyone have problems with vrsc transactions?
[dscrdvrsc] <passcombo.com > I'm over the naive thinking miners are about "supporting community". They are for profit, many of them for short term profit.
[dscrdvrsc] <passcombo.com > Dont get me wrong - nothing bad in profit, just let's not make miners the center of it.
[dscrdvrsc] <Patrick ManBearPig> I think the fpga freakout is much ado about nothing maybe
"$11.55 revenue for Algo1 minus some for electricity makes it $10.49 at the moment."
3 blocks a day.
[dscrdvrsc] <Patrick ManBearPig> I wonder if their outage is why I had such some killer staking days recently
[dscrdvrsc] <Godballz> I think a big part of the issue is that there are several different arguments going on not just a black and white thing. I find it an interesting ride being a part of this community even still and I have my opinions just like everyone else but I also like to keep an open mind and where some people are anti fpga and some people are pro fpga I am not completely sure where I stand just yet but I will say my concern with the fpga thing is how it might affect not only coin distribution but price if people are able to mine them very cheaply then they are competing against each other to sell them very cheaply keeping the price down which isn't necessarily bad for buyers. It is just a lot of variables and the stakes are somewhat high for some
[dscrdvrsc] <Patrick ManBearPig> Or if their existence is why I have been
[dscrdvrsc] <Godballz> I think that is where a lot of this friction is coming from
[dscrdvrsc] <Godballz> And I will say personally reading the quote from the fpga Discord sort of rubs me the wrong way how about how they have been going about what they are doing
[dscrdvrsc] <Patrick ManBearPig> Understandable. On the other hand it is a privacy coin, right? So can we really begrudge people for being private about it?
[dscrdvrsc] <Patrick ManBearPig> My gut reaction was the same on reading that, and reading the announcement today. "Fuck them!"
[dscrdvrsc] <Godballz> I feel like that's a little like saying he's a magician he makes things disappear he won't mind that I took his wallet
[dscrdvrsc] <Godballz> But I get your point and it doesn't bother me so much as what the repercussions might be
[dscrdvrsc] <Godballz> Now a question becomes- is it worth it to sell off your vrsc in order to buy an fpga considering if things stay the same it would be possible to make them back within the first 6 months?
[dscrdvrsc] <Godballz> The economics shift a little
[dscrdvrsc] <Patrick ManBearPig> I have days when I stake that much and I did not spend $2500
[dscrdvrsc] <Patrick ManBearPig> I mean yes... sell all your VRSC please
[dscrdvrsc] <Patrick ManBearPig> Everyone buy fpgas and stop staking
[dscrdvrsc] <Godballz> I didn't say I was going to. I said it becomes a question as a matter of economics
[dscrdvrsc] <Patrick ManBearPig> They have another secret coin too
[dscrdvrsc] <Patrick ManBearPig> secret algo rather
[dscrdvrsc] <Godballz> I wonder what that could be
[dscrdvrsc] <Honey> ......come on lol
[dscrdvrsc] <Godballz> I imagine it wouldn't be that hard to find out the users would have to know
[dscrdvrsc] <Honey> every fpga has "secret" algos
[dscrdvrsc] <Gloryman> @Honey how are people selected for the secret algo?
[dscrdvrsc] <Patrick ManBearPig> Not sure why it's so lol. Just today it was confirmed that they have been mining verus and only referring to it as "algo1"
[dscrdvrsc] <Patrick ManBearPig> They also have algo2
[dscrdvrsc] <Honey> its so lol because this has being going on for the last year
[dscrdvrsc] <Honey> this isnt new
[dscrdvrsc] <Patrick ManBearPig> Along with a handful of named algos
[dscrdvrsc] <Honey> hashaltcoin was the only company to not make their algos secret initially
[dscrdvrsc] <Honey> people arent "selected" you have the gear you get the algo
[dscrdvrsc] <Honey> theres only one dev who limits the amount of fpgas he will allow on certain bitstreams and that to prevent destroying the small coins
[dscrdvrsc] <Gloryman> @Honey do you FPGA mine?
[dscrdvrsc] <Honey> I do it all
[dscrdvrsc] <Gloryman> what is the ROI of the Black F1
[dscrdvrsc] <Honey> ROI isnt a thing
[dscrdvrsc] <Honey> today is one figure a month ago it was another
[dscrdvrsc] <zpajk> "allow"... Can you be pulled off an algo?
(edited)
[dscrdvrsc] <Honey> no once you have it you have it
[dscrdvrsc] <Gloryman> @Honey ok how long did it take for you to get your 2.5k back?
[dscrdvrsc] <Patrick ManBearPig> Yes, please stop using ROI so incorrectly. Use capital recovery if you want, but please stop using ROI. Sorry, pet peeve
[dscrdvrsc] <Honey> I have yet to hit my break even point
[dscrdvrsc] <Honey> estimation in current market is 250-350 days
[dscrdvrsc] <Gloryman> @Honey how often does a new FPGA come out that is way more efficient than the previous one?
[dscrdvrsc] <Patrick ManBearPig> Where is a good place to learn about these newfangled things
[dscrdvrsc] <Honey> xilinx and intel release new gear all the time
[dscrdvrsc] <Honey> they come at 10k a pop tho
[dscrdvrsc] <Honey> and arnt made for crypto
[dscrdvrsc] <Honey> group buys done by other parties will continue to pop up
[dscrdvrsc] <Honey> the future focus isnt crazy expensive fancy fpgas
[dscrdvrsc] <Honey> its 500$ once that have a bep of 250-350days in todays market
[dscrdvrsc] <Honey> good place to start learning if you want to dip your toes in
[dscrdvrsc] <Gloryman> @Honey but when will the 2nd gen black miner come out and if it does, will they still support the old blackminer f1 first gen
(edited)
[dscrdvrsc] <John Westbrook> @halpi if you are having trouble with tx ask in the support channel, you’re question will get lost here today!
[dscrdvrsc] <Honey> they have stated they will continue to support the f1 when the f2 comes out, no release date yet. Its rumored to handle larger memory algos tho.
[dscrdvrsc] <Honey> they are selling the f1s to find the f2s and beyond
[dscrdvrsc] <Patrick ManBearPig> Was there supposed to be a link?
[dscrdvrsc] <Honey> i did post it, but pmed you as well
[dscrdvrsc] <Gloryman> I think i could afford one in Jan or Feb. But wondering if it will be worth it by then or if its better waiting for the next one. What do you think?
[dscrdvrsc] <Honey> Tough to say what jan feb will be like market wise
[dscrdvrsc] <Honey> there are rumoured to be more fpgas coming but again bear market who knows
[dscrdvrsc] <Gloryman> @Honey but FPGAs still perform well in bear market right?


--- layout: post tags: - org-mode - emacs - jekyll - faq ---
This blog is created by Jekyll however the blog posts are written in the excellent org-mode and published to HTML.
The problem is that the directory structures of the org
posts doesn't match the directory structure created by Jekyll. Assume your root directory looks like:
_org/ - posts/ - 2015-09-05-a-blog-post.org - images/ - an-image.png _posts/ images/ _site/
Remember that
_posts/
andimages/
are populated automatically when published by org-mode and Jekyll will then populate_site/
.
In order to include that image in the org
document you would need to add a link to ../images/an-image.png
. The org mode publishing system will copy those images to /images
however Jekyll will serve the blog post at /2015/09/05/a-blog-post/
which contains an (incorrect) link to ../images/an-image.png
.
The right answer is almost certainly to customise the publishing system but I am just not that good of an emacs dude (yet!). So, my hack of hacks is based on the following:
/
/images/an-image.png
is reachable from ../images/an-image.png
when sourced from /a/
This means that the 'relativeness' of the images directory and the published URL directory can be symmetrical if Jekyll serves /2015-09-05-a-blog-post/
instead of /2015/09/05/a-blog-post/
.
To achieve this simply change the permalink
in your root _config.yml
to /:year-:month-:day-:title
from the default /:categories/:year/:month/:day/:title.html
. This means Jekyll will serve this blog post as a single url. Images are served from /images
which is one directory up from the-blog-url that Jekyll is serving this from so the relative URL ../images/an-image.png
will work.
URLs really shouldn't change that much. Why does Jekyll choose this strategy? Is it good for SEO? No idea (does anybody really understand that stuff?). What downsides are there to having the date embedded in the URL? So this might not be a sensible long-term strategy - I dunno.
Everybody loves animals, so here is a photo of one of my dogs and cats looking very non-plussed:
Figure 1: Bruce and Lily, sitting in a tree, kis….


Instructions for getting your own API key directly from Google Cloud
NOTE This information is based on the beta version of Google's text-to-speech service (Oct 2020). It may get out of date over time.
This extension uses Google's amazing text-to-speech service; however, that Google service is only free for a limited amount of text, then it switches to a per-character cost.
The good news is that you'll not likely go over the generous free-quota; however, Google often gives you a $300 credit for the first few months to figure costs out.
Steps:
- Sign up for a free Google Cloud account
- Create a project
- Enable Text-to-Speech API
- Generate a Text-to-Speech API Key
- Input your key into this extension
- Set up budget alerts
DON'T Share your API key with anyone else.
Step 1. Sign up for a free Google Cloud account
To sign up for Google Cloud, you may need to provide a credit card to Google.
This is primarily to help stop abuse and you should get a free credit from Google Cloud with a new sign-up.
Sign up
- Click the button and follow the steps on the google site. You will need a Google gmail account and be logged into it.
Step 2. Create a new project on Google Cloud
Everything in Google Cloud need to be in a project. The name doesn't matter other than to help you identify
it.
Create a new project
- Enter a project name
- Click Create button
After creating a project, you're dropped onto the Project Dashboard.
Just make sure the project at the top is set to your newly created one.
Step 3. Enable Text-to-Speech API
Next you'll need to enable the Text-to-Speech API for this project.
Enable Text-to-Speech API
- Verify project at top
- Click Enable button
It takes a few seconds, but after the API is enable, you're redirect to an API Dashboard. You'll want to bookmark this page for later use to check your quota use.
Step 4. Generate an API Key
The API Key is a secret code that controls who can use your
text-to-speech. If you give this to anyone, they can use your speaking service and you'll get charged.
Generate an API Key
- Enter any name. Since you'll be using for this entension, something like
ReadMeTheText Ext
is good. - For restrictions, the easiest solution is to enter none.
- Do not click create just yet.
- Click the API Restrictions tab
- Select
Cloud Text-to-Speech API
fromAPI Restrictions dropdown
- Verify
Cloud Text-to-Speech
appears in the list - Click Create button
Step 5. Copy API Key and add to extension
After the key is generated, you will land on the Key Managenment page.
- Click the copy icon to copy it to your clipboard
- Open this extension's Options page and paste it into the correct field
Note If you ever need to get this key again, you can find it on the Credentials Page
Scroll down and test that the api key works
Step 6. Create a Google Cloud Budget
To make certain you don't spend too much money, you should consider creating a Google Cloud Budget.
You should follow the instructions in this official Google guide to set up a budget with warnings if you exceed any cost.


--- layout: post title: Online Capistrano Tutorial Session post_id: 49 categories: - announcements date: 2008-07-07 08:28:00.000000000 -06:00 author: Jamis permalink: 2008/7/7/online-capistrano-tutorial-session.html ---
Today I’m pleased to announce the first online Capistrano tutorial session. It will be held via Campfire on July 15 at 7pm MDT, focusing on Capistrano basics for Rails deployment. The session will accomodate only ten people. For all details, read up at capify.org:
http://www.capify.org/2008/7/6/online-capistrano-tutorial-session
If this proves popular enough, and if the format works out well, I’ll consider hosting more of these on more advanced topics.


oops!
the page you are looking for is not found, maybe it has been removed, renamed or might never existed.
go back to
anaestrada.es
, or
contact me
about the problem.


Professor Membership Registration
Full Name
Email Address
Phone Number
Address
University Information
Login Credentails
Terms and Conditions
Please read through the Terms and Constions and tick the below box to continue the registration
I have read and I agree to the Terms and Conditions


This Privacy Policy describes our privacy policy related policies and practices. Please read our privacy policy carefully.
We will not collect your personal information for commercial users, and our app does not need to be registered to use.
We will not collect any personal information about you including phone numbers, email addresses, etc. So you don’t have to worry about privacy leaks during your use.
We do not collect information, nor will it be used for commercial purposes.
When required by law (such as assisting public security organs) or obeying judicial procedures, court orders, and threats to the company’s statutory rights due to user behavior, or applicable to this We have the right to disclose your personal information when the company’s mobile app legal process.
If the Company determines that disclosure is reasonable and necessary in order to enforce the terms and conditions of the Company or to protect our operations, we may disclose information about you.
The Company will change this Policy Agreement from time to time in accordance with national laws and regulations. Before the modification is implemented, the company will notify this policy change in the App User Agreement so that you can understand how we collect and use your personal information, who can access it, and under what circumstances we disclose it.
The company reserves the right to modify this policy at any time, so please check it frequently.
If you have any questions or concerns about our privacy policy or data processing, please contact us at +8613277853764.


Yasmij.js Demo
Simplex method solver.
**Work in Progress** Results may be incorrect.
Type:
Maximize
Minimize
Objective:
Constraints:
Logs: