Engaging Computer Art: What is found there?
Engaging Computer Art: What is found there?
Engaging Computer Art: What is found there?
Engaging Computer Art: What is found there?
Engaging Computer Art: What is found there?
Hi, Thanks for having me today, it's a great honor and a pleasure to be here. My talk is called Engaging Computer Art: What
is found there?
We have a great team at SFMoMA called team media composed of conservation, collections, curatorial, installation and more.
I proposed a code migration of Ruby and through critical dialog and the question was raised why not emulation?
We are working on plan to evaluate both starting soon, and of course we will be working closely with
the artist. Stay tuned!
Selected works from SFMoMA
Selected works from SFMoMA's collection
Selected works from SFMoMA's collection
Selected works from SFMoMA's collection
Selected works from SFMoMA's collection
I'd like to share some projects I've been working on at SFMoMA. These 3 works that span the collections of Media Art, Architecture
and design.
Susan Kare And Her Macintosh Icons
Susan Kare is a prolific influential artist and graphic designer who created many of the interface elements and icons for
the Apple Macintosh in the 1980s. Such as the Happy Mac.
And the trashcan icon which you may have encountered.
She also designed the solitaire interface for MS windows.
In 2015 She made a joint gift of her sketchbooks to 2 museums SFMoMA and MoMA.
In addition to the sketch books was a box of 300 floppy disks.
We got super excited about this but also knew that were going to be some barriers to access. 3-1/4 floppies are obsolete
media. The filesystems on these disks might not be readable anymore and we might not have the original
programs they were created with.
KryoFlux is a hardware and software solution for preserving software on floppy disks. It was developed by
the Software Preservation Society.
KryoFlux is a hardware and software solution for preserving software on floppy disks. It was developed by the Software Preservation
Society. Classic Amiga Preservation Society (CAPS), dedicates itself to the preservation of software
for the future, namely classic games.
This is the kryoflux software interface for reading the disks. It helps detect read errors, corruption and failitated makind
an image of the disk
So a good percentage of these files opened fine on a modern operating system and we could read the files.
But some did not like this one.
At first we assumed that these disks were corrupt. But my colleague at MoMA, Ben Fino Radin tried opening them in MinivMAC
a macintosh 128k emulator and they opened! It turns out they were formatted in the MFS file system which
Apple dropped support for in OS8
Next we found that a number of the files were created ina a program called Studio8 by Electronic Arts. We scoured the web
looking for the software but only found this reference in an old computer magazine.
Evetually we found Studio8 in one of the disk images, but it constantly crashed.
Eventually we tried opening the files in Photoshop 1.0 and that worked fine!
We also started discovering may of them were in color.
We also started discovering may of them were in color.
So at this point we had tackled a number of barriers. The question now was how to give easy access to the curators in a standardized
way across institutions. So we built a linux based server together that ran the emulator in a web-browser.
Each institution worked with IT to deploy this server on their local network. The curators simply had
to go to a url, login and load the files in photoshop 1. We did write a manual on the basics of photoshop
1. We also had a standard numbering system for the disk images indexed in a spreadsheet so that notes
could be compared across institutions.
Much like we have Team Media for Media Art we also have Team AD. And held a study day in the Museums mock up galleries.
Some of the topics that arise here are the modalities of display. In this session we considered among many things on how
the icons should be presented. There is an original Mac 128k that is an exhibtion copy and an emulator
running on a Raspberry Pi for example
Greg Lynn, Scale model for RV Prototype 2012
GREG LYNN was an innovator in redefining the medium of design with digital technology as well as pioneering the fabrication
and manufacture of complex functional and ergonomic forms using CNC machinery. The buildings, projects,
publications, teachings and writings associated with his office have been influential in the acceptance
and use of advanced materials and technologies for design and fabrication. For Biennale Interieur 2012 he created a prototype for a motorised compact-living cocoon that rotates
to provide space for relaxing, sleeping and bathing This brings a new layer of enthusiasm and
activity to the typical home, similar to that of an exercise machine or hamster ball. the living environment
responds to its surrounding landscape so that it is optimized to the weather, daylight and temperature
through its rotational actions. taking influence from the inner hull of a boat, the bespoke dwelling
proposes a new typology which was once sedentary, into one based on movement and interaction.
RV Prototype House is a 1/5th scale model of a house that increases living space by rotating in two axes on a robotic base.
In addition to a floor in one orientation, one wall and the ceiling surface can be rotated as new floors.
150m of living surface is realized within a 60m footprint. Made of a lightweight cored carbon fiber fabric
the entire shell weighs less than 50 kilos allowing it to rotate freely.
The RV prototype came as a 1/5 scale model and a 1/20 scale model. The clip we just watched was the 1/5 scale model and this
is an image of the 1/20 scale model which was acquired by SFMoMA in 2015. The
work had been on display through Oct, Additionally a potential upcoming loan requst was made. As we had
a period after de-installation to spend time with it SFMoMA's media conservator Martina Haidvogl coordinated
an extensive documentation session with Sean Boyd from Lynn's studio and myself to document it's electronic
and mechanical operation.
The shell was constructed of a carbon fiber shell that had been cast in a CNC'd mold. In the interior was furniture that
was 3d-printed and was gimballed so that it was always in balance with the rotation of the house.
The shell sits on top of a fiberglass base that contains gearing, timing belts and 2 NEMA 23 stepper motors tht control the
pan and tilt.
Stepper motors are DC motors that move in discrete steps. They have multiple coils that are organized in groups called "phases".
By energizing each phase in sequence, the motor will rotate, one step at a time. With a computer controlled
stepping you can achieve very precise positioning and/or speed control.
This is the stepper driver an ST5-Q-EN, there were 2 of these one for each motor. It has a cpu, network connectivity and
memory to store 744 commands along with a lot of other functionality.
Sequence 1 tilt
LABEL1
VE 0.1167 // Velocity set to 0.1167 (m/s?).
SP 0 // Set Absolute Position to 0 (=Zero Position).
FP -73000 // Feed to Position, move to position -73000.
//This tilts the shell 90 degrees in one direction (from it's starting point).
WT 3.00 // Wait for 3 seconds.
FP 0 // Feed to Position, move to position 0.
//This tilts the shell back up to the zero position.
WT 3.00 // Wait for 3 seconds.
FP 73000 // Feed to Position, move to position 73000.
//This tilts the shell 90 degrees in the other direction (from it's starting point).
WT 3.00 // Wait for 3 seconds.
FP 0 // Feed to Position, move to position 0.
//This tilts the shell back up to the zero position.
WT 3.00 // Wait for 3 seconds.
QG #LABEL1 // Queue Goto, loops the sequence from LABEL1.
There are number of demo programs loaded onto the controllers here is ond of the basic tilt programs written by Lynn's studio
which was commented by conservator Martina Haidvogl.
In addition a tablet app was developed using an application called TouchOSC which allows for manual control over a wireless
network at the table has no ethernet. It can also put send the back into demo mode.
OSC stands for Open Sound Control, It was developed and the Center for New Music and Technology at U.C. Berkeley. It is a
fast networked data protocol and it was wonderful to see it used here. The tablet app would send OSC
data to a client written in an language called python on a laptop included with the work which wouls
the pass the command onto the stepper motor driversIt's also interesting me to consider the documentation
of the protocols of that are used in these systems in addition to the code and components because it
is how the system communicates.
Lynn Hershman Leeson, Agent Ruby 1999
The first is Agent Ruby by Lynn Hershman Leeson, which I've been working on since 2009, In 2001–2 SFMOMA commissioned Agent
Ruby (agentruby.sfmoma.org) by acclaimed San Francisco artist Lynn Hershman Leeson for its pioneering
online platform e.space.An artificial intelligent web avatar that is shaped by and reflective of
encounters and adventures that it has with users.
Agent Ruby was conceived as an “e-dream portal,” a new experience in expanded cinema originating from the character Ruby
(played by Tilda Swinton) in Hershman Leeson’s 2002 feature film Teknolust.
Ruby technical diagram
I wasked asked by the museum to help with conservation and care efforts for Ruby and we began with process of documentation.In
documenting ruby we found a complex system of components communicating with each other. There were
two servers running one that served the public facing interface, and another that facilitated the
dialog between the user and an AI interpreter.
There was the public facing interface, that was created in Macromedia flash at the time(now Adobe)
And the there was the brain or personality which consisted of over 22,000 entries written Artifical Intelligence Markup Language
or AIML
The XML dialect called AIML was developed by Dr Richard Wallace and a worldwide free software community. AIML formed the
basis for what was a bot called "A.L.I.C.E.." ("Artificial Linguistic Internet Computer Entity"),
which won the annual Loebner Prize Competition in Artificial Intelligence three times. It was in
this language that you could craft an AI bot in and that is what rubys personality was created in.
In addition to a set of AIML a program to interpret it was needed. In Ruby case is was a program called Program D. This program
took the users input matched againsta patterns in the AIML and returned a response.
And there was also the the orginal hardware(the biege PC on the left) which had been running continously on the internet
for 8 or so years. And so in 2009 after documenting the work. The hardware was identified as one
of the biggest risks of failure. So our focus at that time was to migrate the software to a system
known as as a virtual server.
During that process we found some intersting artifacts such as an alternate interface which more resembled the one in the
film teknolust. Also there was 3d model and snippet of unused code that hinted at a animated 3d avatar,
which can be seen in some of Lynn's later works like DiNA
And there there was the 8 gigabyte log file of all the converstations that Ruby had ever had with visitors. While these components
were excited they were not considered essentail to the artwork at the time.
So Ruby beacame stabilized, we successfully migrated the software away from the aging hardware secured the server and whe
was running fine.We even presented the work here at the DOCAM summit in 2010. And then in 2013 Rudolf
Frieling curator of Media arts at SFMoMA wanted to display Ruby. He was quite interested in the log
files and wanted me to print them out.
"That's like 8 truckloads of paper I said, I don't know if that is going to fly in ecological San Francisco. So we ended
up writing python scripts to mine conversations based on topics designeted by the curator like 'science
fiction and feminism. It was then shown as the Agent Ruby files in 2013. It has been shown this way
ever since including at Lynn's Retrospective at ZKM in 2014"
In 2009 we also called out vulnerabilities in Java and Flash
This December, Chrome 55 will make HTML5 the default experience, except for sites which only support
Flash. For those, you’ll be prompted to enable Flash
Google annouced it will start phasing
when you first visit the site.
Teaching
Teaching
Teaching
Teaching
Teaching
Thank You!
Thank You!
Thank You!
Thank You!
Thank You!


The throw
statement throws a user-defined exception. Execution of the current function will stop (the statements after throw
won't be executed), and control will be passed to the first catch
block in the call stack. If no catch
block exists among caller functions, the program will terminate.
throw expression;
expression
Use the throw
statement to throw an exception. When you throw an exception, expression
specifies the value of the exception.
You can specify an object when you throw an exception. You can then reference the object's properties in the catch
block. The following example creates an object myUserException
of type UserException
and uses it in a throw
statement.
function UserException(message) { this.message = message; this.name = "UserException"; } function getMonthName(mo) { mo = mo-1; // Adjust month number for array index (1=Jan, 12=Dec) var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; if (months[mo] !== undefined) { return months[mo]; } else { throw new UserException("InvalidMonthNo"); } } try { // statements to try var myMonth = 15; // 15 is out of bound to raise the exception monthName = getMonthName(myMonth); } catch (e) { monthName = "unknown"; logMyErrors(e.message, e.name); // pass exception object to err handler }
The following example tests an input string for a U.S. zip code. If the zip code uses an invalid format, the throw statement throws an exception by creating an object of type ZipCodeFormatException
.
/* * Creates a ZipCode object. * * Accepted formats for a zip code are: * 12345 * 12345-6789 * 123456789 * 12345 6789 * * If the argument passed to the ZipCode constructor does not * conform to one of these patterns, an exception is thrown. */ function ZipCode(zip) { zip = new String(zip); pattern = /[0-9]{5}([- ]?[0-9]{4})?/; if (pattern.test(zip)) { // zip code value will be the first match in the string this.value = zip.match(pattern)[0]; this.valueOf = function() { return this.value }; this.toString = function() { return String(this.value) }; } else { throw new ZipCodeFormatException(zip); } } function ZipCodeFormatException(value) { this.value = value; this.message = "does not conform to the expected format for a zip code"; this.toString = function() { return this.value + this.message; }; } /* * This could be in a script that validates address data * for US addresses. */ const ZIPCODE_INVALID = -1; const ZIPCODE_UNKNOWN_ERROR = -2; function verifyZipCode(z) { try { z = new ZipCode(z); } catch (e) { if (e instanceof ZipCodeFormatException) { return ZIPCODE_INVALID; } else { return ZIPCODE_UNKNOWN_ERROR; } } return z; } a = verifyZipCode(95060); // returns 95060 b = verifyZipCode(9560); // returns -1 c = verifyZipCode("a"); // returns -1 d = verifyZipCode("95060"); // returns 95060 e = verifyZipCode("95060 1234"); // returns 95060 1234
You can use throw
to rethrow an exception after you catch it. The following example catches an exception with a numeric value and rethrows it if the value is over 50. The rethrown exception propagates up to the enclosing function or to the top level so that the user sees it.
try { throw n; // throws an exception with a numeric value } catch (e) { if (e <= 50) { // statements to handle exceptions 1-50 } else { // cannot handle this exception, so rethrow throw e; } }
Created by Mozilla Contributors, license: CC-BY-SA 2.5


Carnation bouquet
No.M001
Come to buy a bouquets for your lovely mom
No.M001
No.M002
No.M003
No.M004
No.M005
No.M006
No.M007
No.M008
No.M009
No.M010
No.M011
No.M012
The most popular Mother’s Day flowers are carnation, hydrangeas, roses, orchids, tulips, daisies, gardenias, lilies & sunflowers. Show mom you care with her favorite flowers for Mother's Day—make a Mother's Day flower delivery with flowers she really wants!
Unique and breathtaking floral arrangements and Mother's Day bouquets will brighten up her home or office with beauty and an amazing fragrance. You can send mom flowers in her favorite color or simply select an assortment that will brighten her day. Gorgeous glass vases or decorative and unique Mother's Day keepsake gifts will complete this Mother's Day gift and make it something special she can call her very own and cherish for years to come.
After confirming the amount of money and other precautions with the clerk,
please complete the transfer/transfer procedure.
Afterwards, please provide the last 5 yards to the clerk,
after the clerk make sure the amount of the transfer/transfer is correct,
and the order is completed.


--- layout: headersmall title: About Us ---
We are a team of super dedicated volunteers who wish to collect a substantial amount to help migrant workers and other people suffering due to Corona. For every single write up/ post we get, the artist donates a small token amount which we collect and donate towards philanthropic initiatives for these people.
Greetings from The Book Project team!
We are a team of super dedicated volunteers who wish to collect a substantial amount to help migrant workers and other people suffering due to Corona. We wish to start with donating to the cyclone relief teams in Bengal at this point. Along with that, we wish to help give wings to budding artists, writers etc and get an e-book published towards the end of the year. We bring to you a team of writers, poets, editors, artists and content curators.
For every single write up/ post we get, the artist donates a small token amount which we collect and donate to an NGO working for these people. 80% of the amount will go towards philanthropic initiatives and the remaining 20% will be to cover our expenses. We are also keeping the option open to others who wish to donate through us and support our cause.
She's a typical Dilli wali bacchhi. She can talk about momos forever. A Poet by the day and a Memer by the night, Taarini is found obsessing over jhumkas and novels. She'll stop you mid sentence to tell you that there's a dog near by. She's an intangible mess who's fluent in French and spends her time writing and has recently picked up sketching and manages kala._.kriti. She also spent her summer working with Syrian Refugees during her exchange year in France.
She's an introvert who is mostly found buried in books and music all the time. Talks about her obsession with tortoise and hatered towards cats. She listens to Tame Impala and The 1975 and will send you an amazing playlist for all your moods.
A Political Science kid, who loves to code and debate about the government and how things should be working. He's also the CEO and Founder of an online mag Global Views 360 and consults a lot of startups to develop their brand. He has recently developed lots of curiosity towards gender studies and intersectional feminism. He has also developed an Android game — Cubic Craze — that entered the top 100 new casual games list.
Usually found in bookstores, the Delhi Metro and vintage cafes or feeding dogs in the middle of the street. A law student who loves writing, Saharsh has interned with various law firms as well. A mental health advocate who loves to talk about politics and has been in a lot of debating societies. He has an absolutely beautiful taste in music and knows the best places to eat momos at. He loves reading and will spring you up with a lot of random facts that he believes that you should know.
We are looking for your support by providing us work with a small token amount that you would wish to donate.
Submit your work


WELCOME, USER Last Login: 1 hour ago
You have 5 new sales requests
My Projects
Social Interaction on the Internet with respect to time
Social Sciences
N2500
Social Interaction on the Internet with respect to time
Social Sciences
N2500
Social Interaction on the Internet with respect to time
Social Sciences
N2500
Social Interaction on the Internet with respect to time
Social Sciences
N2500
Social Interaction on the Internet with respect to time
Social Sciences
N2500
Social Interaction on the Internet with respect to time
Social Sciences
N2500
My Reports
Social Interaction on the Internet with respect to time
Social Sciences
N2500
Social Interaction on the Internet with respect to time
Social Sciences
N2500
Social Interaction on the Internet with respect to time
Social Sciences
N2500
Social Interaction on the Internet with respect to time
Social Sciences
N2500
Social Interaction on the Internet with respect to time
Social Sciences
N2500
Social Interaction on the Internet with respect to time
Social Sciences
N2500
My Books


- Mitsy
- Yeller
- Fido
- Buddy
- Whiskers
- Bucky
- Copper
- Cujo
Meet Your New pet!
Click on a pet's name to learn more about them!
Need a pet? These pets need you!
View our adoptable pals below, or take a look at our success stories!
Click on a pet's name to learn more about them!
Thank you, ! We have very high standards, so it may take a bit for us to review all hopeful pet parents. We will get back to you soon!


Update Expansion
Expansion Id:
Name:
Portuguese Name:
Link Name:
Code:
Launch Date:
Expansion Category:
Promo:
Legal:
Submit


Biography
- My name is Nisreen Issa
- I have bachelor degree in Department of Information Technology (business Information Technology ) from the University of Jordan with a GPA of 2.97/4.0
- I am highly motivated to learn and experience new things, as I majored in “Business Information Technology ” and was enrolled in many IT courses and some Business courses.
- I would like to get new experience in how to use the computer and the web in business fields, also I’m highly interested to learn more about pure business
- I worked with Aramex as a VIP customer service agent
My favourite movies
- The host
- The hloiday
- The last holiday
- me before you
- Bird box
- Titanic
- Sporated away
- The devil wears prada
- Screem
- Black Panther


---
layout: docs
name: people
fullName: CCore People
published: true
subHeading1: Information about the people and groups of IU IT
subHeading2:
lead:
shortContent: Log into People to view information for IT professionals, or, for authorized users, manage organizational content; read the API documentation to access People content.
ctaText:
ctaURL:
logoURL: "/assets/images/hero-people.svg"
logoAltText:
startURL: https://itpeople.apps.iu.edu/
startText: Log into People
docsURL: https://developers.iu.edu/resources/it-people-api/
docsText: Read the People API
moreURL: "/documentation/people"
moreText: Or, learn about People
sortOrder: #
---
{% comment %}
Copyright (C) 2019 The Trustees of Indiana University
SPDX-License-Identifier: BSD-3-Clause
{% endcomment %}
CCore People is a directory of people and teams doing and supporting information technology work at Indiana University. You can search for units and people by name, or browse all units and their membership.


Hello {{ user.get_name() }},
Please click on the provided link to verify your email for accessing the RediDropper application. VERIFY EMAIL
Regards,
The RediDropper support team.


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @(params: Map[String, Any]) @uk.gov.hmrc.hmrcemailrenderer.templates.helpers.html.template_main(params, "How we will send you online tax letters") { @uk.gov.hmrc.hmrcemailrenderer.templates.helpers.html.salutation(params)
Now you have signed up to online tax letters, we wanted to tell you more.
Whenever you have a new online tax letter, we will email to let you know.
You will find all these saved together in one place. You can read them on any device, download and share them. You can also print them at any time, so you have a paper copy if you ever need one. To read your tax letters, sign in to your HMRC account and select ‘Messages’.
You can also use HMRC’s free mobile app to read your tax letters. Search for ‘HMRC app’ to download it.
This service is still growing, so at the moment we only send some tax letters online. Over time, we will be able to send most tax letters by message and email, though some will always need to come by post.
You can get a variety of tax letters online, such as if you owe tax or are due a refund (P800, PA302) or if you have a Self Assessment notice to file (an SA316 notice).
If an email notification does not reach you and is returned to us, we’ll send the letter by post. This means you will never miss a tax letter.
We will never send private or sensitive information by email.
You can change the email address you use to get tax letters, and you can also choose to go back to getting all tax letters by post. Just go to ‘Check your settings’.
HMRC digital team
}


Number of Households by Income Range
.
This presentation is showing the roughly what percent of America makes so much money a year.
.
.
.
Average Income by Race
.
This chart presents the statistics of the average salary of a person of a certain race.
.
.
.


THE PUPPETOON MOVIE A film review by eli!oz Copyright 1987 eli!oz
OZ: Hi dear, it's OZ. Would you like to see a movie tonight? DEAR: Love to. What are we going to see? OZ: The Puppetoon movie, it's playing at the Biograph. DEAR: The Puppetoon Movie? OZ: Yeah. It's annimation done with puppets. Remember, we saw the previews for it when we went to the Claymation Festival. DEAR: I just remembered it's my turn to simonize the cat, sorry.
These are the sacrifices that I make to see new animation. Well, I guess you can't call George Pal's Puppetoons "new" animation, but I had never seen them before so they were new to me. I wasn't sure what to expect even after seeing the previews but am I glad that I went.
Puppetoons were a form of animation where George Pal took various puppets and moved them, carved new ones, and otherwise manipulated them in the annimation process. There is a fluid movement to his Puppetoons which was particularly fun to watch, especially during his dance sequences. As with most of the early animation these seem to revolve around presenting popular music of the day. The clips shown in the movie come primarily from the 1930's and 1940's.
The movie starts with Gumby and friends (take me now, Lord) talking about George Pal.
Most of the clips shown are just that, clips that are thrown together. I found that to be a little disconcerting, but I imagine that they wanted to show us as much as possible. There are a few Puppetoons shown in their entirety and they are gems. "Tulips Shall Grow," "In Stormy Weather" and especially "Tubby the Tuba" are excellent stories, well-animated and just a joy to watch. The movie got me interested in finding out more about Puppetoons.
Overall I can't wholeheartedly recommend the movie. The clips get tiresome to watch and there is no connection between the different Puppetoons shown. Still, if you would like to learn about another form of animation and see some wonderful 'toons, go see this movie when it comes to your town.
OZ seismo!sundc!eli!oz
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


Experimental features should be enabled with caution. Many such features may be implementation specific and not ratified for the BOLT spec. Enabling these may still result in a broken experience. Referencing relevant feature documentation is highly advised before enabling.


clementine
A modern music player and library organizer.
More information: home page
- Open Clementine:
clementine
- Start playing a music file:
clementine url/or/path/to/file.ext
- Toggle between pausing and playing:
clementine --play-pause
- Stop playback:
clementine --stop
- Skip to the next track:
clementine --next
- Skip to the previous track:
clementine --previous
- Load a playlist file:
clementine --load path/to/playlist.ext
- Play the 5th track in the currently loaded playlist:
clementine --play-track 5


The Label Content should be formated as string. The following keywords will be replaced by Metadata if available: {value},{deviceID},{PointTag},{deviceName} The additional layer links can include the following variables: {latestTS}, {oldestTS}


---
layout: post
title: "Who's Funding Learn-to-Code Startups?"
date: 2016-12-10 08:35:00 +0000
tags:
image: https://s3.amazonaws.com/hackedu/2016-12-10-pigeon.jpg
imagecredits: https://www.flickr.com/photos/svintus2010/4685936092
---
This article helps provide funding data for part 5 and part 6 of my annual review of the year in ed-tech
The following “learn to code” startups raised funding this year:
- Galvanize ($45,000,000): Investors include ABS Capital Partners, Colorado Impact Fund, Haystack Partners, Greg Maffei, Aspen Grove Capital, and University Ventures
- Codecademy ($30,000,000): Investors include Naspers, Flybridge Capital Partners, Index Ventures, Richard Branson, and Union Square Ventures
- Andela ($24,000,000): Investors include Chan Zuckerberg Initiative, CRE Venture Capital, Learn Capital, Omidyar Network, Google Ventures, and Spark Capital
- Revature ($20,000,000): Investors include University Ventures, Eden Capital, and USA Funds
- Wonder Workshop ($20,000,000): Investors include WI Harper Group, Idea Bulb Ventures, Learn Capital, Charles River Ventures, Madrona Venture Group, and TCL
- Tynker ($7,100,000): Investors include Cervin Ventures, Felicis Ventures, New Ground Ventures, Reach Capital, Relay Ventures, GSV Capital, NEA, John Katzman, and Deborah Quazzo
- ZyBooks ($4,000,000): Investors include Bialla Venture Partners
- CareerFoundry ($5,000,000): Investors include Tengelmann Ventures, Bauer Venture Partners, and IBB Beteiligungsgesellschaft
- SAM Labs ($4,500,000): Investors include Imperial Ventures
- Pi-top ($4,300,000): Investors include Hambro Perks and Committed Capital
- CodeSpark ($4,100,000): Investors include Kapor Capital, Felton Group, Idealab, NewGen Capital, PGA Venture Partners, and Umang Gupta
- Byte Academy ($2,670,000): Investors include Tri5 Ventures
- Piper ($2,100,000): Investors include Princeton University, Reach Capital, 500 Startups, Founders XFund, Jaan Tallinn, and Jay Silver
- CodeCombat ($2,000,000): Investors include Third Kind Venture Capital, Andreessen Horowitz, and Allen & Company
- Code Kingdom ($1,400,000): Investors include Initial Capital, SparkLabs Global, Charles Mindenhall, and Manoj Badale
- SoloLearn ($1,200,000): Investors include Learn Capital
- Code Institute ($556,000): Investors include Kernel Capital and Enterprise Ireland
- SP Robotic Works ($300,000): Investors include Indian Angel Network and the Chennai Angels
- iAugmentor ($149,000): Investors include Rajasthan Angel Investor Network
Do note that University Ventures, which has consistently hyped coding bootcamps in Edsurge and in Techcrunch, has invested in a couple of these.
The following coding bootcamps were acquired this year:
- Strayer Education acquired New York Code and Design Academy
- Full Stack Academy acquired Starter League
- Capella Education acquired Hackbright Academy and Dev Mountain
- General Assembly acquired Bitmaker
- Bloc acquired DevBridge
Note the interest by for-profits – Capella and Strayer – in buying these bootcamp startups. (Kaplan and the University of Phoenix have acquired bootcamps in previous years.)


public static class FilestackPicker.Builder
extends java.lang.Object
| Constructor and Description |
|---|
Builder() |
| Modifier and Type | Method and Description |
|---|---|
FilestackPicker.Builder |
autoUploadEnabled(boolean autoUpload)
Enables automatic upload for selected files.
|
FilestackPicker |
build()
Creates a new FilePicker instance that one can use to spawn file pickers.
|
FilestackPicker.Builder |
config(com.filestack.Config config)
Sets configuration object containing all of your account info (api key, policy).
|
FilestackPicker.Builder |
displayVersionInformation(boolean displayVersionInfomation)
Sets whether version information should be displayed in picker's menu.
|
FilestackPicker.Builder |
mimeTypes(java.util.List<java.lang.String> mimeTypes)
Restricts the types of files that can be uploaded.
|
FilestackPicker.Builder |
multipleFilesSelectionEnabled(boolean allowMultipleFiles)
Settings this value to false restricts the selection to only one file.
|
FilestackPicker.Builder |
sources(java.util.List<java.lang.String> sources)
Sets sources available in a picker.
|
FilestackPicker.Builder |
storageOptions(com.filestack.StorageOptions storageOptions)
Storage options for uploaded files.
|
FilestackPicker.Builder |
theme(Theme theme)
Sets the picker theme (title and colors).
|
public FilestackPicker.Builder config(com.filestack.Config config)
config
- - configuration instancepublic FilestackPicker.Builder storageOptions(com.filestack.StorageOptions storageOptions)
public FilestackPicker.Builder autoUploadEnabled(boolean autoUpload)
autoUpload
- - whether selected files should be automatically uploadedpublic FilestackPicker.Builder sources(java.util.List<java.lang.String> sources)
Sources
.
The sources will appear in the order you add them to the list.
Defaults to Camera, Device, Google Drive, Facebook, Instagram, and Dropboxsources
- - lists of sources available in a pickerpublic FilestackPicker.Builder mimeTypes(java.util.List<java.lang.String> mimeTypes)
public FilestackPicker.Builder multipleFilesSelectionEnabled(boolean allowMultipleFiles)
allowMultipleFiles
- - whether multiple file selection should be allowedpublic FilestackPicker.Builder displayVersionInformation(boolean displayVersionInfomation)
displayVersionInfomation
- - display version information in picker's menupublic FilestackPicker.Builder theme(Theme theme)
Theme.Builder
for more info.
Defaults to pre-assigned values.theme
- - picker's theming objectpublic FilestackPicker build()


Career Profile
| AGE | : | 27 years old |
| DATE OF BIRTH | : | January 8, 1989 |
| BIRTH PLACE | : | Sto. Nino, Balintong, Central, City of Mati |
| CIVIL STATUS | : | Single |
| RELIGION | : | Roman Catholic |
| GENDER | : | Male |
| HEIGHT | : | 5.5 feet |
| WEIGHT | : | 60 Kilograms |
| OCCUPATION | : | Retired Police |
| MOTHER | : | Virginia G. Palmiano |
| OCCUPATION | : | House Wife |
| LANGUAGES | : | English and Filipino |
| SKILLS | : | Good in Communication Skills, Web Designing, 3d Blender, Database Design, Graphics Design, Adobe Flash Works and Designs, Photoshop Efficient and Visual Arts, and Social Networking SEO, Virtual Assistant |


Match Play. 0-0 to 5. How should Red play 61?
pips Red=140 White=145
(CorrectAnswer= 0/0, ErrorScore= 0)
This is another close one. Red must make his bar so the choice is between 22/21, 13/7, preparing to escape the rear checkers, and 15/9, 8/7, concentrating on offence.
13/12, 13/7 is a bad error because it is neither fish nor fowl.
22/21, 13/7 wins the rollout by 18 milli-points so basically either of the two main plays are fine.
13/12, 13/7 is a bad error because it is neither fish nor fowl.
22/21, 13/7 wins the rollout by 18 milli-points so basically either of the two main plays are fine.
1. Cubeful 2-ply 22/21 13/7 Eq.: +0.484 0.585 0.216 0.013 - 0.415 0.133 0.010 2. Cubeful 2-ply 15/9 8/7 Eq.: +0.453 (-0.030) 0.572 0.202 0.008 - 0.428 0.106 0.004 3. Cubeful 2-ply 22/15 Eq.: +0.432 (-0.052) 0.573 0.193 0.010 - 0.427 0.141 0.006 4. Cubeful 2-ply 13/12 13/7 Eq.: +0.420 (-0.063) 0.563 0.201 0.009 - 0.437 0.109 0.004 5. Cubeful 2-ply 22/16 8/7 Eq.: +0.397 (-0.087) 0.565 0.195 0.011 - 0.435 0.158 0.010


"""Collection of constants and enums used by CTAP messaging.
Field and parameters names can be obtained by accessing the
appropriate enum fields.
Enums:
* :class:`CTAPHID_ERROR`
* :class:`CTAPHID_KEEPALIVE_STATUS`
* :class:`CMD_TYPE`
* :class:`CTAP_CMD`
* :class:`CTAP_STATUS_CODE`
* :class:`AUTHN_PUBLIC_KEY_CREDENTIAL_USER_ENTITY`
* :class:`AUTHN_PUBLIC_KEY_CREDENTIAL_RP_ENTITY`
* :class:`AUTHN_GETINFO_PARAMETER`
* :class:`AUTHN_PUBLIC_KEY_CREDENTIAL_SOURCE`
* :class:`AUTHN_GETINFO_PIN_UV_PROTOCOL`
* :class:`AUTHN_GETINFO_TRANSPORT`
* :class:`AUTHN_GETINFO_VERSION`
* :class:`AUTHN_PUBLIC_KEY_CREDENTIAL_DESCRIPTOR`
* :class:`AUTHN_GETINFO`
* :class:`AUTHN_GET_CLIENT_PIN_RESP`
* :class:`AUTHN_MAKE_CREDENTIAL`
* :class:`AUTHN_GET_CLIENT_PIN`
* :class:`AUTHN_GET_CLIENT_PIN_SUBCMD`
* :class:`AUTHN_GET_ASSERTION`
* :class:`AUTHN_CMD`
* :class:`AUTHN_GETINFO_OPTION`
"""
"""
© Copyright 2020-2021 University of Surrey
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
"""
from enum import Enum, unique
BROADCAST_ID = b'\xff\xff\xff\xff'
MESSAGE_SIZE = 64
HEADER_SIZE = 7
MAX_PAYLOAD = MESSAGE_SIZE - HEADER_SIZE
MAX_CONTINUATION_PAYLOAD = MESSAGE_SIZE - 5
CREDENTIAL_ID_SIZE = 16
[docs]@unique
class CTAPHID_ERROR(Enum):
"""Error codes for CTAP HID these are for the HID
portion of the connection, not the authenticator which
can be found in CTAP_STATUS_CODE
"""
ERR_INVALID_CMD = b'\x01' #The command in the request is invalid
ERR_INVALID_PAR = b'\x02' #The parameter(s) in the request is invalid
ERR_INVALID_LEN = b'\x03' #The length field (BCNT) is invalid for the request
ERR_INVALID_SEQ = b'\x04' #The sequence does not match expected value
ERR_MSG_TIMEOUT = b'\x05' #The message has timed out
ERR_CHANNEL_BUSY = b'\x06' #The device is busy for the requesting channel
ERR_LOCK_REQUIRED = b'\x0A' #Command requires channel lock
ERR_INVALID_CHANNEL = b'\x0B' #Reserved (Removed)
ERR_OTHER = b'\x7F' #Unspecified error
[docs]@unique
class CTAPHID_KEEPALIVE_STATUS(Enum):
"""Keep alive status codes
"""
STATUS_PROCESSING = b'\x01' #The authenticator is still processing the current request.
STATUS_UPNEEDED = b'\x02' #The authenticator is waiting for user presence.
[docs]@unique
class CMD_TYPE(Enum):
"""CMD Type for HID messages
Either Initialization or Continuation
"""
INITIALIZATION = 1
CONTINUATION = 0
[docs]@unique
class CTAP_CMD(Enum):
"""HID CMD options
INIT
MSG
CBOR
PING
CANCEL
ERROR
KEEPALIVE
WINK
LOCK
"""
CTAPHID_MSG = b'\x03'
CTAPHID_CBOR = b'\x10'
CTAPHID_INIT = b'\x06'
CTAPHID_PING = b'\x01'
CTAPHID_CANCEL = b'\x11'
CTAPHID_ERROR = b'\x3F'
CTAPHID_KEEPALIVE = b'\x3B'
#Optional Commands (Currently not implemented)
CTAPHID_WINK = b'\x08'
CTAPHID_LOCK = b'\x04'
[docs]@unique
class CTAP_STATUS_CODE(Enum):
"""CTAP Response status codes, these include error codes
that the authenticator shoud send when processing requests
"""
CTAP2_OK = b'\x00'
CTAP1_ERR_INVALID_COMMAND = b'\x01'# The command is not a valid CTAP command.
CTAP1_ERR_INVALID_PARAMETER = b'\x02'# The command included an invalid parameter.
CTAP1_ERR_INVALID_LENGTH = b'\x03'# Invalid message or item length.
CTAP1_ERR_INVALID_SEQ = b'\x04'# Invalid message sequencing.
CTAP1_ERR_TIMEOUT = b'\x05'# Message timed out.
CTAP1_ERR_CHANNEL_BUSY= b'\x06'# Channel busy.
CTAP1_ERR_LOCK_REQUIRED = b'\x0A'# Command requires channel lock.
CTAP1_ERR_INVALID_CHANNEL = b'\x0B'# Command not allowed on this cid.
CTAP2_ERR_CBOR_UNEXPECTED_TYPE = b'\x11'#Invalid/unexpected CBOR error.
CTAP2_ERR_INVALID_CBOR = b'\x12'# Error when parsing CBOR.
CTAP2_ERR_MISSING_PARAMETER = b'\x14'# Missing non-optional parameter.
CTAP2_ERR_LIMIT_EXCEEDED = b'\x15'# Limit for number of items exceeded.
CTAP2_ERR_UNSUPPORTED_EXTENSION = b'\x16'# Unsupported extension.
CTAP2_ERR_CREDENTIAL_EXCLUDED = b'\x19'# Valid credential found in the exclude list.
CTAP2_ERR_PROCESSING = b'\x21'# Processing (Lengthy operation is in progress).
CTAP2_ERR_INVALID_CREDENTIAL = b'\x22'# Credential not valid for the authenticator.
CTAP2_ERR_USER_ACTION_PENDING = b'\x23'# Authentication is waiting for user interaction.
CTAP2_ERR_OPERATION_PENDING = b'\x24'# Processing, lengthy operation is in progress.
CTAP2_ERR_NO_OPERATIONS = b'\x25'# No request is pending.
CTAP2_ERR_UNSUPPORTED_ALGORITHM = b'\x26'# Authenticator does not support requested algorithm.
CTAP2_ERR_OPERATION_DENIED = b'\x27'# Not authorized for requested operation.
CTAP2_ERR_KEY_STORE_FULL = b'\x28'# Internal key storage is full.
CTAP2_ERR_NO_OPERATION_PENDING = b'\x2A'# No outstanding operations.
CTAP2_ERR_UNSUPPORTED_OPTION = b'\x2B'# Unsupported option.
CTAP2_ERR_INVALID_OPTION = b'\x2C'# Not a valid option for current operation.
CTAP2_ERR_KEEPALIVE_CANCEL = b'\x2D'# Pending keep alive was cancelled.
CTAP2_ERR_NO_CREDENTIALS = b'\x2E'# No valid credentials provided.
CTAP2_ERR_USER_ACTION_TIMEOUT = b'\x2F'# Timeout waiting for user interaction.
CTAP2_ERR_NOT_ALLOWED = b'\x30'# Continuation command, such as, authenticatorGetNextAssertion not allowed.
CTAP2_ERR_PIN_INVALID = b'\x31'# PIN Invalid.
CTAP2_ERR_PIN_BLOCKED = b'\x32'# PIN Blocked.
CTAP2_ERR_PIN_AUTH_INVALID = b'\x33'# PIN authentication,pinUvAuthParam, verification failed.
CTAP2_ERR_PIN_AUTH_BLOCKED = b'\x34'# PIN authentication,pinUvAuthParam, blocked. Requires power recycle to reset.
CTAP2_ERR_PIN_NOT_SET = b'\x35'# No PIN has been set.
CTAP2_ERR_PIN_REQUIRED = b'\x36'# PIN is required for the selected operation.
CTAP2_ERR_PIN_POLICY_VIOLATION = b'\x37'# PIN policy violation. Currently only enforces minimum length.
CTAP2_ERR_PIN_TOKEN_EXPIRED = b'\x38'# pinUvAuthToken expired on authenticator.
CTAP2_ERR_REQUEST_TOO_LARGE = b'\x39'# Authenticator cannot handle this request due to memory constraints.
CTAP2_ERR_ACTION_TIMEOUT = b'\x3A'# The current operation has timed out.
CTAP2_ERR_UP_REQUIRED = b'\x3B'# User presence is required for the requested operation.
CTAP2_ERR_UV_BLOCKED = b'\x3C'# Built in UV is blocked.
CTAP1_ERR_OTHER = b'\x7F'# Other unspecified error.
CTAP2_ERR_SPEC_LAST = b'\xDF'# CTAP 2 spec last error.
CTAP2_ERR_EXTENSION_FIRST = b'\xE0'# Extension specific error.
CTAP2_ERR_EXTENSION_LAST = b'\xEF'# Extension specific error.
CTAP2_ERR_VENDOR_FIRST = b'\xF0'# Vendor specific error.
CTAP2_ERR_VENDOR_LAST = b'\xFF'# Vendor specific error.
[docs]@unique
class AUTHN_PUBLIC_KEY_CREDENTIAL_USER_ENTITY(Enum):
"""Fields in the Public Key Credential User Entity
"""
ID = "id"
ICON="icon"
NAME="name"
DISPLAYNAME ="displayName"
[docs]@unique
class AUTHN_PUBLIC_KEY_CREDENTIAL_RP_ENTITY(Enum):
"""Fields in the Public Key Credential RP Entity
"""
ID = "id"
ICON="icon"
NAME="name"
[docs]@unique
class AUTHN_GETINFO_PARAMETER(Enum):
"""Get info parameter is currently empty
"""
[docs]@unique
class AUTHN_PUBLIC_KEY_CREDENTIAL_SOURCE(Enum):
"""Fields within a Public Key Credential Source
"""
TYPE = "type"
ID = "id"
PRIVATE_KEY = "privateKey"
RP_ID = "rpId"
USER_HANDLE = "userHandle"
OTHER_UI="otherUI"
SIGNATURE_COUNTER="signatureCounter"
KEY_PAIR="keypair"
ALG="alg"
[docs]@unique
class AUTHN_GETINFO_PIN_UV_PROTOCOL(AUTHN_GETINFO_PARAMETER):
"""Range of values for UV Protocol
Current only accepted version number if 1
"""
VERSION_1 = 1
[docs]@unique
class AUTHN_GETINFO_TRANSPORT(AUTHN_GETINFO_PARAMETER):
"""Transport options for CTAP
USB
NFC
BLE
INTERNAL
"""
USB = "usb"
NFC = "nfc"
BLE = "ble"
INTERNAL = "internal"
[docs]@unique
class AUTHN_GETINFO_VERSION(AUTHN_GETINFO_PARAMETER):
"""Acceptable CTAP version values
CTAP2 (FIDO 2)
CTAP1 (U2F)
"""
CTAP2 = "FIDO_2_0"
CTAP1 = "U2F_V2"
[docs]@unique
class AUTHN_PUBLIC_KEY_CREDENTIAL_DESCRIPTOR(Enum):
"""Fields in a Public Key Credential Descriptor and
acceptable values for the TYPE field - currently on
public-key
"""
TYPE = "type"
ID ="id"
TRANSPORTS = "transports"
TYPE_PUBLIC_KEY="public-key"
[docs]@unique
class AUTHN_GETINFO(Enum):
"""Fields in the GetInfo Response
"""
VERSIONS = 1
EXTENSIONS =2
AAGUID = 3
OPTIONS = 4
MAX_MSG_SIZE = 5
PIN_UV_AUTH_PROTOCOLS = 6
MAX_CREDENTIAL_COUNT_IN_LIST = 7
MAX_CREDENTIAL_ID_LENGTH = 8
TRANSPORTS = 9
ALGORITHMS = 10
MAX_AUTHENTICATOR_CONFIG_LENGTH = 11
DEFAULT_CRED_PROTECT = 12
[docs]@unique
class AUTHN_GET_CLIENT_PIN_RESP(Enum):
"""Fields in GET CLIENT PIN RESP
"""
KEY_AGREEMENT = 1
PIN_TOKEN = 2
RETRIES = 3
[docs]@unique
class AUTHN_MAKE_CREDENTIAL(Enum):
"""Make credential request fields
"""
HASH= 1
RP= 2
USER = 3
PUBKEY_CRED_PARAMS=4
EXCLUDE_LIST = 5
EXTENSIONS = 6
OPTIONS = 7
PIN_AUTH = 8
PIN_PROTOCOL = 9
OPTIONS_RK = "rk"
OPTIONS_UV = "uv"
[docs]@unique
class AUTHN_GET_CLIENT_PIN(Enum):
"""Get Client PIN request fields
"""
PIN_PROTOCOL= 1
SUB_COMMAND= 2
KEY_AGREEMENT=3
PIN_AUTH = 4
NEW_PIN_ENC=5
PIN_HASH_ENC = 6
[docs]@unique
class AUTHN_GET_CLIENT_PIN_SUBCMD(Enum):
"""SubCommand options for Get Client PIN
"""
GET_RETRIES= 1
GET_KEY_AGREEMENT= 2
SET_PIN=3
CHANGE_PIN = 4
GET_PIN_TOKEN=5
[docs]@unique
class AUTHN_GET_ASSERTION(Enum):
"""GET Assertion request fields
]
"""
RP_ID= 1
HASH= 2
ALLOW_LIST=3
EXTENSIONS = 4
OPTIONS=5
PIN_AUTH = 6
PIN_PROTOCOL = 7
OPTIONS_RK = "rk"
OPTIONS_UV = "uv"
[docs]@unique
class AUTHN_CMD(Enum):
"""AUTHN CBOR request command values
"""
AUTHN_MakeCredential = b'\x01'
AUTHN_GetAssertion = b'\x02'
AUTHN_GetInfo = b'\x04'
AUTHN_ClientPIN = b'\x06'
AUTHN_Reset = b'\x07'
AUTHN_GetNextAssertion = b'\x08'
AUTHN_BioEnrollment = b'\x09'
AUTHN_CredentialManagement = b'\x0A'
AUTHN_PlatformConfig = b'\x0c'
AUTHN_VendorFirst = b'\x40'
AUTHN_VendorLast = b'\xBF'
[docs]@unique
class AUTHN_GETINFO_OPTION(AUTHN_GETINFO_PARAMETER):
"""GET Info options fields
"""
PLATFORM_DEVICE = "plat" # default false - true if cannot be moved from device
RESIDENT_KEY = "rk" # default false - true is device capable of storing keys on itself and therefore can satisfy the authenticatorGetAssertion request with the allowList parameter omitted
# no default, if present, true indicates PIN supported and set, false indicates PIN supported not set, absent PIN not supported
CLIENT_PIN = "clientPin"
USER_PRESENCE = "up" # default true, indicates device is capable of testing user presence
USER_VERIFICATION = "uv" # no default, if present, true indicates device is capable of user verification and has been configured, false indicates capability but not configured, absent indicates no capability - PIN only does not constitute user verification
# default false, indicates the device is capable of built in user verification token feature
USER_VERIFICATION_TOKEN = "uvToken"
CONFIG = "config" # default false, indicates supports authenticatorConfig command


Background
As any packager will tell you, part of the work involves updating a package to the latest version. This is especially true for a distro like archlinux where it is known for its extremely up to date, stable packages.
I maintain a couple of packages for archlinux and it is important for me to check for new versions of a package. When I first started packaging, I manually checked for new packages by going to the package’s website and verifying that there was no new version. This got tedious, and repetitive very fast. This was about the time I came across urlwatch.
Urlwatch is a tool that watches websites and commands for changes since you last ran it. This allowed you to initially take some time to set it up. Then each subsequent run will fetch all the webpages and diff them against the previous versions it has in its cache. This was better and made me actually want to check for new versions. Except this came with its own problems:
- Lots of false positives due to dynamic content (e.g., ratings, user comments, etc.)
- You need to write filters on a per site basis to minimize false positives.
- Mercurial (hg) repositories require you to have a full copy of the repository locally to list out all the tags.
I know that upstream projects that use version control systems (git, svn, hg, …) usually create tags whenever they create a new release. I realized that checking for new tags would probably be the best way to check for new package versions since you might even get notified before any news item is even released.
Tagurit
As a result of the above imperfections with urlwatch, I decided to write a small tool in ruby called tagurit. One benefit this brought was simple configuration which meant you only had to paste the url to the repository and the tool does the rest. The only false positives you will get with tagurit is when upstream tags development versions.
I use this tool quite often and it does its job perfectly. There are still situations were something like urlwatch is required to check for new versions of a package:
- Upstream doesn’t use a version control system or doesn’t use tags.
- Upstream uses an unsupported VCS (not git, svn, or hg).
The 1st item can’t be addressed by me. But the 2nd item exists because I don’t maintain any packages that use another VCS. If you want support for a new VCS type that supports tags, I would be happy to look into it if you open a feature request on github.


Class: ActionDispatch::Reloader
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
|
|
|
Instance Chain:
|
|
| Inherits: | Object |
| Defined in: | actionpack/lib/action_dispatch/middleware/reloader.rb |
Overview
Reloader
provides prepare and cleanup callbacks, intended to assist with code reloading during development.
Prepare callbacks are run before each request, and cleanup callbacks after each request. In this respect they are analogs of ActionDispatch::Callback's before and after callbacks. However, cleanup callbacks are not called until the request is fully complete – that is, after #close
has been called on the response body. This is important for streaming responses such as the following:
self.response_body = lambda { |response, output|
# code here which refers to application models
}
Cleanup callbacks will not be called until after the response_body lambda is evaluated, ensuring that it can refer to application models and other classes before they are unloaded.
By default, Reloader
is included in the middleware stack only in the development environment; specifically, when config.cache_classes
is false. Callbacks may be registered even when it is not included in the middleware stack, but are executed only when .prepare! or .cleanup! are called manually.
Constant Summary
::ActiveSupport::Callbacks - Included
Class Method Summary
-
.cleanup!
Execute all cleanup callbacks.
- .new(app, condition = nil) ⇒ Reloader constructor
-
.prepare!
Execute all prepare callbacks.
-
.to_cleanup(*args, &block)
Add a cleanup callback.
-
.to_prepare(*args, &block)
Add a prepare callback.
::ActiveSupport::DescendantsTracker - self
| clear, descendants, direct_descendants, | |
| store_inherited | This is the only method that is not thread safe, but is only ever called during the eager loading phase. |
Instance Attribute Summary
::ActiveSupport::Deprecation::Reporting - Included
Instance Method Summary
::ActiveSupport::Deprecation::Reporting - Included
| #deprecation_warning, | |
| #silence | Silence deprecation warnings within the block. |
| #warn | Outputs a deprecation warning to the output configured by |
::ActiveSupport::Callbacks - Included
| #run_callbacks | Runs the callbacks for the given event. |
Constructor Details
.new(app, condition = nil) ⇒ Reloader
# File 'actionpack/lib/action_dispatch/middleware/reloader.rb', line 63
def initialize(app, condition=nil) @app = app @condition = condition || lambda { true } @validated = true end
Class Method Details
.cleanup!
Execute all cleanup callbacks.
# File 'actionpack/lib/action_dispatch/middleware/reloader.rb', line 59
def self.cleanup! new(nil).cleanup! end
.prepare!
Execute all prepare callbacks.
# File 'actionpack/lib/action_dispatch/middleware/reloader.rb', line 54
def self.prepare! new(nil).prepare! end
.to_cleanup(*args, &block)
Add a cleanup callback. Cleanup callbacks are run after each request is complete (after #close
is called on the response body).
# File 'actionpack/lib/action_dispatch/middleware/reloader.rb', line 46
def self.to_cleanup(*args, &block) unless block_given? warn "to_cleanup without a block is deprecated. Please use a block" end set_callback(:cleanup, *args, &block) end
.to_prepare(*args, &block)
Add a prepare callback. Prepare callbacks are run before each request, prior to ActionDispatch::Callback's before callbacks.
# File 'actionpack/lib/action_dispatch/middleware/reloader.rb', line 37
def self.to_prepare(*args, &block) unless block_given? warn "to_prepare without a block is deprecated. Please use a block" end set_callback(:prepare, *args, &block) end


It’s hard to believe it’s been 20 years!

Fill your full name and contact lists
Full Name
Email Address
Phone


{% extends "admin_layout.html" %} {% block page_header %}
An extention of the govuk-button which does not use the green styling.
Consider how a service can be designed, to avoid using secondary buttons. There are instances when a secondary button may be needed, for example:
We do not have any evidence that secondary buttons cause problems for users. However, their styling may resemble a disabled button and confuse users.
It is important to give buttons descriptive actions and not just "Click here". The button should inform the user of what will happen. For example, "Save and continue"
{% endset -%} {% set codeHtml %}Apply the following class to any govuk-button:
gc-button-secondary
<button class="govuk-button gc-button-secondary" name="button-name" type="button">Secondary</button>


This project has inspired by free school movement & How To Set Up a Free School by Toby Young.
The free school movement, also known as the new schools or alternative schools movement, was an American education reform movement during the 1960s and early 1970s that sought to change the aims of formal schooling through alternative, independent community schools.
In this website you can upload your photo, decorate it with hand-drawn stickers about this movement and share decorated photo on your social network services. With those stickers, you can decorate yourself as a student of free and self-driven school (unlike usual strict and military-like Korean schools) and you can spread this movement easily by click on the button on the right side.
Here is a platform for ‘challenge’ which people can design and express themselves freely with their own image and spread easily on their social network services by just click on the buttons.


An experiment in rendering Federated Wiki's as OPML files.
Each page is linked via an OPML include.
Main OPML file for a federated wiki:
http://opml.wiki/fed.wiki.org.opml
OPML file for a page:
http://opml.wiki/fed.wiki.org/about-federated-wiki.opml
JSON also works:
http://opml.wiki/fed.wiki.org.json
http://opml.wiki/fed.wiki.org/about-federated-wiki.json
This renders any site that conforms to the fedwiki json files.
This works great in an outliner like Little Outliner.
Simply sign on with Twitter, then select "Subscribe to outline…" from the File menu.
Paste in the URL to an opml file like "http://opml.wiki/fed.wiki.org.opml" and see how it looks.


Sign Up
Access to the most powerfull tool in
the entire design and web industry.
Login
Register
Sign up


StravaKit
API client for Strava written in Swift.
See Change Log and To Do List for completed features and future plans.
CocoaPods
StravaKit is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'StravaKit', '~> 0.9'
Carthage
StravaKit can also be built using Carthage.
Add the following line to your Cartfile:
github "StravaKit/StravaKit" ~> 0.9
Beta Status
While the StravaKit version is less than 1.0.0 it is considered beta. Breaking changes will follow Semantic Versioning standards with some exceptions while it is still in beta. All versions in the 0.5.x series will be compatible while a bump to 0.6 or 0.7 may include breaking changes in model properties as those details are worked out. Once the version has reached 1.0.0 strict Semantic Versioning will be followed.
Docs
Strava Labs provides an API Reference. It includes specifications for working with OAuth and the various REST endpoints. Discussions on the API can be found in the Developer Forum.
Contributions
Assistance with adding new functionality, fixing a bug or reporting a bug is welcome. For new functionality you can browse the To Do List
for missing features and once you’ve decided what you’d like to add you can create a new issue to let others know you are going to be preparing an update. Fork the repository, prepare your update with tests and submit a Pull Request
. For bugs, if you plan on fixing them yourself, please also fork the repository, include tests and submit a Pull Request
. If you’ve discovered a bug please create a new issue and label it as a bug. It is possible the issue has already been logged so look before adding a new issue.
If there is a feature that you feel is important and would like it implemented sooner you can create an issue and invite others to comment on it and use the reactions feature to indicate that they also are interested in that feature. The feature requests with more positive reactions will get priority.
Purpose and Goals
The StravaKit framework is intended to be a Swift implementation of a Strava API client. The goal is to make it fully functional so that it can be used to build any iOS or potentially Mac, Apple TV or watchOS app. Dependencies will be kept at a minimum. While StravaKit will be made available via CocoaPods and Carthage, it will not have any dependencies itself. It will also not load in UIKit so that it will be possible to use for developing a Mac app.
StravaKit will also track with the current version of Swift once 3.0 is released without any priority for older versions of Swift or Objective-C and iOS releases. If an app requires older versions of iOS or Objective-C it is recommended to use FRDStravaClient which is built with Objective-C and will be more appropriate for backward compatibility.
Architecture
The response returned while authorizing access to the Strava API includes the access token and the athlete profile. While these values are stored in the Keychain, this framework does not provide other data store solutions. Either another entirely separate framework will be built on top of StravaKit or optional features will be defined as submodules. With CocoaPods it is possible to define subspecs. For Carthage and SwiftPM submodules may not be supported currently. It may make most sense to create extension frameworks which work with StravaKit. A data store solution would use StravaKit and wrap all interactions with the API so the app and view controllers would not directly interact with the API and would instead submit requests to the data store for what is needed and get a deferred result when the data is ready, either from locally stored data which is still fresh or after pulling a fresh copy from the API.
License
MIT
Author
Brennan Stehling - 2016-2017
Examples
A demo application is included with StravaKit along with a comprehensive collection of tests which demonstrate how StravaKit can be used. You can also browse the documentation which is generated using Jazzy.
Note: Not all endpoints have been implemented in StravaKit. See Contributions.


We're passionate about hotels and haunted stuff so we put them together. Welcome to Boo's Clubhouse, the scariest hotel in the county.


1
This is the Title
Here will be posted the tip description, this sample is used to understand structure.
2
This is the Title
Here will be posted the tip description, this sample is used to understand structure.


Our Mission
We, the Anchormen team, have identified a problem with weather services available today. The problem being that they prove to be not detailed enough for weather enthusiasts interest, nor provide flexibility for development or catering for the beginner DIY community. We like to resolve this problem at hand by providing a platform that will cater for these needs.
Thus, Anchormen Stations is a open-source, community driven project for creating your own cheap weather station units, using our free tools developed and guides. This allows users to view station readings from their favourite stations, being their own or other users.
Build Your Station
Located on our website sidebar, Build Station Guide
, is the section containing a
comprehensive check-list of the hardware and software needed to create your own weather
station unit, as well as a detailed guide on how to construct assemble it.
Register Your Station
With constructed weather station units, users are able to register them on our system,
found on our website sidebar Register Your Station
, in turn becoming part
of our weather enthusiast community, receiving readings from your own and others registered stations.


I am currently pursuing a Bachelor's of Computer Science at University of Nebraska-Lincoln. Alongside school, I have spent the past few years solidifying my understanding of new languages and technologies by working on personal projects to become a well rounded developer. The core of my experience is on the JVM working with Java and Kotlin, however I have spent time working with a variety of different languages and technologies depending on what best suited the project I was working on.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
Worked with Dr. Scott Schaub to tutor, as well as build projects for his MATLAB programming course. Relevant courses: Programming & Problem Solving (MATLAB), Intro to Robotics (Entry level C programming with arduinos),
LibGDX is a popular 2d, crossplatform, and open source game engine written in java. I am an active contributor and user of the project.
View ProjectThe NSAA Seed Predictor is a javafx that scrapes the Nebraska School Activities Association's website for football matchups and scores to predict the playoff seeds for my high school's football coach. This helps him know which teams to prepare against in the final weeks of the season.
View ProjectJTox is a chat application built on top of the tox p2p framework. It is written java using JavaFX for the UI and uses an SQLite database through JDBC for saving chat history and user profile settings.
View Project


Ray Voelker
University of Dayton Libraries
In computer programming ...
Application Programming Interface
... A good API makes it easier to
develop a program by providing all the building blocks. A programmer
then puts the blocks together.
source: https://en.wikipedia.org/wiki/Application_programming_interface
Representational State Transfer is a software
architecture style for building scalable web services.
...
communicate over the Hypertext Transfer Protocol with the same HTTP verbs
(GET, POST, PUT, DELETE, etc.) which web browsers use to retrieve web
pages and to send data to remote servers.
source: https://en.wikipedia.org/wiki/Representational_state_transfer
A technique using HTTP requests to get data out of the Sierra Database quickly, and easily. The data we get out is in a format that can be readily used by a wide range of other applications.
http://library2.udayton.edu/api/getInventoryData/item_barcode.php?barcode=R701498024
{
"call_number_norm": "PS 3553 R48 S6 1993",
"location_code": "rws",
"item_status_code": "-",
"best_title": "Sphere : a novel",
"due_gmt": "2015-12-29 04:00:00-05",
"inventory_gmt": "2007-02-22 14:44:38-05"
}
https://xkcd.com/1349/
https://xkcd.com/327/
SELECT
i.item_status_code,
c.checkout_gmt,
c.due_gmt,
p.best_title,
p.best_title_norm
--- continued ...  ---
WHERE
(i.itype_code_num = 69 OR i.itype_code_num = 71)
AND i.is_suppressed = FALSE
AND b.is_suppressed = FALSE
ORDER BY
p.best_title_norm ASC
---
Sanitize inputs
<?php
/* replace all the non alphanumeric characters from the
callback function name */
if(isset( $_GET['callback'] )) {
$callback = preg_replace("/[^a-zA-Z0-9\s]/",
"",
$_GET['callback']
);
}
?>
Connect to database server, prepare the SQL statement, issue query, and get results.
<?php
try {
$connection = new PDO($dsn, $username, $password);
}
// ...
$statement = $connection->prepare($sql);
$statement->execute();
$row = $statement->fetchAll(PDO::FETCH_ASSOC);
?>
Encode results into JSON (or JSONP) format, and return them over HTTP
<?php
/* return JSONP data if a callback name was specified,
otherwise return plain JSON data */
if(isset ($callback)) {
header('Content-Type: text/javascript; charset=utf8');
echo $callback . '(' . json_encode($row) . ')';
}
else {
header('Content-Type: application/json; charset=utf8');
echo json_encode($row);
}
?>
(Sample JSON object)
[
{
"item_status_code": "-",
"checkout_gmt": null,
"due_gmt": null,
"best_title": "Study Room 2 - A",
"best_title_norm": "study room 2 a",
"available": true
},
{
"item_status_code": "-",
"checkout_gmt": "2015-08-31 16:09:14-04",
"due_gmt": "2015-08-31 17:45:00-04",
"best_title": "Study Room 2 - B",
"best_title_norm": "study room 2 b",
"available": false
}
]
(Sample JSONP object)
callback([
{
"item_status_code": "-",
"checkout_gmt": null,
"due_gmt": null,
"best_title": "Study Room 2 - A",
"best_title_norm": "study room 2 a",
"available": true
},
{
"item_status_code": "-",
"checkout_gmt": "2015-08-31 16:09:14-04",
"due_gmt": "2015-08-31 17:45:00-04",
"best_title": "Study Room 2 - B",
"best_title_norm": "study room 2 b",
"available": false
}
])
(after JavaScript calls RESTful API, and processes the data)
( The full sample, including the HTML, JavaScript, and RESTful API implemented in PHP are available for download from my GitHub linked later in this presentation )
For an inventory project, we create Google Spreadsheets, share them with students, and then have them scan item bar codes into them
Google Apps Scripts allow us to transfer data into the sheet via our DIY API call, triggered on the insertion of bar codes
SELECT
upper(p.call_number_norm ||
COALESCE(' ' || v.field_content, '')
) as call_number_norm,
i.location_code,
i.item_status_code,
i.inventory_gmt,
b.best_title,
c.due_gmt
FROM
sierra_view.phrase_entry AS e
JOIN
sierra_view.item_record_property AS p
ON
e.record_id = p.item_record_id
JOIN sierra_view.item_record AS i
ON
i.id = p.item_record_id
LEFT OUTER JOIN sierra_view.checkout AS c
ON
i.id = c.item_record_id
--these two JOIN statements will get the
-- Title and Author from the bib
JOIN
sierra_view.bib_record_item_record_link AS l
ON
l.item_record_id = e.record_id
JOIN
sierra_view.bib_record_property AS b
ON
l.bib_record_id = b.bib_record_id
LEFT OUTER JOIN
sierra_view.varfield AS v
ON
(i.id = v.record_id) AND (v.varfield_type_code = 'v')
WHERE
e.index_tag || e.index_entry = 'b' || UPPER('r701498024')
OR
e.index_tag || e.index_entry = 'b' || LOWER('r701498024')
The Application, in this example, that is calling our DIY API is Google Apps Script
Quick look at the the Google Apps Script for Google Sheets
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
// cell must have a value, be only one row, and be from the first sheet */
if( e.range.getValue() && (e.range.getNumRows() == 1) && sheet.getIndex() == 1) {
var value = e.range.getValue(),
spread_sheet_name = SpreadsheetApp.getActiveSpreadsheet().getName();
e.range.setValue(value.toLowerCase());
var url = 'http://library2.udayton.edu/api/getInventoryData/item_barcode.php?'
+ 'barcode=' + value;
var result = UrlFetchApp.fetch(url);
var json_data = JSON.parse(result.getContentText());
//make sure we have data back ...
if(json_data) {
if (json_data.call_number_norm) {
e.range.offset(0,1).setValue('=\"'
+ json_data.call_number_norm.toUpperCase()
+ '\"');
}
//escape all double quotes
if (json_data.best_title) {
e.range.offset(0,2).setValue('=\"'
+ json_data.best_title.replace(/"/g, '""')
+ '\"');
}
e.range.offset(0,3).setValue('=\"'
+ json_data.location_code
+ '\"');
e.range.offset(0,4).setValue('=\"'
+ json_data.item_status_code
+ '\"');
}
if(json_data.due_gmt != null) {
e.range.offset(0,5).setValue('=\"'
+ json_data.due_gmt.substring(0, json_data.due_gmt.length - 3)
+ '\"');
}
else {
e.range.offset(0,5).setValue('=\"\"');
}
e.range.offset(0,6).setValue('=\"'
+ Utilities.formatDate(new Date(), "GMT-4:00", "yyyy-MM-dd' 'HH:mm:ss")
+ '\"');
e.range.offset(0,7).setValue(e.range.getRow());
e.range.offset(0,8).setValue(spread_sheet_name);
} //end if
} //end function onEdit()
Adding the Google Apps Script to the Google Spreadsheet ...
( The full sample, including the HTML, JavaScript, and RESTful API implemented in PHP are available for download from my GitHub linked later in this presentation )
Show items to the public that were cataloged in the last 30 days
Allows patrons to limit the output based on classification (Library of Congress)
May want to add the ability for patrons to "subscribe" to the new books list through e-mail ... sending them only the classifications they may be interested in
SELECT
b.record_id,
b.cataloging_date_gmt::DATE AS cataloging_date_gmt,
p.best_author,
p.best_title,
p.publish_year,
r.record_num,
UPPER(
x.call_number_prefix
) as call_number_prefix,
UPPER(
COALESCE (i.call_number_norm, x.call_number_prefix)
) as call_number_norm
FROM
sierra_view.bib_record AS b
JOIN
sierra_view.record_metadata AS r
ON r.id = b.record_id
LEFT OUTER JOIN
sierra_view.bib_record_call_number_prefix AS x
ON x.bib_record_id = b.record_id
LEFT OUTER JOIN
sierra_view.bib_record_property AS p
ON p.bib_record_id = b.record_id
LEFT OUTER JOIN
sierra_view.bib_record_item_record_link AS l
ON l.bib_record_id = b.record_id
LEFT OUTER JOIN
sierra_view.item_record_property AS i
ON l.item_record_id = i.item_record_id
WHERE
b.cataloging_date_gmt >= date('07-01-2015')
AND b.cataloging_date_gmt < date('08-31-2015')
AND b.is_suppressed is FALSE
--if we want to do any call number limiting ...
-- we can use this part of the where clause
-- AND x.call_number_prefix LIKE LOWER('A')
GROUP BY
b.record_id,
cataloging_date_gmt,
p.best_author,
p.best_title,
p.publish_year,
r.record_num,
call_number_prefix,
call_number_norm
ORDER BY
call_number_prefix,
call_number_norm
Again, mostly the same code as the previous two examples!
Sanitize inputs
<?PHP
if(isset( $_GET['call_number_prefix'] )) {
// call number prefix can be at most 3 characters, and must
// only consist of letters
// ... unless we are requesting something else from the
// prefix ... like the null values for example
switch($_GET['call_number_prefix']) {
case 'null' :
$call_number_prefix = null;
$call_number_prefix_sql =
'AND x.call_number_prefix is null';
break;
case 'all' :
case 'ALL' :
case 'All' :
break;
default :
$call_number_prefix = substr(
preg_replace("/[^a-zA-Z\s]/",
"",
$_GET['call_number_prefix']),
0,3
);
break;
} //end switch
} //end if
else{
$call_number_prefix = null;
$call_number_prefix_sql = null;
} //end else
?>
This presentation, along with all samples, can be found on GitHub!


Text is required
Text has to contain at least 10 chars
Text is to long. Max length is 20 chars
Description is required


| 1. Baseline 3-Actor GARP - Browser
Display |
This is the basic starting point
for many of the ENM workflows. It consists of Desktop GARP code wrapped
into 3 actors with inputs from static (pre-defined) files that are
already in the exact formats required by GARP (e.g. layers in *.raw
format). The final occurrence distribution map is displayed using a
browser. |
| 2. Baseline 3-Actor GARP -
ImageJ Display |
This workflow is the same as the
previous one except the actor for displaying the resulting map is now
the ImageJ actor, based on the ImageJ image processing system developed
at NIH. This actor allows the user to carry out a variety of
manipulations on the resulting image. |
| 3. GARP with
Occurrence
Data from Digir/Ecogrid |
This workflow gets the GARP
occurrence data from a DarwinCore data search through the Ecogrid. It
illustrates how Kepler/SEEK technology can supply dynamic data sources. |
| 4. GARP with
Occurrence
Data and Layer Integration |
This example extends the
previous model by adding the dynamic integration of a set of geographic
layers that are in *.ASC grid format. In this case, the ASC grids all
have the same extent and grid sizes. These layers are feed through an
actor which converts them to the raw files needed for GARP and
automatically creates the *.dxl file which summarized the layers for
GARP. |
| 5. GARP with
Occurrence Data and Ecogrid Layer Integration |
This example obtains occurrence
data and one layer of ASC spatial data from the Ecogrid. The spatial
data layer is regridded and integrated with other ASC layers to create
the *.RAW and *.dxl files needed by GARP. This example thus illustrates
how one can add to spatial data with new source. (Note: spatial data is
low resolution to minimize download and run times.) |
| 6. GDAL Input and ReProjection
|
This workflow shows an example
of using the GDAL system for input of specialized GIS format files and
reprojection of spatial data into desired forms. |
| 7. GARP
Omission
Commission Example |
The example calculates omission
and commision values from the output of a GARP prediction map and a
'test set' of occurence longitudes and latitudes. Results are written
to a local file as a table. |
| 8. GARP Best Subset
Example
(using R) |
This is an example of the
RExpression actor with a custom R script for calculating the 'best
subset' of a number of GARP runs. The example takes the
omission/commission table as an input. |
| 9. Overall ENM Workflow |
This is a high level view of an
ENM workflow constructed to give a view of all of the high level
actions that need to be carried out. It started as a simple conceptual
workflow built with Composite actors. Note that one can "Look Inside"
many of these composite actors to see details of their actions. |
| 10. Climate Layer Data
Import
and Formatting |
IPCC climate data has been
described using EML and saved on the Ecogrid/SRB. It can thus be
obtained using a Kepler data search and the result dragged to the
screen as a data source. Each file, however, contains data for each
month and that data needs to be separated/combined to create
annual/winter/spring/summer/fall data sets in ASC grid formats that can
be combined to create GARP geographic layers. This is a test workflow
which creates and displays a ASC file. |
| 11.
Convex
Hull Operations (GRASS-based code) |
Actors for calculating a Convex
Hull and related GIS operations are shown in this test workflow. The
actors used code from the GRASS GIS system recompiled using JNI
interfaces to Java |
| 12. Convex Hull Operations (Java-based code) |
This is an example of Convex
Hull and related operations implemented completely in Java. |
| 13. Rescaling Example |
Example workflow that changes
the grid size and extent of input *.ASC grid files |
| 14. Grid Merging Example |
This workflow starts with a grid
image of the entire world, creates rescaled images of North and South
America, and then recombines the 2 rescaled grids into a new grid of
the western hemisphere using the MergeGrid actor. |
| 15. ASC to RAW, DXL Example |
Workflow which takes a set of
*.ASC grid files and creates corresponding *.RAW filed for GARP input
along with the *.dxl layer summary file |
| 16. IPCC Base Climate Layers |
This workflow copies all 10 of
the IPCC historical climate information files from the Ecogrid to the
local cache and converts them to *.ASC files. The default files are
annual averages; user can change to minimums or maximums and change
time periods. |
| 17. Hydro1K Data Preparation |
This workflow shows how one
inports Hydro1K digital elevation model derived spatial data and
processes it for use in a GARP model. GDAL actors are used to import
and re-project the spatial grid data. |
| 18.
GARP
Single Species Best RuleSet - Local Files |
This workflow runs the GARP
algorithm multiple times and calculates omission and commission values
to determine 'best' rulesets. Spatial and location data are read from
local files. It is thus assumed that this input data has been
previously prepared. |
| 19. GARP
Single
Species Best RuleSet - Local Spatial Files with DigiR Location Data |
This workflow runs the GARP
algorithm multiple times and calculates
omission and commission values to determine 'best' rulesets. Spatial
data is read from local files. It is thus assumed that
this input data has been previously prepared. Location data is read
from a DigiR ecogrid data source, making it easy to change the input
species by just doing another data search. |
| 20. Prepare Climate Change
Prediction Data |
This is an example of how an
IPCC climate change dataset is processed by combining with the
historical data to produce a grid that can be used for ENM/GARP future
predictions. |
| 21. Convert Baseline Layers (local files) to GARP
raw files and create DXL summary |
This example converts a set of local *.asc layer fiiles
to GARP RAW files and creates the *.dxl file needed by GARP. |


WITNESS LIST Education Committee February 6, 2003 - 9:00A School Finance Briefing ON: Connolly, John (Texas School Coalition), Plano, TX Lowder, James (Texas Business & Education Coalition), Lubbock, TX McInnis, John (Texas Business & Education Coalition), Austin, TX Parks, Ursula (Legislative Budget Board), Austin, TX Pierce, Wayne (Equity Center), Austin, TX Thompson, David (Self), Houston, TX


RUDY A film review by James Berardinelli Copyright 1993 James Berardinelli
RUDY
Rating (Linear 0 to 10): 6.6
Date Released: 10/15/93 Running Length: 1:54 Rated: PG (Mature themes)
Starring: Sean Astin, Ned Beatty, Charles S. Dutton, Jason Miller, Lili Taylor, Robert Prosky Director: David Anspaugh Producers: Cary Wood and Rob Fried Screenplay: Angelo Pizzo Music: Jerry Goldsmith Released by TriStar Pictures
Ever since he was young boy, Rudy (Sean Astin) wanted to play football for the Fighting Irish of Notre Dame. There are a few obstacles to this ambition, however - namely a lack of athletic ability and grades too poor to allow him admission to any college. But Rudy's heart is bigger than his common sense and, against the advice of his father (Ned Beatty), he makes the bus trip to South Bend in search of his dream. Once there, he begins the struggle against seemingly-impossible odds with the help of a kindly priest (Robert Prosky) and a gruff-but-good-hearted groundskeeper (Charles S. Dutton).
RUDY is intended to be a triumphant and inspirational motion picture, and it successfully attains those aims. Critics of the film will undoubtedly point out that there are instances when it wallows in sentimentality, but it's difficult to substantiate the charge knowing how much of this film is true-to-life. This version of Rudy's story is very close to how things really happened. It's a case when life, not Hollywood, wrote the plotline. The ending is not embellished to satisfy the masses; films of the 1975 game exist to prove that this is exactly how things transpired.
Of course, there is still a little manipulation involved, but most of it is low-key and skillful. A conscious attempt has been made to avoid an overkill of the "feel good" spirit, but the message is clear: if you put your whole heart and mind to something, there is nothing that can't be accomplished. While this theme might ring hollow in a work of fiction, it has a strong resonance here.
The ending of RUDY is a victory for one person, and for all those in the audience that come to care about him, but it doesn't fall into the same category as the cliched finales of dozens of other sports films. Here, triumph is measured on a different, more personal level, where winning and losing - and even scoring - no longer matter. This is truly an occasion when playing the game is enough.
As exhilarating as the film is, it isn't without problems. The most obvious is the choppiness of the story. Especially in the middle segments, RUDY does a lot of jumping around. I realize that there's a lot to show and tell in this movie, and that condensation was necessary, but the manner in which this was done lacks finesse.
The performances of Sean Astin and Charles S. Dutton are noteworthy. Dutton has an incredible on-screen presence, and his portrayal of Rudy's unofficial mentor invests this role with more than might typically be expected from it. Astin, a relatively fresh face, has all the tenacity necessary to play the title character. Producer Cary Woods praised Astin, saying that he became Rudy, right down to taking some painful shots during the football sequences.
Director David Anspaugh and writer Angelo Pizzo, who collaborated on HOOSIERS (considered by many to be among the best "small" American sports movies), have constructed RUDY using many of the techniques that worked best in that earlier film.
It would have been easy to turn Rudy's story into a soppy, overly- sentimental journey, but the film makers have avoided too much melodrama. Keeping the performances and direction low-key are obviously a part of that, as was having the real Rudy on the set every day so that the story remained true to what really happened. The cheers in the audience at the end were genuine, and this is one of the rare times when I will admit to cracking a smile as the credits began to roll.
- James Berardinelli<EMAIL_ADDRESS>.
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


Basic Tables
Refers to data arranged in rows and columns. A spreadsheet, for example, is a table. In relational database management systems, all information is stored in the form of tables. Webopedia - Online Tech Dictionary for IT ProfessionalsBasic Table
For basic styling—light padding and only horizontal dividers—add the base class
.table
to any
<table>
. It may seem super redundant, but given the widespread use of tables for other plugins like
calendars and date pickers, we've opted to isolate our custom table styles.
| # | Browser | Creator | Software license | Current layout engine | |
|---|---|---|---|---|---|
| 1 | Google Chrome | Terms of Service | Blink | ||
| 2 | Internet Explorer | Microsoft, Spyglass | Proprietary | Trident | |
| 3 | Mozilla Firefox | Mozilla Foundation | MPR | Gecko | |
| 4 | Safari | Apple Inc. | Proprietary | WebKit | |
| 5 | Opera | Opera Software | Proprietary | Presto |
Striped rows
Use
.table-striped
to add zebra-striping to any table row within the
<tbody>
.
| Photo | Full Name | Role | Phone | ||
|---|---|---|---|---|---|
| Peter Clark | UI Designer |<EMAIL_ADDRESS>|<PHONE_NUMBER> | ||
| Nicole Bell | Content Designer |<EMAIL_ADDRESS>|<PHONE_NUMBER> | ||
| Steven Thompson | Visual Designer |<EMAIL_ADDRESS>|<PHONE_NUMBER> | ||
| Ella Patterson | Web Editor |<EMAIL_ADDRESS>|<PHONE_NUMBER> | ||
| Kenneth Ross | Senior Designer |<EMAIL_ADDRESS>|<PHONE_NUMBER> |
Condensed table
Add
.table-sm
to make tables more compact by cutting cell padding in half.
| Clicks | Update | Status | |
|---|---|---|---|
| alpha.com | 3,330 | Feb 13 | Expiring |
| beta.com | 3,330 | Jen 15 | Active |
| gamma.com | 3,330 | Mar 09 | Expired |
| delta.com | 3,330 | Feb 10 | Flagged |
| epsilon.com | 3,330 | Feb 18 | Active |
| zeta.com | 3,330 | Feb 13 | Expiring |
| eta.com | 3,330 | Jen 15 | Active |
| theta.com | 3,330 | Mar 09 | Expired |
| iota.com | 3,330 | Feb 10 | Flagged |
| kappa.com | 3,330 | Feb 18 | Active |
Bordered table
Add
.table-bordered
for borders on all sides of the table and cells.
| Domain | Clicks | Update | Status |
|---|---|---|---|
| alpha.com | 3,330 | Feb 13 | Expiring |
| beta.com | 3,330 | Jen 15 | Active |
| gamma.com | 3,330 | Mar 09 | Expired |
| delta.com | 3,330 | Feb 10 | Flagged |
| epsilon.com | 3,330 | Feb 18 | Active |
| zeta.com | 3,330 | Feb 13 | Expiring |
| eta.com | 3,330 | Jen 15 | Active |
| theta.com | 3,330 | Mar 09 | Expired |
| iota.com | 3,330 | Feb 10 | Flagged |
| kappa.com | 3,330 | Feb 18 | Active |
Contextual classes
Use contextual classes to color table rows or individual cells.
| # | Column heading | Column heading | Column heading |
|---|---|---|---|
| 1 | Column content | Column content | Column content |
| 2 | Column content | Column content | Column content |
| 3 | Column content | Column content | Column content |
| 4 | Column content | Column content | Column content |
| 5 | Column content | Column content | Column content |
| 6 | Column content | Column content | Column content |
| 7 | Column content | Column content | Column content |
| 8 | Column content | Column content | Column content |
| 9 | Column content | Column content | Column content |


--- layout: page title: About header-img: "img/about-page3.png" ---
I live in the Greater New York City area and work as a Technical Coach for Flatiron School.


{% extends 'portfolio/base.html' %} {% block body %} {% for company in object_list %} {# listview stores everything in object_list, which we renamed.#}


Clicking the button on this page will show the value of the user-agent header sent by the browser,
code name of the browser, and the version information of the browser in an Alert box.


During this time of high demand, we ask that you please check in with our concierge and we will page you when a technician is available.


The Queen Bee is a new haptic audio experience in the form of a neckband, intended to enhance music and make it accessible to those in the Hearing Impaired community. It features a companion application for a dedicated music player and music visualizer to extend the experience of listening to music to up to three senses.


full_name:
hobby:
Reading
Travelling
Gardening
Mountain Traveling
food:
Burger
Pasta
Chicken
Rice
preferred_job_location:
Dhaka
Dinajpur
Comilla
Rajshahi
Bogra
Noakhali
Chandpur
Rajbari
Borguna
Tangail
Bandorbon
Barishal
Vola
Patukhali
Pakshai
Pabna
Gaibandha
Foridpur
Feni
Fatulla
submit


FG approved projects worth $8b under PPP in eight years
by The Eagle OnlineChidi Izuwah, the Director-General, Infrastructure Concession Regulatory Commission, has said that the Federal Government approved Public Private Partnership projects worth eight billion dollars between 2010 and 2018.
Izuwah disclosed this during presentation at a Joint Public PPP Consultative Forum and Nigeria PPP Network in Abuja on Thursday.
He said the projects were under the regulatory guidelines of ICRC.
He stated that as at October, there were 139 pre-contract projects at development and procurement phases at the commission.
According to him, in June 2019, there are 69 post-contract PPP projects under implementation at the ICRC’s project disclosure portal.
The director-general said the commission had accomplished a lot of projects under PPP.
He said those projects include Lekki Deeper Water Port, Warehouse in a box medical stores, NIWA Onitsha River Port, Ibom Deep water Port.
Others include Gurara, Silos, Farm Mechanisation, ECOWAS Biometric cards and Warri-Itakpe line to Warri Deep sea port.
The President of Afreximbank, Benedict Oramah, called on Nigerian government to pay attention to details in developing public projects.
Oramah represented by Kofi Afoso from the bank said the country should ensure that its PPP officials had required knowledge to ensure a balance between private and public sectors.
Previous Post
I did not test my daughter’s virginity, man tells court


Tse YM's Flexi Plasmid Draw Basic
Copyright reserved by Maverick Tse Yuk Man, 2008
version 1.8 release
Instruction
- Enter the name(optional) and size of a plasmid (any positive integer, required field) in the first two fields
- Enter the starting co-ordinate of your plasmid feature (in bp)
- Enter the ending co-ordinate of the feature. If this value is less than the starting co-ordinate, the arrow will be drawn anti-clockwise.Note that feature cannot span across the top most point of the circle. The illusion of a feature spanning across the top of circle can be done by creating 2 features (Feature 1: x-->plasmid size; Feature 2: 0 -->y)
- Add all the features required (up to 15). The the features can overlap each other without problem.
- Tick the 'visibility' checkboxes on the left to show only the features that you want.
- Click "Generate SVG Code" button to get your plasmid map as SVG code in the text box at the bottom.
- Copy and save the SVG code in a text file with the extension .svg
- View the plasmid by opening the svg file with Firefox or Opera browser. The image can be edited visually with Inkscape and save as PNG or WMF files for use with other software.
Other Options
- Canvas Size: determines the maximum size of the image. Default is 800x600 pixels.
- Radius: determines the radius of the circular plasmid to be drawn. Default is 200px.
- Feature Width: set the "thickness" of the arrow or box for your plasmid features. Default is 15px.
 Untick it to draw a box.
- Arrow angle: set the length of the arrow head if arrow is to be drawn. Default is 5 degree.
- Wing size: determines how wide the arrow heads are. Default is 5px.
- Text size: set the text sizes in pixel. Plasmid name and size are 2px larger than the feature labels.
- Show text(checkbox): If ticked, plasmid name, size and feature labels will be displayed. Untick to remove all labels.
- Name:(textbox) and Italic(checkbox): type the feature name in the textbox. If the label needs to be italic, tick the italic checkbox.
- Color: Three fields for entering the percentage of Red, Green and Blue. The colors are mixed to give a feature's fill color. They are percentage and accept values of 0-100 only. Default color is black (Red=0, Green=0, Blue=0). White is R=100,G=100,B=100.
Color Reference
Rainbow Color Wheel and RGB percentage values
Red-Yellow Spectrum
Yellow-Green Spectrum
Green-Blue Spectrum
Blue-Red Spectrum
Hint: You can draw a truncated circle or arrow by making a box-shaped feature white, and cover the feature/backbone at the bottom. Note that features that are drawn later can cover the features drawn earlier. e.g. Feature 5 can cover Feature 3 but not the reverse.
To see what this program is capable of, see Example 1, Example 2 and Example 3.


{% extends "base.html" %} {% block content %}
Please note: All gallery entries are best viewed using a WebGL enabled browser, preferably Chrome, Chromium or Firefox. To test your browser and graphics card visit this website.
You can use the following controls:
To see how they work: View the page source!
{% for entry in gentries %} {% endfor %} {% endblock %}


WeaselThe encrypted SMS app made for users
Secure
Military-grade AES-256 encryption makes sure that your SMS chats cannot be read by your provider or the SMS tower maintainers.
Open-source
You can verify, contribute to, and clone our source code at any time, for any reason
Stable
A derivative work of the excellent QKSMS, Weasel has a strong, stable foundation.
Accessible
Weasel uses existing SMS infrastructure, so you can use it anywhere you would normally text.
Stable
Built on the trusted and stable OpenVPN backend to ensure that our service never fails.
Accountable
We wouldn't give you our products if we didn't trust them. hackSugar ensures that Weasel is cryptographically secure.


% include("/common/head.html"){} %>
<% include("/common/user_header.html"){} %>
${layoutContent}
<% include("/common/user_footer.html"){} %>


Storage
window.localStorage === localStorage
localStorage set/get
localStorage length
localStorage clear
sessionStorage set/get
sessionStorage length
window.sessionStorage clear
All Tests


--- layout: post title: yelly furtado in the house date: 2008-04-28 16:09:32.000000000 -07:00 type: post published: true status: publish categories: - Journal tags: - blogotubes - John Darnielle meta: _publicize_pending: '1' _edit_last: '6192' original_post_id: '38' _wp_old_slug: '38' author: login: falsefridays email<EMAIL_ADDRESS>display_name: Jim Withington first_name: '' last_name: '' ---
HELLO!
WE INTERRUPT OUR REGULARLY (UN)SCHEDULED PROGRAMMING TO POINT OUT THAT JOHN DARNIELLE IS BLOGGING AT POWELLS.COM ALL WEEK.
THAT IS ALL.
THANK YOU.
GOOD DAY.