Weekly Video Series
During much of my time at Tweag, I
produced weekly videos about Haskell. They are
on Tweag's YouTube page.
Since leaving Tweag, I do this
more sporadically. My videos are linked below.
- Java has monads, too!, as this video demonstrates.
- An introduction to GHC's -XRebindableSyntax extension.
- A review of the three different mechanisms in GHC for type-aware programming: Typeable, Data, and Generic.
- Deep subsumption: What it is, why it's bad, why we removed it, and why we restored it.
- How to use hs-boot files to make mutually recursive modules.
- How impredicative types can be used to
power part of a JSON parser.
- An introduction to record update syntax, including some complications around type-changing record update.
- The monomorphism restriction causes order dependence. Oh, Haskell.
- A series on implementing a Wordle guess assistant
- Video 1: Design considerations
- Video 2: Cabalizing; importing word lists; some light performance measurement
- Video 3: Encoding the state of a Wordle game
- Video 4: Responding to a guess and advancing the Wordle state
- Video 5: Adding a testsuite with tasty, HUnit, QuickCheck, and CI
- Video 6: Refining our definitions to improve correctness
- Video 7: Fixing respondToGuess
- Video 8: Actually finding the best guess
- Video 9: Optimizing by overloading a function
- Video 10: Using criterion to measure the time elapsed in a function
- Video 11: Lessons learned during this series
- Jan 21, 2022: I explain GHC's deferred type errors feature.
- Jan 14, 2022: UndecidableInstances is meant to say that GHC might loop while compiling. But
it can cause a run-time loop, as I demonstrate.
- Jan 7, 2022: GHC defaults the representation of types at some pretty strange places, as I explore in this video.
- Dec 28, 2021: I puzzle through making a arity-polymorphic unboxed tuple operator, with lots of type-level shenanigans.
- Dec 23, 2021: Why -XNoPolyKinds is a bug and should be removed from GHC.
- Dec 17, 2021: A guide to GHC's pattern-match warnings.
- Dec 10, 2021: A not-so-quick tour of the Quick Look algorithm for impredicative type inference.
- Dec 1, 2021: It's hard to use System.Random.uniform without the monomorphism restriction enabled, as I explain.
- Nov 23, 2021: Emacs's smerge-mode is amazing for helping make merge conflicts disappear. Watch me demonstrate.
- Nov 16, 2021: I reflect on the recent proposal to remove (/=) from the Eq type class.
- Nov 11, 2021: A discussion of the four deriving strategies that GHC can use.
- Nov 2, 2021: GHC's redundant-constraints warning has a bug in it, and this video explores the bug and the challenges in fixing it.
- Oct 28, 2021: I describe the principles behind a recent proposal for an update to scoped type variables.
- Oct 19, 2021: I walk through the TypeError facility in GHC to customize type errors.
- Oct 14, 2021: I explain why let should not be generalized,
the subject of the MonoLocalBinds extension.
- Oct 7, 2021: This video shows how to make pattern synonyms that expose a safe interface to an unsafe, efficient data representation.
- Sep 28, 2021: I describe how GHC compiles pattern synonyms into pattern synonym matcher functions.
- Sep 21, 2021: Continuing about pattern synonyms, I explain their type signatures.
- Sep 15, 2021: I introduce pattern synonyms, a powerful feature in GHC allowing abstraction over patterns.
- Sep 8, 2021: I walk through the process of instance selection, including a little on overlapping instances.
- Aug 31, 2021: I describe the process for getting the existentials paper published at ICFP.
- Aug 24, 2021: This video describes how GHC generalizes definitions that lack type signatures.
- Aug 18, 2021: Building on the last video, this one introduces proper levity polymorphism.
- Aug 12, 2021: An introduction to the way Haskell tracks type representations in its kinds, warming up to an exploration of levity polymorphism.
- Aug 4, 2021: Unboxed tuples in Haskell, and how they can make programs allocate less memory.
- Jul 28, 2021: More about Haskell's kinds, exploring two examples of types with fancy kinds.
- Jul 20, 2021: An introduction to Haskell's kind system.
- Jul 13, 2021: Some work on getting rid of Derived constraints means a change in what constraints GHC generalizes. I explore the details.
- Jul 7, 2021: I write an arity-inferred version of
zipWith
,
with lots of type-level hackery on the way.
- Jun 29, 2021: A more newcomer-oriented video, I walk through some basic type
error messages, explaining what they mean.
- Jun 22, 2021: An introduction to
Coercible
, a feature
that makes it possible to optimize code that works with newtype
s.
- Jun 15, 2021: GHC sometimes infers the wrong type.
- Jun 8, 2021: An introduction to the
DerivingVia
extension,
which can allow you to avoid writing boiler-plate class instances.
- Jun 1, 2021: An introduction to type-checker plugins, which can
allow you to extend GHC's type checker to cover cases never conceived by us designers of GHC.
- May 25, 2021: I debug a performance problem live in GHC, on camera. You can
watch how I organize such a session and tackle the problems that come up.
- Apr 13, 2021 - May 18, 2021: A series of videos on type-level programming in Haskell, demonstrating GADTs, type families, and other fun features.
The videos can be watched independently, but for best results (for programmers less experienced in type-level programming), watch in order.
- Apr 13, 2021: Generalized algebraic datatypes (GADTs) and length-indexed vectors
- Apr 20, 2021: Singletons and
replicate
- Apr 27, 2021: Type families
- May 4, 2021: Existentials
- May 11, 2021: Proofs
- May 18, 2021: Writing custom GADTs to capture arbitrary invariants
- Apr 6, 2021: A small introduction to
ScopedTypeVariables
and
its quirks.
- Mar 30, 2021: The IO monad is really just a state monad, passing
around the entire
RealWorld
as its state.
- Mar 23, 2021: The dreaded monomorphism restriction can actually
improve performance.
- Mar 15, 2021: GHC does not support infinite types. Yet the mere possibility of these
prevent closed type families from reducing.
- Mar 8, 2021: Newtypes are not strict datatypes, debunking a myth I believed until recently.
- Mar 1, 2021: The GHCi command
:type +d
allows you to default a type – very useful in instructional settings.
- Feb 22, 2021: Using closed type families to simulate closed classes. This video explores a folklore trick to using a closed type family to avoid overlapping instances.
- Feb 15, 2021: Why
let
-generalization is confusing, especially because GHC sometimes chooses not to do it.
- Feb 8, 2021: How to optimize Haskell, exploring a previous blog post of mine.
- Jan 25, 2021: Connecting linear types to dependent types via relevance. Unlike most other videos, this one focuses on a research paper I co-authored (with Pritam Choudhury, Harley Eades, and Stephanie Weirich). It focuses more on the Haskell of the future than the Haskell of today, and includes a little Idris programming.
- Jan 18, 2021: How whitespace works in Haskell. This video is much more of an instructional one than many, demonstrating how whitespace-sensitive parsing works in Haskell.
- Jan 11, 2021: Functional dependencies are inconsistent, as this video demonstrates.
- Jan 4, 2021: Type families can get stuck on invisible arguments, as this video shows. If you have a poly-kinded type family that isn’t reducing, you may want to look here.
- Dec 28, 2020: Break out of Template Haskell and into the type-checker. This video demonstrates how a sneaky Template Haskell user can access the full type-checker context, though doing so is dangerous.
- Dec 21, 2020: Roles can break abstraction, because an abstract type with a class-based invariant might still be coercible to a different type that will violate the invariant. The video shows how this can happen.
- Dec 14, 2020: Strict variables assignments are not bang patterns, as this video shows.
- Dec 7, 2020:
DeriveAnyClass
considered dangerous. This video demonstrates why I do not recommend enabling the DeriveAnyClass
extension by default.
- Nov 30, 2020: Fixing a GHC bug around equality constraints, demonstrating some of the gnarly bits of GHC’s constraint solver.
- Nov 23, 2020: Using linear types to require the use of a token. the example imagines bringing a certain quantity of money into scope; linear types prevent us from losing or duplicating the money.
- Nov 16, 2020: Rewriting with loopy equalities explores how we might use an assumption like
a ~ UnMaybe (Maybe a)
for rewriting, even though it looks like using that for rewriting will cause infinite regress.
- Nov 9, 2020: Non-confluence in the solver means that type inference can be unpredictable. And yet this happens! It means we can write a program whose runtime behavior depends on the order of constraints written in a type.
- Nov 2, 2020: A type inference challenge around using constraints to implement “fake” type families. The trick to get the example accepted is to introduce an ordering constraint on how certain constraints are solved.
- Oct 26, 2020: How impredicative types and type families don’t mix, demonstrating how GHC’s new Quick Look algorithm stumbles over type families sometimes.
- Oct 22, 2020: Debugging an assertion failure in GHC’s constraint solver. The video includes a brief introduction to some of the details of the constraint solver, around Givens, Wanteds, and Deriveds. You can watch how some of the magic happens in debugging GHC itself. (I forgot to make my font size big for this one – apologies!)
- Oct 14, 2020: Why we can’t yet eliminate
Proxy
. Briefly, because Haskell does not yet allow visible type application in lambda-expressions that might be used in higher-rank contexts.
- Oct 14, 2020: Hello, World!, where I briefly introduce the video series.
Production notes
I record these videos using OBS Studio, with very light editing in DaVinci Resolve. Recording, editing, and posting often add up to take 30-40 minutes of time, much of which is spent waiting for rendering (and can be parallelized with other work). Time to prep for a video ranges from no time at all to maybe up to an hour, if there is some tangled code involved. The goal in production is expedience over a polished result, meaning we all get to enjoy more videos, at the cost of sometimes a few glitches. In particular, I’m aware that sound quality would be improved with a boom mic, but I can’t imagine restraining myself from moving around while making the videos – something tangible would be lost.
The upshot here is that you too can make such videos: my headset (Logitech G332, highly recommended) was under $50 (though I then graduated to a Shure MV7 at a higher price point), and the recurring time investment is quite low. (It took me maybe a day to learn enough about OBS and DaVinci Resolve, with credit to my Tweag colleague Steve Purcell for introducing me to DaVinci Resolve.) And making the videos is definitely fun.


When you work with us, you are part of a team of committed collaborators. All aspects of our software development process are integrated interactive
and agile.
Our approach unifies design, development and product management to create exceptional products.
Then we help translate them into effective and elegant solutions.


Controls the name of the time series, using name or pattern. For example
{{hostname}} will be replaced with label value for the label hostname.
Leave blank for auto handling based on time range and panel width. Note that the actual dates used in the query will be adjusted
to a multiple of the interval step.


FRS
Willcome to FRS Expert Center
Login
Forget Password
FRS System © 2016
×
Close
Contact Us
Email:
service@frs.com


There are no test plans within
{{selectedProject?.name}} (Project)
Test cases management
0; else noBuildsTemplate">
build
No Builds.
There are no builds within
{{selectedTestPlan?.name}} (Test Plan)There are no test plans within
{{selectedProject?.name}} (Project), therefore, there are no builds


Input the plane's heading, the wind heading and speed and you'll get the relative wind angle and speed you'll have to input in the bombsight
× Plane Heading
× Wind Heading
× Wind Speed (m/s)
Results
× Sight Wind Hdg
× Sight Wind Speed


Sarafan Radio is a privacy-oriented, peer-to-peer, distributed, open source, crowdfunded, ads-free social network.
It allows you to stay in contact and share with your friends without exposing your contacts, conversations, photos and videos to a third party.
There is no central database, all that you share is stored on your and your friend's computer/phone only.
Sarafan Radio was conceived as an alternative to Facebook but with personal privacy and freedom of speech in mind.
It allows to do the same things that Facebook does - share posts, pictures, video, chat and call from your phone or computer, but makes it impossible for the social network owner to control the content you share or even see it.
Sarafan Radio uses peer-to-peer distributed application architecture that keeps the data you send on your and your friend's device only.
The data is never stored on any intermediate server and point-to-point encrypted.
It makes the social content to belong only to you.
All the data Alice is sending to Bob is going through a central sever. The owner of the server is able to access the data.
Alice sends data directly to Bob. Only they can access it.
This software is in project / ideation stage.
We need your help to go live!
Give us just 1$ now to support the development!


"Sri" Reviewed by Phil Hall Originally published on Film Threat (www.filmthreat.com)
"Sri" -- Directed by Marselli Sumarno 1999 (Indonesia); FFTV-IKJ & KEM Multimedia, Running time 102 minutes Starring Rina Ariyanti, R.M.T. Ronosuripto, Sardono W. Kusomo
In terms of cinematic output, Indonesia lags seriously behind its neighbors in the Pacific Rim; in 1999, only one indigenous feature film was commercially released there. However, Indonesia's deficit in quantity is more than compensated by its surplus of quality. That one local film, Marselli Sumarno's ghost story "Sri," is a new masterpiece of Asian cinema and an extraordinary lesson in creating a work of art through the power of intelligence rather than the power of the wallet.
Clearly lacking the cash, technical sophistication and razzle-dazzle of other Asian productions, filmmaker Sumarno (a Jakarta-based journalist making his directing debut) instead relies on the foundation of any great film--a powerful story--and builds a force of imagination with the barest of tools imaginable. Audiences who have been lulled into sleep by the overbearing safety of American-style storytelling will be jolted by this harrowing tale which flows with the leisurely rhythms of a calm brook that actually runs deep and dark.
"Sri" opens in the home of Hendro, an elderly Javanese aristocrat whose prize possession is Sri, his second and considerably younger trophy wife. Theirs had been a marriage of mutual convenience: Hendro was a rather unpleasant gambler who grabbed for the best that money can buy and Sri was a poor village girl who saw the old goat as her only chance out of poverty. While Hendro never truly loved Sri, she allowed time to open her heart to her aged mate.
Hendro's wicked ways eventually catch up with him and he winds up bed-ridden and ill beyond medical care. One night as Sri leaves him to tortured sleep, an uninvited figure in white joins her on the veranda. It is Yamadipati, the God of the Dead, who announces his mission to ferry Hendro away. Incredibly, with a steely determination hitherto unsuspected, Sri challenges Yamadipati to delay his mission to allow Hendro to make amends with several people he had crossed or betrayed over the years. Completely shocked by this amazing request, Yamadipati reluctantly complies with Sri's request for an extension. Sri then tracks down the various unhappy souls who Hendro damaged (including Hendro's first wife) and negotiates for their forgiveness. Yamadipati returns frequently, but finds his efforts frustrated as Sri successfully plays him for extra time to clean Hendro's proverbial slate.
With an eerie story worthy of peak-Rod Serling, "Sri" offers its tale without any of distractions that weigh down Hollywood ghost stories. There are no special effects or sound effects (although Western audiences may find the film's traditional Javanese score more than little disturbing), and the scenes are shot in lengthy takes without a flash of staccato editing or sudden whooshes of fright. In fact, Sumarno's style may come as a surprise to sophisticated cinephiles: many of the scenes are framed in medium and long shots and the casual pacing reflects the funereal tempo of the Javanese culture, which is wholly alien to Western rush-rush-rush. Yet the beauty of "Sri" reminds us of what genuine horror is all about: the attack on the senses and the intellect, with the unexpected insertion of the extraordinary into the ordinary. It begins with the failing of Hendro's health, which ruptures the serenity and luxury of Sri's household and slowly tears away at the careful order into a world of newly unexplored chaos which precipitates the unexpected on various levels. Yamadipati's initial appearance, standing unannounced in the distance for a seemingly endless period before he is acknowledged, offers a chill as Sri conducts her affairs without realizing the gravity of her visitor...and then deals with him in a manner which shocks the fatal entity. Her negotiations with Hendro's victims carry an emotional thrust as she calmly but desperately seeks to tie all loose ends in Hendro's awful life so he can die without sin--the ultimate game of beat-the-clock. The audience watches this drama with the foregone conclusion that death can be delayed but never denied...yet can Sri achieve the impossible?
In one of the film's many amazing sequences, one of Hendro's dying peers escapes into the woods to evade Yamadipati. The inevitable meeting between predator and prey cannot be prevented, yet it concludes in an unexpectedly joyful manner which frightens and enlightens the viewer with a dual fear: the fear of coming to death and the fear that we waste too much time being afraid of coming to death. "Sri" forces us to confront our emotions and re-evaluate how we use our time on Earth--and for the truly introspective, it forces the wondering of whether there is a Sri who would negotiate with the God of the Dead to spare us from the inevitable goodbye. This is clearly scarier than any Hollywood spook or ghoul.
"Sri" introduces Rina Ariyanti in the title role, and she graces the screen with a fragile beauty that masks a remarkable strength and focus. Never resorting to melodrama, she points a laser-sharp focus on the subject at hand and delivers a mature and sublime interpretation of a young woman of untapped strength and heroism. She is wonderfully matched by the long-haired Sardono W. Kusumo as Yamadipati, who sinks into despair and joyfully deranged frustration when Sri gets the best of him.
"Sri" was offered as Indonesia's entry in this year's Academy Award competition for Best Foreign-Language Film. It failed to get a nomination and, despite excellent response on the festival circuit, it has yet to secure a US distributor. This situation is nothing sort of disgraceful. Rarely has a film of such power and beauty tip-toed through the circuits without receiving the praise it deserves. By all means, seek out and savor the glory that is "Sri."
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


Here are some details on another distinction that has been introduced earlier.
Some PLs have dynamic typing, which means:
For example, consider the following Perl statements:
$x = 5;
$x = "hello";
The variable $x
is given values of different types at different times, and this is valid in Perl. For programs of realistic complexity, the value and type stored by a variable could be dependent on user input, random number generation, etc. Clearly it would be impossible to check the types used in a statement until the statement was about to execute in a particular run time state.
Other PLs have static typing, which means:
For example, consider the following statement:
int i = 1.1;
The source code specifies that the variable i
has type int
. The compiler or other type checking software can check for proper type usage before run time, so it would be possible for a compiler to indicate that there is something suspicious about this assignment. There is no way to change the variable’s type at run time.
You should be aware that different authors and experts define the terms used here in different ways.
For example, some say that the issue of dynamic vs. static typing applies only to strongly typed PLs, and is meaningless for weakly typed PLs. I disagree, for two reasons.
Even if we ignore the previous point, a (so-called) weakly typed language could associate types with variables and check them at compile time, or it could have no type associated with variables and perform checking at run time. For example, both C and Perl would be described as weakly typed, if we must label the entire language one way or the other. Yet C is statically typed while Perl is dynamically typed. For a further example, consider again the statement shown previously:
int i = 1.1;
It so happens that this is valid syntax in both C and Java. Both are statically typed languages. However, C is more weakly typed here, and accepts this without error; the compiler does an automatic type conversion called coercion, and the variable holds the integer value 1. Java is more strongly typed, and produces a compiler error. The error can be eliminated if the programmer explicitly calls for a type conversion (and data loss due to truncation) using a type cast as follows:
int i = (int)1.1;


Controls
Connecting to control panel...
View KatWeb Folder
Edit Config File
Restart Server
Reload Config
Console


Ask questions about the core tech here, but not questions about prices or personal questions or GUI and please don't DM JL777.
https://dexstats.info/richlistlookup.php?address=RLVzC4tr9cNKvuw2z4m8KuMfZURwCehx55
https://medium.com/@jameslee777
100 messages
Before 05-Dec-19 12:00 AM
jl777c13-Aug-18 01:49 PM
people seem to like to ask me questions about everything
5
Sharifa13-Aug-18 04:59 PM
@Hermes just did. ... thank you(edited)
Cryptoon13-Aug-18 05:04 PM
Damn, was just about to ask if you prefer vanilla or chocolate icecream
3
Nevermind then
jl777c13-Aug-18 05:55 PM
the proper question was whether you should like chocolate or vanilla
Cryptoon13-Aug-18 07:37 PM
Well... Should you?
shnu14-Aug-18 09:20 AM
Hi jl777, There seems to be lot of new projects linked to social networking arising in the blockchain space (Steemit, AKASHA, Minds, Sapien..etc)
I could imagine KMD platform handling that scale. Is there a project in mind (or in near future) to tap/expand into that space?
Cheers!
jl777c14-Aug-18 09:44 AM
KMD is a decentralized ecosystem, so I wont necessarily know about all projects everyone is thinking about
Mark8114-Aug-18 04:17 PM
What is basic function of notarized burn protocol in scaling tech? This sounds really interesting and would appreciate of detailed example. Thanks in advance.
jl777c14-Aug-18 04:18 PM
given a cluster of chains with a specific total of coins, if we can allow transferring coins from one chain to another without creating (or losing) coins, then the entire group becomes a single fungible cluster
that is what the burn protocol does
burn it on one chain and import it in another
like a cross chain utxo
the input is the burned coins on a different chain
this allows coins to move from any chain to any chain
in the fungible group
Mark8114-Aug-18 04:23 PM
every chain have their own burn address? On a new chain how coins are created? Can chain run out of coins if every coin move to another chain and any ain´t coming to it?
jl777c14-Aug-18 04:24 PM
if there is no mining, then yes, a chain can run very low on coins
the coins are created via a cross chain utxo
you burn the coins via opreturn
this creates a "xutxo" that can be used in a specific other chain
Mark8114-Aug-18 04:30 PM
Since this technology is in testing phase and not part of komodo chain scaling but would it be possible to be used in komodo chain? Or would this be more like sidechain scaling technology?
jl777c14-Aug-18 04:31 PM
it would be prohibitively expensive to do a million KMD tx/sec, that is 6000 KMD per minute!
I think KMD should be where the tx chains are notarized to, and then the txfee on these chains are minimal
Mark8114-Aug-18 04:36 PM
Most people that i see discussing this technology are actually thinking that its komodo chain that performs this scaling. They dont realize that it is actually one of tools for developers to have once they come into this ecosystem.
whole scaling debate has made people minds so one blockchain centric that they dont see out of that box.
jl777c14-Aug-18 04:40 PM
it is silly to do million tx on an expensive chain
who has a few million to spend just sending a million tx
every second
nobody!
so clearly a different solution is needed
also bloating the main chain by TB per hour is probably going to be frowned upon
you just cant ignore such "little" details when solving real world usage
Mark8114-Aug-18 04:41 PM
How about if kmd chain input would be "burned" and taken into one of tx chains?
jl777c14-Aug-18 04:42 PM
going to the chain is much easier to do than coming back
Mark8114-Aug-18 04:44 PM
how kmd chain would operate differently vs tx chain on that?
jl777c14-Aug-18 04:46 PM
i guess not much different, just nervous to allow another chain to be 1:1 KMD, since anything that goes wrong on that chain would affect KMD
Mark8114-Aug-18 04:49 PM
Yeah of course. Dont play with fire. isolate things and of course if komodo notarizes itself then it would technically notarizing itself through tx chains.(edited)
jl777c14-Aug-18 04:50 PM
it just feels like great care would be needed and we wouldnt do this to a whole bunch of tx chains
Mark8114-Aug-18 04:51 PM
a lot of can happen in few minutes and keeping eye on that would technically impossible.
Takoy_Nahal15-Aug-18 10:00 AM
Good day jl777. I have a question. Are you going to release a mobile wallet Komodo and do you plan to do in the future so that you can pay for goods and services with the Komodo coin?
jl777c15-Aug-18 10:14 AM
I only do core cli code, so I wont be doing any GUI, mobile or otherwise. but others do and there is alreayd a mobile wallet. please let us not ask me about GUI, or exchange support issues, or future BTC price predictions, or politics or religion
grewalsatinder15-Aug-18 10:19 AM
@Takoy_Nahal yep, that's not a question for jl777.
Our dev @pbca26 who coded Agama Wallet also coding Agama Mobile wallet. It works same ways the Agama Desktop wallet works as light weight cryptocurrency wallet.
https://github.com/pbca26/agama-mobile/releases
since it's in progress, you will be using it on your own risk, until we see final stable releases.
In short, work in progress.
There's more to Komodo Wallet. The things I wish to have in a mobile wallets is the capability to make Z transactions. I think for that you should first ask for it's answer from Zcash community, since it will be taken from the parent code fork for Komodo which is Zcash, and I heard some good optimisations and possibility of native mobile z transactions in updates from zcash in coming months. If happens, Komodo users can sure expect the same with such komodo mobile app.
Takoy_Nahal15-Aug-18 10:21 AM
Thanks for the answer. It seems that the question was not the right address. But I certainly was not going to ask stupid questions about the price of BTC or graphics.) And even more so about politics and religion(edited)
grewalsatinder15-Aug-18 10:22 AM
np
Takoy_Nahal15-Aug-18 10:25 AM
@grewalsatinder Thank you for your answer)
grewalsatinder15-Aug-18 10:25 AM
KevinS15-Aug-18 04:27 PM
what makes UTXO model unsuitable for smart contracts like on ETH? or in other words, why must komodo currently use crypto conditions to develop smart contracts and what are the limitations? forgive me if this question is not even worded correctly.
is it that UTXO model can only support value transfer from the contracts whereas smart contracts on ETH can handle state changes?
jl777c15-Aug-18 06:26 PM
ETH is a balance based system, so it doesnt really have utxo. bitcoin protocol is based on utxo, so it has utxo
CC is a proposed IETF standard, KMD is the first to get it live into a working blockchain. KMD doesnt haveto use it, but since we made it, it seemed like a good idea to use it
CC contracts are turing complete and as such it can handle state transitions or anything else that is needed
I think the differences are really more internal than anything else.I did make assets, faucet, rewards and dice CC contracts to demonstrate a hint of what is possible
if you can describe a contract and what state changes it needs to handle, I can write a CC contract to implement it
turing complete means anything that any other turing complete system can do, can also be done
5
3
4
jspook1616-Aug-18 03:44 AM
where can we see the demonstrations of the CC contracts?
grewalsatinder16-Aug-18 03:45 AM
#cc-general
jspook1616-Aug-18 03:48 AM
thanks
KevinS19-Aug-18 05:21 PM
@jl777c thanks. to further my understanding what are the differences between CC on the komodo platform (not KMD) vs ETH? i was under the impression there were still some limitations for CC on komodo 2.0, but trying to get up to speed on motivations behind CC
jl777c19-Aug-18 05:23 PM
cryptoconditions is a proposed ietf standard, so supporting it is a good thing
we enhanced the baseline CC with a utxo smart contracts layer on top of it
it is turing complete
it runs native code compiled into komodod
that means there really shouldnt be any smart contract that cant be written
the motivation is to do smart contracts
efficiently
KevinS19-Aug-18 05:45 PM
got it
jl777c19-Aug-18 05:59 PM
as far as how is it different from ETH... it seems it has very little in common
KevinS19-Aug-18 08:56 PM
but the end use cases are all supportable regardless of CC or ETH
lukechilds19-Aug-18 11:17 PM
I think I remember hearing before about language bindings for CC
is that correct?
if so, how would that work?
would you be able to implement CC smart contracts in high level languages like Python/Ruby/JavaScript etc by importing a CC binding library or using an SDK?
Mylo20-Aug-18 12:34 AM
yes, that's correct @lukechilds . currently only cpp (maybe c as well?). there is another dev working on python bindings for another set of features, not sure about py-cc at this stage. i'll ask next time we have a meeting, maybe this week maybe next.
@KevinS where there is a reference CC smart contract called "dice", it is actually an implementation of a popular pattern: "challenge/response", so if you have another type of challenge/response scenario (eg i have a rewarding global maths quiz for children game), this is where i've been told to look as my first port of call re: the challenge/response mechanism. this is 1 of the 4 initial reference smart contracts - the other is a simple faucet, another tokenized exchange, and lastly rewards for locking up coins (like a masternode, staking style of thing - which i have to be vague about because i haven't looked into it yet)
*maths quiz idea only
James is going to start a new round of smart contracts dev soon, extending on initial reference catalogue
lukechilds20-Aug-18 12:56 AM
This is really exciting
but I can't quite wrap my head around how it can be integrated into a higher level language
so for example if I was using JS
with JS bindings
does my JS code end up being compiled down to some kind of CC compatible byte code?
or do I actually run a Node.js server and calling the CC lib functions is making some kind of CC TX and broadcasting it to the KMD network?
or something totally different?
Crypto8020-Aug-18 01:17 AM
Is this for real?
Okay.. What I've been thinking about is how little we actually use crypto. And, will privacy coins be ready and do what they are supposed to, when it's time to really use them?
Mylo20-Aug-18 01:22 AM
let's just stick to CC for now, not implementing server (nodejs etc.)
CC is binary (hex) representation of data. so 0x80 0x02 0x55 0x55 as an arbitrary value, is always that in hex. It is interpretted by the CC protocol as meaning something. For this arbitrary example, 0x80 might mean EVAL function, 0x02 might mean the length of the EVAL function and 0x55 0x55 is the value of the 2byte length of the EVAL function. This is portable across languages because in bytes, it's the same.
As for different languages, not sure how it would work exactly. Maybe you compile your py/js/go languages down to a compatible shared object that can be loaded by komodod at startup (or with helper rpc command to load said library, like importwallet). This part is just hocus pocus mylo babble. You need the realjl777 and ca brains to think this one through
@lukechilds@Crypto80
Draft standard: https://tools.ietf.org/html/draft-thomas-crypto-conditions-04
It's described using ASN.1 notation which is used in SNMP (network monitoring mibs descriptions) and HL7 medical application protocols.
In both those cases, SNMP endpoints are embedded into equipment (usually low level language) but at the same time applications (and app servers like jboss etc.) can be MIBS for network monitoring information. HL7 i know less about, but it's so an X-ray machine can talk to the application running on a DRs' computer to display the image which is transported from device to file storage, from file storage to application etc. and then a related workflow is also tied to HL7 protocol stuff so the time sheet application can bill the patient record accordingly. and similarly for nurses doing the rounds giving medication etc.
So similarly, once bindings to komodo's implementation of cc is available to other langs, we get lots of cross application, cross blockchain possibilities.... (with engineering work)
lukechilds20-Aug-18 01:43 AM
very exciting stuff
yeah I think I'll need to see an example app to fully grok how it all ties together
Mylo20-Aug-18 01:54 AM
contract side is one thing on the server, loaded into komodod.
app side is accessible via rpc.
e.g. faucet rpc https://github.com/imylomylo/komodo-rpc-lib/blob/master/src/faucet/index.js
but the contract is https://github.com/jl777/komodo/blob/jl777/src/cc/faucet.cpp
faucet.cpp compiles to 0x22 0x50 0x........
your go/py/js serverside stuff smart contract which interacts with blockchain/wallet/transactions/utxo compiled down to 0x22 0x50 0x....... can be loaded by komodo. it's the same bytes. just at the high level was written differently, compiled down.
you provide an rpc to your smart contract functions.
app developers use your rpc and smart contract to write apps.
if that makes things a bit clearer.
you don't run a server along with komodod - there is no interactivity with an external server. your smart contract just was written in a different lang for your own preference, and compiled down to bytes (that could have been written by another language). "byte code" is the same.
the smart contract interacts with blockchain data/tx/etc.
if you are thinking to poll an external service for data to input into contract stuff, then which node would poll? which node would insert into blockchain? this is not the (ideal) architecture for a smart contract blockchain app. the smart contract relies on blockchain data, so you'd need to find another way to get the data into the blockchain. if you publish too many times into the blockchain then, which is the authoritative data? how large would the data bloat the chain. your options for this line of thinking is either via oracle network or something.
that's my 2c. sorry to flood channel
lukechilds20-Aug-18 02:06 AM
Oh wait, I think I get it, so I can write my CC in JS e.g an echo function, using the JS bindings, which compiles down to HEX, which I then broadcast to the KMD network (as a special transaction?).
Then I can build a web page that makes RPC requests to a local KMD daemon to interact with the CC. And the RPC request would be something like {ccaddress: address, command: 'echo', value 'helloworld'}
Something like that?
Mylo20-Aug-18 02:15 AM
Yes something like that.
Except first step. Yes you compile down.  But other nodes won't have it to reference except the tx they'll know, but won't know anything to do with it because they haven't got it installed in their node. Each node then needs your special smart contract.
Might not be relevant to the KMD main chain to know about LukesJSEchoCCSmartContract (i mean it could, but unlikely), but some AC use case your smart contract solves can load your contract at start up - and decentralize/trustless verify the tx on it's own.
And yes, you make an RPC available for app developers to interact with your smart contract


Class: Aws::SecurityHub::Types::Network
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
Struct
|
|
|
Instance Chain:
self,
::Aws::Structure ,
Struct
|
|
| Inherits: |
Struct
|
| Defined in: | gems/aws-sdk-securityhub/lib/aws-sdk-securityhub/types.rb |
Overview
The details of network-related information about a finding.
Constant Summary
Instance Attribute Summary
-
#destination_domain ⇒ String
rw
The destination domain of network-related information about a finding.
-
#destination_ip_v4 ⇒ String
rw
The destination IPv4 address of network-related information about a finding.
-
#destination_ip_v6 ⇒ String
rw
The destination IPv6 address of network-related information about a finding.
-
#destination_port ⇒ Integer
rw
The destination port of network-related information about a finding.
-
#direction ⇒ String
rw
The direction of network traffic associated with a finding.
-
#open_port_range ⇒ Types::PortRange
rw
The range of open ports that is present on the network.
-
#protocol ⇒ String
rw
The protocol of network-related information about a finding.
-
#source_domain ⇒ String
rw
The source domain of network-related information about a finding.
-
#source_ip_v4 ⇒ String
rw
The source IPv4 address of network-related information about a finding.
-
#source_ip_v6 ⇒ String
rw
The source IPv6 address of network-related information about a finding.
-
#source_mac ⇒ String
rw
The source media access control (MAC) address of network-related information about a finding.
-
#source_port ⇒ Integer
rw
The source port of network-related information about a finding.
Instance Method Summary
::Aws::Structure
- Included
| #to_hash | Alias for Aws::Structure#to_h. |
Instance Attribute Details
#destination_domain ⇒ String
(rw)
The destination domain of network-related information about a finding.
# File 'gems/aws-sdk-securityhub/lib/aws-sdk-securityhub/types.rb', line 23627
class Network < Struct.new( :direction, :protocol, :open_port_range, :source_ip_v4, :source_ip_v6, :source_port, :source_domain, :source_mac, :destination_ip_v4, :destination_ip_v6, :destination_port, :destination_domain) SENSITIVE = [] include Aws::Structure end
#destination_ip_v4 ⇒ String
(rw)
The destination IPv4 address of network-related information about a finding.
# File 'gems/aws-sdk-securityhub/lib/aws-sdk-securityhub/types.rb', line 23627
class Network < Struct.new( :direction, :protocol, :open_port_range, :source_ip_v4, :source_ip_v6, :source_port, :source_domain, :source_mac, :destination_ip_v4, :destination_ip_v6, :destination_port, :destination_domain) SENSITIVE = [] include Aws::Structure end
#destination_ip_v6 ⇒ String
(rw)
The destination IPv6 address of network-related information about a finding.
# File 'gems/aws-sdk-securityhub/lib/aws-sdk-securityhub/types.rb', line 23627
class Network < Struct.new( :direction, :protocol, :open_port_range, :source_ip_v4, :source_ip_v6, :source_port, :source_domain, :source_mac, :destination_ip_v4, :destination_ip_v6, :destination_port, :destination_domain) SENSITIVE = [] include Aws::Structure end
#destination_port ⇒ Integer
(rw)
The destination port of network-related information about a finding.
# File 'gems/aws-sdk-securityhub/lib/aws-sdk-securityhub/types.rb', line 23627
class Network < Struct.new( :direction, :protocol, :open_port_range, :source_ip_v4, :source_ip_v6, :source_port, :source_domain, :source_mac, :destination_ip_v4, :destination_ip_v6, :destination_port, :destination_domain) SENSITIVE = [] include Aws::Structure end
#direction ⇒ String
(rw)
The direction of network traffic associated with a finding.
# File 'gems/aws-sdk-securityhub/lib/aws-sdk-securityhub/types.rb', line 23627
class Network < Struct.new( :direction, :protocol, :open_port_range, :source_ip_v4, :source_ip_v6, :source_port, :source_domain, :source_mac, :destination_ip_v4, :destination_ip_v6, :destination_port, :destination_domain) SENSITIVE = [] include Aws::Structure end
#open_port_range ⇒ Types::PortRange (rw)
The range of open ports that is present on the network.
# File 'gems/aws-sdk-securityhub/lib/aws-sdk-securityhub/types.rb', line 23627
class Network < Struct.new( :direction, :protocol, :open_port_range, :source_ip_v4, :source_ip_v6, :source_port, :source_domain, :source_mac, :destination_ip_v4, :destination_ip_v6, :destination_port, :destination_domain) SENSITIVE = [] include Aws::Structure end
#protocol ⇒ String
(rw)
The protocol of network-related information about a finding.
# File 'gems/aws-sdk-securityhub/lib/aws-sdk-securityhub/types.rb', line 23627
class Network < Struct.new( :direction, :protocol, :open_port_range, :source_ip_v4, :source_ip_v6, :source_port, :source_domain, :source_mac, :destination_ip_v4, :destination_ip_v6, :destination_port, :destination_domain) SENSITIVE = [] include Aws::Structure end
#source_domain ⇒ String
(rw)
The source domain of network-related information about a finding.
# File 'gems/aws-sdk-securityhub/lib/aws-sdk-securityhub/types.rb', line 23627
class Network < Struct.new( :direction, :protocol, :open_port_range, :source_ip_v4, :source_ip_v6, :source_port, :source_domain, :source_mac, :destination_ip_v4, :destination_ip_v6, :destination_port, :destination_domain) SENSITIVE = [] include Aws::Structure end
#source_ip_v4 ⇒ String
(rw)
The source IPv4 address of network-related information about a finding.
# File 'gems/aws-sdk-securityhub/lib/aws-sdk-securityhub/types.rb', line 23627
class Network < Struct.new( :direction, :protocol, :open_port_range, :source_ip_v4, :source_ip_v6, :source_port, :source_domain, :source_mac, :destination_ip_v4, :destination_ip_v6, :destination_port, :destination_domain) SENSITIVE = [] include Aws::Structure end
#source_ip_v6 ⇒ String
(rw)
The source IPv6 address of network-related information about a finding.
# File 'gems/aws-sdk-securityhub/lib/aws-sdk-securityhub/types.rb', line 23627
class Network < Struct.new( :direction, :protocol, :open_port_range, :source_ip_v4, :source_ip_v6, :source_port, :source_domain, :source_mac, :destination_ip_v4, :destination_ip_v6, :destination_port, :destination_domain) SENSITIVE = [] include Aws::Structure end
#source_mac ⇒ String
(rw)
The source media access control (MAC) address of network-related information about a finding.
# File 'gems/aws-sdk-securityhub/lib/aws-sdk-securityhub/types.rb', line 23627
class Network < Struct.new( :direction, :protocol, :open_port_range, :source_ip_v4, :source_ip_v6, :source_port, :source_domain, :source_mac, :destination_ip_v4, :destination_ip_v6, :destination_port, :destination_domain) SENSITIVE = [] include Aws::Structure end
#source_port ⇒ Integer
(rw)
The source port of network-related information about a finding.
# File 'gems/aws-sdk-securityhub/lib/aws-sdk-securityhub/types.rb', line 23627
class Network < Struct.new( :direction, :protocol, :open_port_range, :source_ip_v4, :source_ip_v6, :source_port, :source_domain, :source_mac, :destination_ip_v4, :destination_ip_v6, :destination_port, :destination_domain) SENSITIVE = [] include Aws::Structure end


In my oppinion, I am a moderate to highly experienced experimenter with several substances. Since I made the leap from the occasional weekend drinker into the world of illicit drugs, I have used marijuana, cocaine, ecstasy, ambien (sleeping pills), hydrocodone, oxycodone, heroin, methadone, xanax, adderall, and mushrooms. With the exception of one hospital visit, I have had positive experiences with all of the substances.
No matter how many people say that heroin and cocaine are addictive after one use, I must disagree. By and far, Adderall is the most intensely addictive drug I have taken.
I first tried Adderall (AD) during my first year of college to help me study for a biology exam. It was the first time I had ever been entertained by a text book. My roomate and I both took one 20mg tablet apiece. We must have reviewed the same page in the bio book 10 or 15 times before we were satisfied that we had learned it.
Since last year, I have taken AD more times that I can count. If I hear someone talking about it, I want it. If I see it sitting in someones bathroom I'll steal some. The feeling it gives me makes it irrelevant who I'm stealing it from. Nothing matters but snaggin that bottle.
My effective dose has risen from 20mg/night to anywhere between 50 and 100mg. I often start with 20-30mg and pop another 10mg pill every hour or so until I run out or start to feel sick. The effects make me contented doing nearly anything and being with nearly anyone. The majority of the time I will just chill out and watch movies one after another. I feel like I must be actively involved with something. Over the past 8 hours I have take 8 of my 10 pills. It is now 3:30 AM. As I type, I am listening to music and watching TV and couldn't be happier.
I'm strongly fighting the urge to finish off my last two pills. If I do, there is no chance I'll sleep tonight. I want those pills so bad. Heroin (or any other opiate) has never made me desire repetitive doses. The heroin high makes me borderline if not completely comatose. When I wake up the next morning I feel tired, but I don't crave another dose. On the contrary, I have sat up for 48 hours popping AD. If I have any left after I binge, I may take a couple day break before I start again. Without a doubt, if I possess AD, I will take it anywhere and anytime. It just has that strong of a grasp on me.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


This webpage is provided 'as is' without warranty of any kind, either expressed or implied and such software is to be used at your own risk.
This has only been tested on Windows 10, using Google Chrome 88.0.4324.190. View the 'Console' in 'Developer Tools' to catch and troubleshoot any errors.
Prepare XRP Transaction
NOTE: For security reasons, this transaction will expire approximately 30 minutes after being prepared. Expired transactions will receive the 'Ledger sequence too high' error upon submission.


Welcome.
Style Guide: A Living Document
For those of you who don't know what a Style Guide is - it's quite simple really. A Style Guide is a set of standards to ensure a consistent design and identity. Additionally, from a development point of view it serves to improve the speed and ease of code deployment. A good Style Guide will consolidate the front-end code while comprehensively documenting the visual language, such as color palettes and fonts.
A "Living" Style Guide does all of the above, but uses real code from the app itself to reflects any changes as they are made throughout the app.
The goals for us in creating this type of Living Style Guide are simple:
- Streamline the workflow for designers and developers
- Maintain a consistency of app styles and identity
- Create a focal point for our Design and User Experience work, both for ourselves and for the community
Long-Term Vision: A Highly scalable, usable interface system that keeps Keelvars' UI Consistent & On brand as we grow.
The Keelvar Living Styleguide is the first step in the transition towards atomic design. It's a step that will cement the UI Practices that we currently follow and allow them to develop in a strategic manner. Sometimes functionality is prioritized over form, and this denegrates user experience and dilutes brand equity. The Keelvar Living Styleguide is about making the UI Process as lean, agile & accesible as possible so that we can strive to achieve perfectly balanced form & function.
We are working towards building an interface system based on Atomic Design. For those of you who do not know what Atomic Design is, Atomic design is a methodology composed of five distinct stages working together to create interface design systems in a more deliberate and hierarchical manner. The five stages of atomic design are:
- Atoms
- Molecules
- Organisms
- Templates
- Pages
Design systems, at least visually, are built out of core components such as typography, layout, shape/form, and color. But these systems can and should be expanded beyond those basics. What about the grid? What about the content strategy and copy? What about the interactions? What about animations? We need a system for thinking through these considerations and crafting a cohesive design system.Brad Frost developed the concept of Atomic Design for this purpose. The concept is simple: designs can be comprised of atoms, just as all matter is made up of atoms.


The Voyages of Doctor Dolittle
by Hugh Lofting
Part 1, Chapter 14: Chee-Chee's Voyage
Additional Information
- Year Published: 1922
- Language: English
- Country of Origin: England
- Source: Lofting, H. (1922). The Voyages of Doctor Dolittle. London, England: Lippincott Publishing.
-
Readability:
- Flesch–Kincaid Level: 4.2
- Word Count: 808
- Genre: Fantasy
- Keywords: 20th century literature, british literature, children's literature
- ✎ Cite This
Downloads
It seems that after Polynesia had left, Chee-Chee had grown more homesick than ever for the Doctor and the little house in Puddleby. At last he had made up his mind that by hook or crook he would follow her. And one day, going down to the seashore, he saw a lot of people, black and white, getting on to a ship that was coming to England. He tried to get on too. But they turned him back and drove him away. And presently he noticed a whole big family of funny people passing on to the ship. And one of the children in this family reminded Chee-Chee of a cousin of his with whom he had once been in love. So he said to himself, "That girl looks just as much like a monkey as I look like a girl. If I could only get some clothes to wear I might easily slip on to the ship amongst these families, and people would take me for a girl. Good idea!"
So he went off to a town that was quite close, and hopping in through an open window he found a skirt and bodice lying on a chair.  Chee-Chee put them on. Next he went back to the seashore, mingled with the crowd there and at last sneaked safely on to the big ship. Then he thought he had better hide, for fear people might look at him too closely. And he stayed hidden all the time the ship was sailing to England—only coming out at night, when everybody was asleep, to find food.
When he reached England and tried to get off the ship, the sailors saw at last that he was only a monkey dressed up in girl's clothes; and they wanted to keep him for a pet. But he managed to give them the slip; and once he was on shore, he dived into the crowd and got away. But he was still a long distance from Puddleby and had to come right across the whole breadth of England.
He had a terrible time of it. Whenever he passed through a town all the children ran after him in a crowd, laughing; and often silly people caught hold of him and tried to stop him, so that he had to run up lamp-posts and climb to chimney-pots to escape from them. At night he used to sleep in ditches or barns or anywhere he could hide; and he lived on the berries he picked from the hedges and the cob-nuts that grew in the copses. At length, after many adventures and narrow squeaks, he saw the tower of Puddleby Church and he knew that at last he was near his old home. When Chee-Chee had finished his story he ate six bananas without stopping and drank a whole bowlful of milk.
"My!" he said, "why wasn't I born with wings, like Polynesia, so I could fly here? You've no idea how I grew to hate that hat and skirt. I've never been so uncomfortable in my life. All the way from Bristol here, if the wretched hat wasn't falling off my head or catching in the trees, those beastly skirts were tripping me up and getting wound round everything. What on earth do women wear those things for? Goodness, I was glad to see old Puddleby this morning when I climbed over the hill by Bellaby's farm!"
"Your bed on top of the plate-rack in the scullery is all ready for you," said the Doctor. "We never had it disturbed in case you might come back."
"Yes," said Dab-Dab, "and you can have the old smoking-jacket of the Doctor's which you used to use as a blanket, in case it is cold in the night."
"Thanks," said Chee-Chee. "It's good to be back in the old house again. Everything's just the same as when I left—except the clean roller-towel on the back of the door there—that's new—Well, I think I'll go to bed now. I need sleep."
Then we all went out of the kitchen into the scullery and watched Chee-Chee climb the plate-rack like a sailor going up a mast. On the top, he curled himself up, pulled the old smoking-jacket over him, and in a minute he was snoring peacefully.
"Good old Chee-Chee!" whispered the Doctor. "I'm glad he's back."
"Yes—good old Chee-Chee!" echoed Dab-Dab and Polynesia.
Then we all tip-toed out of the scullery and closed the door very gently behind us.


My Learning Plan
My strengths include reliability, responsibility. I am analytical, spatially aware and Hands-on. I am limited by easy distractions and I procrastinate.
I am committed to taking responsibility for my learning. I will manage my work load by following the time block suggestions and taking appropriate breaks. This will involve staying on track. I will respecting other learners and staff by resection there views, input and personal space.
I will seek help through my own research via google or friends and secondary through EDA staff.
From the facilitation team I would greatly appreciate knowledgeable in-sites, respectful help when required and a professional attitude.
I commitments for a wedding in Napier. This will involve being date of 1,2,3rd March and 6-11th March.
Upadate 13/03/19
Any setbacks or challenges that week? What will you differently next time?
Not being able to write code without follwoing an example. I will pracitce more basic javascript courses online
What was a highlight for you?
Gettting the minesweeper mines to appear.


During testing of rest apis, json payloads will be required as part of input payloads and output payloads. And these needs to be dynamic for different use cases. One way to make them dynamic is using templating language like free-marker, but the json may not be valid json anymore especially when if conditions or loops or complex data is involved.
In such use cases, Json Expression Language (JEL) comes for rescue. JEL expressions gets embedded into json in json format itself (keeping the json templates as valid json). It follows same processing steps as that of free-marker templates as shown in below diagram.
Simple freemarker expressions


COULD YOU DO US A
FLAVOUR?
LOG IN or SIGN UP now to find out:
If we DELIVER to you
If a particular PRODUCT is available in your area
The PRICE (maybe it's on special in your area!)
{{com.description}}. Valid until {{com.endDate}}. Ts&Cs apply.


NAC genes BNAC gene expression transcription Arabidopsis family Plant Brachypodium functional stress Fig analysis divergence using abiotic proteins distachyon duplication factor members subgroup plant {border-style BNAC, amino data functions subgroups additional protein px;} response #ffffff;} Click LINK acid file. rice stresses Table genes. motif regulated showed involved motifs sequences Bayesian Cell. factors regions various Kim phylogenetic plants responses salt shown TFs different number regulation regulatory signaling similar used BNAC&BNAC Biol. Bradig Furthermore, based developmental domain elements identified respectively. tandem up-regulated NTLs Type-I Type-II binding chromosome cold corresponding diagram membrane-bound predicted roles segmental standard stresses, (PDF) However, III Mol analyzed divided drought duplicated events exons results revealed sequence sites values < ANAC ATAF C-terminal NTL Park Res. Sci. Table). Wang Zhang cell consistent critical development distributed environmental function higher model pairs promoter px; specific stress. subdomains tree {font-family (Figure BMC DNA Transcription VIII cis-acting cleavage contain down-regulated drought, font-size high including molecular patterns qRT-PCR regulate related subfamilies subfamily treatment > ./--- ABA-dependent BNAC) Clade Expression MCMC Markov Phylogenetic Trends Xie Zhu addition, analyses and/or coefficients comprehensive conserved contained control divergent double; family, generated highly known methods occurred orthologous pathways program relative representative represents residues shared significant significantly species stresses. suggesting these, transmembrane (XLSX) .). Biol Fig). Genome-wide Lee MTFs NAC), Obviously, Science Seo Shinozaki Table. accounted biotic bold border-color border-width cadmium certain changes compared compositions current derived determined diverse evolution exon family. followed following genes, heat important indicating mature miRNAs microRNAs plants. processes proteins. published regulates represent respectively, responsive secondary selected seven single solid; soybean structural study subdomain targets upstream value {font-style {font-weight (~.%) ABA-independent Arabidopsis, B). Bartel CUC Carlo Chain Chen China Evol. Exp Liu MEME Monte N-terminal Nevertheless, Physiol. RNA Server TMHMM Therefore, Yamaguchi-Shinozaki Yan Yin Zhao according activated aligned biological chromosomes conditions courier; crucial curve dates dehydration did differed distinct diversification element em; evolutionary exons, expression, formation genomic groups half identification indicate induced inference lateral level likely mRNA mainly major mechanisms meristem miRNA named numbers organ organizations osmotic play present profiles provide pt;} ranging rate real-time regulating repression research respectively; responses. responsible role search selection senescence signal similarity species. statistically structures study, subfamily. target thaliana time tolerance total transcriptional transduction


Hi,I'm Muhammed Nurullah. Here I have been interested in programming for a long time and trying to improve myself in front-end technologies. If you want to know more about me,you can download my CV file, reach me on social media accounts and send mail.
HTML
CSS3
Javascript
Design


[gecode-users] Extending integer and set variables to quantified variables.
Mikael 'Zayenz' Lagerkvist
zayenz at gmail.com
Fri Mar 10 07:17:38 CET 2006
Hi,
On 3/9/06, jeremie.vautard <jeremie.vautard at laposte.net> wrote:
> A last (stupid) question : what is the best way to immediately
> fail a space into a propagator::propagate method ? (if I'm not
> mistaken, I can't simply use the space::fail() method ).
The propagate method can signal failure by returning the value ES_FAILED.
The possible return-values to use are:
* ES_FAILED Execution has resulted in failure.
* ES_NOFIX Propagation has not computed fixpoint.
* ES_OK Execution is okay.
* ES_FIX Propagation has computed fixpoint.
* ES_SUBSUMED Propagator is subsumed (entailed)
Cheers
Mikael
--
Mikael 'Zayenz' Lagerkvist, http://www.imit.kth.se/~zayenz/
More information about the gecode-users
mailing list


Log in
Sign up for free
Wuzzuf Services
Wuzzuf Services is the easiest way to discover wuzzuf dataset and make
simple ML model on it.
Show first data records
Show the structure
Show summary
Show Cleaned data
Show count jobs
Show chart jobs
Show job titles
Show chart titles
Show most areas
Show chart areas
Show skills
Show Years of exp


{{#layout}} {{#schedule}}
Room: {{room.roomNumber}} {{#allrooms}} {{roomNumber}} {{/allrooms}} Building: {{building.buildingName}} {{#allbuildings}} {{buildingName}} {{/allbuildings}} Start Time: 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Duration: 1 2 3
Semester:
Start Date:
Duration:
Days:


- Contents
- Ness
- Autopulse
- Factory
- QueryBuilder
- Factory
- Autopulse
You can include this library to your code file by typing the below code;
use Ness\Autopulse\Factory\QueryBuilder
Query Builder Class #top
Query Builder class is used to generate queries and retrieve records from your database. Using a query builder class will give you a more understandable code, you will have a chance to access your records with few lines rather than creating and thinking on complex queries. You can run your 'select' queries using this library for 'update' and 'insert' commands you need to use 'Autopulse' library. You can take a look at Autopulse Library Here.
A Simple Query #top
Following code example show's you how to select all data from a table.
$qb = new QueryBuilder();
$mycommand = $qb->select()
->table("members")
->get();
//Generated: select * from members
Select Multiple Columns #top
This example is about chained selects for multiple columns. You can do the same task by using arrays. The following second example will show you how to use arrays.
$qb = new QueryBuilder();
$mycommand = $qb->select("email")->select("password")
->table("members")
->get();
//Generated: select email, password from members
The same thing can be done with arrays.
$qb = new QueryBuilder();
$mycommand = $qb->select(array("username", "email", "password"))
->table("members")
->get();
//Generated: select username, email, password from members
//or you can use
$mycommand = $qb->select("username, email, password")->table("users")->get();
//This will generate: select username, email, password from users
Get Specific Data #top
Following code example show's you how to select a specific data from a table.
$mycommand = $qb->select("username")
->table("users")
->where("id=", "1955")
->get();
//Generated: select username from users where id ='1955'
Get Specific Data with Multiple Conditions #top
You can use chained where function or array for multiple conditions. These two code lines will show you an example about that.
$qb = new QueryBuilder();
$mycommand = $qb->select("username")
->table("users")
->where("age >=", "18")->where("country_code=", "32")
->get();
//Generated: select username from users where age >='18' AND country_code='32'
The following code lines will return same result.
$qb = new QueryBuilder();
$mycommand = $qb->select("username")
->table("users")
->where(array("age >=" => "18", "country_code=" => "32"))
->get();
//Generated: select username from users where age >='18' AND country_code='32'
Using where_or #top
This function is for where condition with OR
$qb = new QueryBuilder();
$mycommand = $qb->select("username")
->table("users")
->where_or("age >=", "18")->where("country_code=", "32")
->get();
//Generated: select username from users where age >='18' OR country_code='32'
The following code lines will return same result.
$qb = new QueryBuilder();
$mycommand = $qb->select("username")
->table("users")
->where_or(array("age >=" => "18", "country_code=" => "32"))
->get();
//Generated: select username from users where age >='18' OR country_code='32'
You can connect where with where_or:
$qb = new QueryBuilder();
$mycommand = $qb->select("*")
->table("users")
->where("id >","10")->where_or(array("country_code="=>"10"))->where("gender=","m")
->get();
//Generated: select * from users where id >'10' OR country_code='10' AND gender='m'
Searching Data With 'like' methods #top
You can generate queries with LIKE condition.
$qb = new QueryBuilder();
$mycommand = $qb->select(array("product_name", "author", "version"))
->table("products pr")
->like("product_name", "nessphp")
->get();
//Generated: select product_name, author, version from products pr WHERE product_name LIKE '%nessphp%'
You can also use this method with chained methods.
$qb = new QueryBuilder();
$mycommand = $qb->select(array("pr.product_name", "pr.author", "pr.version"))
->table("products pr")
->like("pr.product_name", "nessphp")->like("author","Sinan")
->get();
//Generated: select pr.product_name, pr.author, pr.version from products pr
//WHERE pr.product_name LIKE '%nessphp%' AND author LIKE '%Sinan%'
Wildcard Position #top
$mycommand = $qb->select("product_name")
->table("products")
->like("author", "Sinan", $qb->wildcard->Both())
->get();
//Generated: ..... author LIKE '%Sinan%'
Front: $qb->wildcard->Front()
$mycommand = $qb->select("product_name")
->table("products")
->like("author", "Sinan", $qb->wildcard->Front())
->get();
//Generated: ..... author LIKE '%Sinan'
End: $qb->wildcard->End()
$mycommand = $qb->select("product_name")
->table("products")
->like("author", "Sinan", $qb->wildcard->End())
->get();
//Generated: ..... author LIKE 'Sinan%'
You can also set a special wildcard charecter for LIKE clause. You can do that by;
Special Wildcard #top
$qb = new QueryBuilder();
$qb->wildcard->setWildcard("_");
$mycommand = $qb->select("product_name")
->table("products")
->like("author", "Sinan", $qb->wildcard->End())
->get();
Running command with $qb->wildcard->setWildcard("_"); will set your % to _ wildcard.
You can get your current wildcard by calling $qb->wildcard->getWildcard(); this will return as string your current wildcard.
Other types of LIKE
You can also call the LIKE method with some other customized methods. Here is a list of them;like_not: The use of this method is identical to LIKE. The only difference between them is the function. like_not method creates queries with NOT restriction.
like_or: Standart 'like' method will connect conditions with 'AND' if you want to add a OR condition you need to call your 'like' method with this 'like_or' method.
like_or_not: Standart 'like_not' method will connect conditions with 'AND' if you want to add a OR condition you need to call your 'like_not' method with this 'like_or_not' method.
Using JOIN's #top
by default your queries with JOIN should be;
$qb = new QueryBuilder();
$mycommand = $qb->select("u.username")
->table("users u")
->join("roles r", "r.roleid = u.roleid")
->get();
Or you can connect multiple joins with each other
$qb = new QueryBuilder();
$mycommand = $qb->select("u.username, m.message")
->table("users u")
->join("roles r", "r.roleid = u.roleid")
->join("mesaages m", "m.userid = u.userid")
->get();
$qb = new QueryBuilder();
$mycommand = $qb->select("u.username, m.message")
->table("users u")
->join("roles r", "r.roleid = u.roleid", "INNER")
->join("mesaages m", "m.userid = u.userid", "INNER")
->get();
group_by #top
Add a group by condition to your query
$qb = new QueryBuilder();
$mycommand = $qb->select("message_type, message_body")
->table("messages")
->group_by("message_type")
->get();
$qb = new QueryBuilder();
$mycommand = $qb->select("message_type, message_body")
->table("messages")
->group_by(array("message_type", "other_1", "other_2", ... , "other_n")
->get();
order_by #top
Set aorder by condition to your query
$qb = new QueryBuilder();
$mycommand = $qb->select("message_type, message_body")
->table("messages")
->order_by("message_date", "ASC")
->get();
limit #top
Add LIMIT condition to your query
$qb = new QueryBuilder();
$mycommand = $qb->select("message_type, message_body")
->table("messages")
->order_by("message_date", "ASC")
->limit(20)
->get();
Other Useful Commands #top
sum() #top
$qb = new QueryBuilder();
$mycommand = $qb->select(QueryBuilder::sum("salary"))
->table("employee")
->get();
//select SUM(salary) from employee
min() #top
$qb = new QueryBuilder();
$mycommand = $qb->select(QueryBuilder::min("salary"))
->table("employee")
->get();
//select MIN(salary) from employee
max() #top
$qb = new QueryBuilder();
$mycommand = $qb->select(QueryBuilder::max("salary"))
->table("employee")
->get();
//select MAX(salary) from employee
avg() #top
$qb = new QueryBuilder();
$mycommand = $qb->select(QueryBuilder::avg("salary"))
->table("employee")
->get();
//select AVG(salary) from employee
count() #top
$qb = new QueryBuilder();
$mycommand = $qb->select(QueryBuilder::count("*"))
->table("employee")
->get();
//select count(*) from employee
distinct() #top
$qb = new QueryBuilder();
$mycommand = $qb->select(QueryBuilder::distinct("user_name"))
->table("employee")
->get();
//select distinct user_name from employee
column_as()#top
$qb = new QueryBuilder();
$mycommand = $qb->select(QueryBuilder::column_as("u.username", "fullName"))
->table("employee")
->get();
//select u.username AS fullName from employee
free() #top
Returns the value in parameter.
QueryBuilder:free("select * from users");
frontfree() #top
$qb = new QueryBuilder();
$qb->frontFree("-- DISABLED");
$mycommand = $qb->select(QueryBuilder::column_as("u.username", "fullName"))
->table("employee")
->get();
// -- DISABLED select u.username AS fullName from employee
endfree() #top
$qb = new QueryBuilder();
$qb->endFree("-- THIS QUERY SELECTS ALL RECORDS FROM employee TABLE");
$mycommand = $qb->select(QueryBuilder::column_as("u.username", "fullName"))
->table("employee")
->get();
//select u.username AS fullName from employee -- THIS QUERY SELECTS ALL RECORDS FROM employee TABLE
Running Generated Queries #top
All methods and returned values in QueryBuilder class is stored in a variable and send to any variable or parameter as string.
For running a query generated with QueryBuilder class you need to define a connection to database. This example will guide you to
create a simple query and run it with mysqlconnect and mysqlcommand class.
//Create a query builder instance
$qb = new QueryBuilder();
//create a command
$mycommand = $qb->select(array("u.email",
QueryBuilder::column_as(QueryBuilder::free("concat_ws(' ', u.name, 'u.surname')"), "fullName")))
->table("employee")
->get();
//define connection
$con = new MySqlConnect("localhost", "root", "my_pwd_324234", "employee");
//fill command to MySqlCommand class
$cmd = new MySqlCommand($mycommand, $con->Source());
//returned data as array in var_dump
var_dump($cmd->FetchAll());


--- layout: default comments: false permalink: /404.html --- 404 All Your Base Are Belong to Us
All Your Base Are Belong to Us


I am passionate about building excellent software that improves the lives of those around me. I am an ambitious Computer Science student at Texas A&M University with an interest in web development and software engineering.
GrocerEZ is a mobile app that uses a combination of web-scraping and crowd-sourcing to determine which store in College Station could fulfill your grocery list for the cheapest total. I worked with the frontend team to develop the user interface using React, Redux, and Typescript.
View Project PageTodo App is a web-based task management app I created to help stay organized and manage day-to-day tasks. It has various features to help prioritize and organize your tasks, along with auto-saving any changes for the next session.
View Project Live DemoDaily Stock Tracker is a web-based stock tracker built using React. It uses the Alpha Vantage Api for stock data and Ticker Search Api for the stock search bar.
View Project Live DemoTic-Tac-Toe is the project that started it all. A tic-tac-toe game that was taken from a command line version to a web-based version with minimax AI opponent, mobile compability, and fancy pants animations. I was amazed by what I was able to create with a handful of code files and have been creating things ever since.
View Project Live Demo


{% extends "base.html" %} {% block content %} Cannot Find File! Excuse me~ The file you request cannot be found >.< Requested URL: {{error_url}} Image from: AcrylicStroke from Anibum {% endblock %}
Excuse me~ The file you request cannot be found >.<
Requested URL: {{error_url}}


Your Purchase History is Empty
You have not realized any Purchase. Go to the Dashboard and check our menu!


Wednesday, June 17, 2013
Group 5: Amish Gala, Deyvid William, Pankaj Kapania, and Romeo Honvo
Statistics:
| Type | Measurement Phase 1 | Measurement Phase 2 | Measurement Phase 3 |
|---|---|---|---|
| Total LOC | 3222 (43 classes) | 9633 (94 classes) | 12360 (127 classes) |
| Total Production LOC | 2477 (29 classes) | 7292 (69 classes) | 9641 (97 classes) |
| Total Unit Test LOC | 742 (14 classes, 40 unit tests, 7 integration tests) | 2341 (25 classes, 137 unit tests, 18 integration tests) | 2719 (30 classes, 158 unit tests, 18 integration tests) |
| Code Coverage (ALL) | 55.6% | 57.3% | 43.1% |
| Code Coverage (Unit) | 32.2% | 32.5% | 30.8% |
| Code Coverage (Integration) | 35.5% | 36.8% | 21.0% |
Phase 3 presented us with some new requirements to complement our already robust email and meeting client:
We enhanced the package structure to include a new Network package, whose responsibility was to handle all communication between client/server.
Network Classes
Server classes
The overall set of classes which communicate on the server side are shown here:
Client Network Classes
Communication Change Set (CCS)
Problem: How to test our code, for all threading / concurrency and serialization?
Solution: We found it quite difficult to approach this phase with the same strategy for unit testing as we did in the first two phases. There were no real "domain" entities, and most of the code added was related to handling communication over the network. Thus the approach we adopted was to strengthen our use of the logger, especially in all the network classes. This proved very useful when testing - somebody sitting at the server console would literally see everything that was being sent through - almost like watching the code in The Matrix! While this was no where near as effective (since we needed to first start up the clients, launch the server, connect to the server, and then actually run the tests), good concise and precise logging paid off in many situations.
Some unit tests were still created to help test the CommunicationChangeSet (the object responsible for capturing changes to a meeting), and Change (the object contained within a change set).
Problem: How to send data across the wire to CEC clients connected to the server?
Solution: We leveraged the Serializable interface provided by the standard java.io package. All of these objects were quite simple: their logical and physical forms matched quite nicely, so we used the default serialized form instead of creating our own custom ones.
Problem: How to deal with clients who connect, and then disconnect?
Solution: At first, it was a real challenge - we encountered countless "stream corruption" exceptions. We needed a better strategy to deal with the different connection possibilities, and to act accordingly. Many sites online had references to the fact that a lot of socket methods were unreliable, thus we decided to opt for a simple, clean and efficient design. The idea is that upon connecting, the SuperCECServer stored a link between the client's registration email, his socket, and the input and output streams. Whenever a client with the same email "reconnected" we simply overwrote those mappings. We understand that in a real scenario, this poses a security check; however, this is out of scope for this phase and thus we deemed it an appropriate solution.
Problem: How to manage access to shared resources, especially when an arbitrary number of threads can access? Also, how to manage the threads and providing Runnables to be executed?
Solution: here we leaned heavily on the well tested and documented thread pool abstraction: Executor Service. This class provided the thread-safety, thread-management, and orchestration necessary to successfully build a multi-client email program, which allows optimistic changes to shared data. We had numerous amount of threads:
Long running (meaning when spawned, keeps running until the application closes or some other even occurs):Thus for the most part, it made sense to communicate with our SuperCECServer and submit these tasks to the main Executor.
Problem: How to be able to concurrently edit a meeting on the network?
Solution: We simplified our design with the following decision: as soon as the client sends a meeting to the server, the client is no longer the owner of the meeting and it now is a shared document which belongs to the server. All subsequent updates need to go through the server, and this alleviates the need for clients to know about other clients (in a peer-to-peer fashion). This allowed us to make some important decisions regarding the Change Set - most notably: if a client tries to update a meeting, if his original copy does not match the servers, then he needs to perform an update. This led to the design of the Change object (see above).
One major challenge with this was how to address the issue of what happens when a client tries to update, but is not in sync. We decided that the best approach was to mimic SVN - during the update, lock the UI. If the update is successful, simply close the window. If the update was rejected, then give a message to the user that some fields need to be merged, and prevent the system from saving the meeting on his local client. This proved challenging from an implementation perspective, and also from a correctness perspective - is it good practice to lock the main AWT thread? Regardless, we followed this approach and included some basic usability: log that we're waiting for a response every 100ms, and upon reception, unlock the main UI thread. If the server doesn't respond in 3 seconds, then we tell the user that something is wrong with the server and to try later. The code in the NetworkHelper (client side) which runs is shown here:
Problem: How to intelligently take changes to a meeting and apply them (also intelligently)
Solution: Due to time constraints, we were not able to fully realize a merge algorithm strategy based on different fields. We did however plan for it by designing a Merger interface, and creating the shells for some basic merge classes (BodyMerger, SimpleTextFieldMerger). Thus for the purposes of the phase 3 release schedule, we simply send back any conflicts to the client, and ask him to resolve it.
Because of how meetings are edited concurrently over the network, we have disabled a somewhat expected feature: distribution. We felt it was more important to handle the change sets on the server, and completed this implementation; however, we don't have a solid strategy to "notify" all members of this shared document, that changes were made.
We wanted to try and implement a more comprehensive merge algorithm, but due to time constraints we were unable to fully realize it. We have positioned the code to use the proper merge algorithm strategy, however, those classes are simply placeholder for now.
The code for handling the Communication Change Set is a little fragile. There are places in the code where the order of initialization and execution is so crucial that slight changes can cause exception in areas of code we did not expect. This is a side effect of multiple things: unfamiliarity with executor / socket / multi-threading type programming, heroic programming, and unflexible deadlines.


{%extends "registration/base.html"%} {% load bootstrap4 %} {% block content %}
Don't have an account? Register here


Installation ∞
The easiest way to install polyglot is to use pip
:
pip install polyglot
Or you can clone the github repo and install from a local version of the code:
git clone git@github.com:thespacedoctor/polyglot.git
cd polyglot
python setup.py install
To upgrade to the latest version of polyglot use the command:
pip install polyglot --upgrade
Development ∞
If you want to tinker with the code, then install in development mode. This means you can modify the code from your cloned repo:
git clone git@github.com:thespacedoctor/polyglot.git
cd polyglot
python setup.py develop
Pull requests are welcomed!
Sublime Snippets ∞
If you use Sublime Text as your code editor, and you’re planning to develop your own python code with polyglot, you might find my Sublime Snippets useful.
Command-Line Usage ∞
Documentation for polyglot can be found here: http://pypolyglot.readthedocs.org/en/stable
Translate documents and webpages to various markup languages and document formats (html, epub, mobi ..)
Usage:
polyglot init
polyglot [-oc] (pdf|html|epub|mobi) <url> [<destinationFolder> -f <filename> -s <pathToSettingsFile>]
polyglot kindle <url> [-f <filename> -s <pathToSettingsFile>]
polyglot [-o] (epub|mobi) <docx> [<destinationFolder> -f <filename> -s <pathToSettingsFile>]
polyglot kindle <docx> [-f <filename> -s <pathToSettingsFile>]
polyglot [-o] kindleNB2MD <notebook> [<destinationFolder> -s <pathToSettingsFile>]
Options:
init setup the polyglot settings file for the first time
pdf print webpage to pdf
html parse and download webpage to a local HTML document
epub generate an epub format book from a webpage URL
kindle send webpage article straight to kindle
-h, --help show this help message
-v, --version show version
-o, --open open the document after creation
-c, --clean add polyglot's clean styling to the output document
<url> the url of the article's webpage
<docx> path to a DOCX file
-s <pathToSettingsFile>, --settings <pathToSettingsFile> path to alternative settings file (optional)
<destinationFolder> the folder to save the parsed PDF or HTML document to (optional)
-f <filename>, --filename <filename> the name of the file to save, otherwise use webpage title as filename (optional)
Documentation ∞
Documentation for polyglot is hosted by Read the Docs (last stable version and latest version).
Command-Line Tutorial ∞
Before you begin using polyglot you will need to populate some custom settings within the polyglot settings file.
To setup the default settings file at ~/.config/polyglot/polyglot.yaml
run the command:
polyglot init
This should create and open the settings file; follow the instructions in the file to populate the missing settings values (usually given an XXX
placeholder).
polyglot often relies on a bunch on other excellent tools to get it’s results like electron-pdf, pandoc and kidlegen. Depending on how you use polyglot, these tools may need to be install on your system.
To read the basic usage intructions just run polyglot -h
.
Webpage Article to HTML document ∞
To generate a parsed, cleaned local HTML document from a webpage at a given URL use polyglot’s html
command:
polyglot html https://en.wikipedia.org/wiki/Volkswagen
The filename for the output file is take from the webpage’s title and output in the current directory. Here’s the result.
To instead give both a destination output and a specified filename for the resulting document:
polyglot html https://en.wikipedia.org/wiki/Volkswagen ~/Desktop -f cars_and_stuff
To style the result with polyglots simple styling and easy to read fonts, use the -c
flag:
polyglot -c html https://en.wikipedia.org/wiki/Volkswagen -f Volkswagen_Styled
Webpage Article to PDF ∞
To instead print the webpage to PDF, you can either just print the original webpage:
polyglot pdf https://en.wikipedia.org/wiki/Volkswagen
with this result, or you can choose again to use polyglot’s styling:
polyglot -c pdf https://en.wikipedia.org/wiki/Volkswagen -f Volkswagen_Styled
Note if you are going to be running polyglot in a windowless environment, to generate the PDFs with electron-pdf <`https://github.com/fraserxu/electron-pdf
>`_ you will need to install xvfb. To install and setup do something similar to the following (depending on your flavour of OS):
sudo apt-get install xvfb
then in whatever bash scripts you write add this before any polyglot commands:
export DISPLAY=':99.0'
Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
Webpage Article to eBook ∞
To generate an epub book from a webpage article run the command:
polyglot epub http://www.thespacedoctor.co.uk/blog/2016/09/26/mysqlSucker-index.html
Here is the output of this command.
If you prefer a mobi output, use the command:
polyglot mobi http://www.thespacedoctor.co.uk/blog/2016/09/26/mysqlSucker-index.html
To get this mobi book.
Send a Webpage Article Straight to Your Kindle ∞
Polyglot can go even further than creating a mobi ebook from the web-article; it can also send the ebook straight to your kindle device or smart phone app (or both at the same time) as long as you have the email settings populated in the polyglot settings file.
polyglot kindle http://www.thespacedoctor.co.uk/blog/2016/09/26/mysqlSucker-index.html
And here’s the book appearing on a smart phone kindle app:
Converting Kindle Notebook HTML Exports to Markdown ∞
On the Kindle app for iOS you can export an HTML document of your notes and annotations via email.
The colors of the annotation convert to markdown with the following color-key:
“blue”: “code”, “yellow”: “text”, “orange”: “quote”, “pink”: “header”
Todo
- add a tutorial to convert kindle annotations


View the library of solutions.
The following findings have been updated based on tests done in December 2016. Find the test codepen page to do your own tests and review the table of screen-reader findings.
SVG is preferable for icons over background images/sprites because if PC is in High Contrast Mode, SVGs are still visible. Background images are not rendered.
SVGs can be scaled to their parent container (as long as you don't set width and height to SVG).
The SVG title and desc elements are currently still very problematic with most screen readers. Therefore I do not suggest using the svg title and desc elements for accessibility.
If we consider a nested image tag as the gold standard to be mimicked by the svg tag we should stay away from the svg desc or title tags. Use aria-label for the button and screen-reader-text for the link.
Nor do I suggest using role="img", assuming you want to mimic a nested image tag. Using role="presentation" gives a more consistent result.
Also, stay away from using aria-labeledby and aria-describedby. This causes repeating phrases.
Below are just some of the issues when using nested title and desc elements.
I suggest trying to match the screen-reader output of a button or link with a nested image element.
<button type="button" style="width: 50px; height: 50px;" aria-label="Reveal navigation">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="00 0 90 90" role="presentation" focusable="false">
<circle cx="45" cy="45" r="40" stroke="black" stroke-width="3" fill="red">
</svg>
</button>

search google
<svg xmlns="http://www.w3.org/2000/svg" viewBox="00 0 90 90" role="presentation" focusable="false">
<circle cx="45" cy="45" r="40" stroke="black" stroke-width="3" fill="blue">
</svg>


zpkg
Use programs from other Linux distributions
Install
$ curl -Lf https://github.com/ihucos/zpkg/releases/download/0.2.5/zpkg.zpkg | tar -xJf - -C ~/.local
What does zpkg do?
|
With zpkg you can install programs from other distributions into your system
|
$ zpkg add gimp --from alpine --apk gimp
|
zpkg will install programs to your home directory.
|
$ readlink ~/.local/bin/gimp
../lib/zpkg/gimp/gimp
|
|
You can upgrade zpkg packages. Upgrades are atomic for each package.
|
$ zpkg upgrade
|
|
It is possible to repackage added programs into standalone zpkg packages. These packages can be easily installed into other machines. The only system requirement is tar. Standalone zpkg packages may be managed (removed, upgraded) with zpkg.
|
$ zpkg package gimp /tmp/gimp.zpkg
Install package locally:
$ tar -xf /tmp/gimp.zpkg -C ~/.local
Install package globally:
$ tar -xf /tmp/gimp.zpkg -C /usr/local
|
What else should I know?
-
For package managers that need multi user support - like apt - you need newuidmap installed and /etc/subuid configured when running zpkg unprivileged (Done in Ubuntu).
-
Packages should never change files of it's base system.
More examples
$ zpkg ls
gimp
zpkg
$ zpkg freeze
zpkg add gimp --from alpine --apk gimp
zpkg add zpkg --from-github ihucos/zpkg
$ zpkg rm gimp
$ zpkg add --from ubuntu --apt gimp
$ zpkg --help
Usage
USAGE
zpkg [-g|-l] {add,flush,freeze,ls,package,rebuild,rm,upgrade} ...
SUBCOMMANDS
add [PKG] BUILD-ARGS builds and adds a package
flush flushes the build cache
freeze print package with build instruction
ls lists all installed packages
package PKG FILE creates a standalone package
rebuild PKG rebuild given package
rm PKG uninstalls the given package
unfreeze FREEZED-FILE apply frozen file
upgrade upgrades each package atomically
ARGUMENTS
--global, -g
affects the system globally
--local, -l
saves packages in cwd under ./zpkg
BUILD ARGUMENTS
--from, -f
choose a base image
--run, -x
run any shell (/bin/sh) command
--layer, -l
adds a layer for build caching
--from-github
build according to instructions at GitHub project
--add-apt-repository, --apt, --apk, --apt, --dnf, --emerge, --npm,
--pacman, --pip, --pip3, --yum
Invokes the given tool with it's primary action
-A same as `--from alpine:edge --apk`
-C same as `--from centos:8 --yum`
-D same as `--from debian:sid --apt`
-F same as `--from fedora:32 --dnf`
-G same as `--from gentoo:current --emerge`
-R same as `--from archlinux:current --pacman`
-U same as `--from ubuntu:focal --apt`
EXAMPLE
zpkg add xeyes -U x11-apps
zpkg add -A gimp
zpkg add -A py3-pip --pip3 yapf
zpkg rm yapf
FAQ
How stable is zpkg?
Alpha.
How is zpkg licensed?
zpkg and
plash are under the MIT licence.
What else can I do with zpkg?
-
Quickly use applications from other Linux distributions.
-
Install applications without root.
-
Distribute applications with zpkg package. This is by the way how zpkg is distributed.
-
Deploy web applications or services with zpkg package.
-
Have distribution independent applications in your home folder or a usb stick.
Does zpkg run on Windows/MacOS/BSD?
zpkg requires a Linux kernel. Running on another host operating system is only possible with it's eventual Linux compability mechanisms.
What applications work with zpkg?
Everything except System Programs. As an example: Bash, synaptic, apt, and gnome-tweak-tool may not work as desired. LibreOffice, Firefox, Gimp and pylint are fully supported.
Which build commands are supported?
All of
plash's build commands are supported when adding packages.
What happens if a package changes files of its base image?
This would also affect other packages with the same base image. If that ever happens you need to remove the bad package (zpkg rm badpkg) and upgrade (zpkg upgrade).
How do I keep zpkg updated?
Since zpkg is packaged with zpkg, running zpkg upgrade will upgrade it.
Can I contribute?
Thank you
If you like zpkg,
star it on GitHub. Help others by
reporting any issue. Feel free to
contact me directly for anything.


TBitmap32Item is a simple descendant of standard TCollectionItem, specialized for storing bitmaps.
[See Also]


{% extends "base.html" %} {% block title %}Charles County{% endblock %} {% block content %}
Charles County is the tenth largest county or county-equivalent in the State of Maryland based on the 2014 registration data.
Charles is an average county. Some of the density at polling places and strain on the poll workers could be due to the higher than state average turnout of its voters.


Home Page
Welcome, please use the navigation section on the left hand side of the screen to navigate through the pages. We, here at Vida's International Sweetshop, sell nothing but the finest quality sweets for all you sugar lovers out there!
Here you can get a feel for what the site has to offer!
Chocolates Jellies Cookies Cakes Ice Cream Boiled Sweets Biscuits
As shown in the adjacent video,
all our sweets and candies are professionally handmade.
Vida's international sweetshop is dedicated to filling every little boy or girl with joy. Oh! And ofcorse we couldnt forget the candy loving adults out there! Thats why all the sweets here vida's international sweetshop are specifically made in a way that caters to adults and children of all ages.


6174 is a remarkable number; if we sort its digits in increasing order
and subtract that number from the number you get when you sort the
digits in decreasing order, we get 7641-1467=6174.
Even more remarkable is that if we start from any 4 digit number and
repeat this process of sorting and subtracting, we'll eventually end up
with 6174 or immediately with 0 if all digits are equal.
This also works with numbers that have less than 4 digits if we pad the number with leading zeroes until we have 4 digits.
E.g. let's start with the number 0837:
8730-0378=8352
8532-2358=6174
6174 is called the Kaprekar constant. The process of sorting and subtracting and repeating this until either 0 or the Kaprekar constant is reached is called the Kaprekar routine.
We can consider the Kaprekar routine for other bases and number of digits.
Unfortunately, it is not guaranteed a Kaprekar constant exists in all
cases; either the routine can end up in a cycle for some input numbers
or the constant the routine arrives at can be different for different
input numbers.
However, it can be shown that for 5 digits and a base b = 6t+39, a Kaprekar constant exists.
E.g. base 15: (10,4,14,9,5)15
base 21: (14,6,20,13,7)21
Define Cb to be the Kaprekar constant in base b for 5 digits. Define the function sb(i) to be
Define S(b) as the sum of sb(i) for 0 i b5.
E.g. S(15) = 5274369
S(111) =<PHONE_NUMBER>99
Find the sum of S(6k+3) for 2 k 300.
Give the last 18 digits as your answer.


{% extends 'base.html' %} {% block title %}Sign Up{% endblock %} {% block sign %}
Create Your Account
Please correct the errors below.
Enter username: {{ form.username }}
Enter password: {{ form.password1 }}
Password again: {{ form.password2 }}