--- layout: post title: Accessing native C libraries on Linux with F# and .Net Core date: 2016-12-16T00:20:46.000Z categories: F# ---
This blog post is part of Sergey Tihon's F# Advent Calendar in English 2016. Make sure to check out the other awesome posts!
Update 18 Dec 2016: Added link to Andrew Arnott's pinvoke project that collects P/Invoke definitions (thanks @ChetHusk for the pointer!), and what seems to be an "official" P/Invoke library for RTL-SDR in C#.
There are many interesting native libraries available on the Linux platform, which are usually accessed directly from C programs. There will likely be more of these in the future; for example, libraries to program custom hardware accelerators, for which no operating system support is available. C is still a perfectly fine programming language for lower-level work, but this is 2016, and we can do better. In this post I would like to introduce a few of the benefits that you gain when you use a modern "multi-paradigm" language like F# to access native libraries. This allows you to write code in interesting ways that you may not have seen before. I am assuming a working knowledge of C and Linux, but not much else.
"Waitwhat, isn't F# some Microsoft thing?" I hear you say. Yes, it came out of Microsoft Research several years ago. In the meantime, it has grown up into a mature OSS language with an Apache license and a small-ish, but enthusiastic, friendly and helpful OSS community. F# compiles into Javascript or the Microsoft .Net platform in one of its many incarnations. I will be focusing on the (somewhat adolescent) .Net Core, as it has a lot of promise and is available today on Linux, macOS and Windows.
One of the things .Net does really well is integrate with the underlying native platform, using a declarative mechanism called P/Invoke. So even if you don't like Microsoft and the .Net platform (and believe me, I used to be in that camp), please hold your nose and read on. Or even better, install the LTS version of .Net Core for your platform, open your shell, and cast the magic spell:
1: 2: |
|
Wait - did I just say "vi"? Sorry, old habits die hard. I should probably mention that F# greatly benefits from a language-aware editor, which can offer assistance as you work with your code. As F# is a strongly typed language, the editor can offer quite a lot of help in identifying incorrect constructs before you even compile. There are F# plugins for all sorts of editors (even Emacs, if you must)). If you don't know where to start, try the excellent Visual Studio Code with the awesome Ionide-fsharp plugin. And there are several vi plugins available for VS Code (I use this one).
Whenever a program executes on a virtual machine (VM) of some sort, like the Java Virtual Machine (JVM), the .Net Common Language Runtime (CLR) or the Python interpreter, it is isolated from the underlying operating system, which is often a good thing. For example, the Virtual Machine might be uniquely matched to the programming language or problem domain, made more secure, be operating system independent, etc. Sometimes however, there is a requirement for a VM based application to directly use a native library, for example to gain access to some OS-specific service not provided by the VM, custom hardware, etc. These native libraries are typically written in the native programming language of the underlying operating system, or the implementation language of the VM itself. Often, this is language is C.
Here are a few examples of Virtual Machines and the corresponding interop technologies for accessing native libraries:
Virtual Machine |
Interop Technology |
|---|---|
Java Virtual Machine |
Java Native Interface (JNI) |
.Net CLR |
P/Invoke |
Android Dalvik VM |
Android Native Development Kit (NDK) |
Python Interpreter |
Simple Wrapper and Interface Generator (SWIG) |
.Net's P/Invoke mechanism is a lot slicker than many of the alternatives, because it is purely declarative; you can link to arbitrary code in arbitrary shared libraries without having to write shims or native adapter code. For each entry point (function) in the shared library, all you have to do is proivde declarations that define the data types involved, how they might need to be translated, specify the alignment etc., and you are done.
Contrast this with Java's JNI, where you actually need to write a glue layer in C or C++, that handles each and every method invocation. What is worst about this is that now you have another native library to deal with (the JNI glue), which makes cross-platform portability so much harder. And if you want to dispatch a callback from C back into your JVM code, good luck! In F#, you can do the equivalent in a few lines of F# code. Wrapper generators (such as the excellent SWIG) can make this task easier. With .Net, this is also possible (using C#), but rarely necessary.
From a high level, interoperating between a VM language (e.g. F#) and a native languages (e.g. C) requires figuring out several issues:
P/Invoke allows you to address most if not all of those questions in a purely declarative manner, i.e. without having to write any shims or other adapter libraries. Don't be intimidated by the length of this list; once the appropriate declarations are written, it is very comfortable and easy to write code that uses native libraries!
For this discussion, I will use the excellent rtl-sdr library as an example. SDR stands for Software Defined Radio, where radio communications components (such as for example mixers, filters, demodulators etc.) that were traditionally implemented in hardware, get replaced by software. What remains of the hardware radio is typically a frontend, a downconverter of some sort, some filtering, a fast analog-to-digital converter to sample the incoming radio signal into (large amounts of) numbers and a high-speed digital interface to send said bits into the computer. Sounds expensive? It used to be, until a few years ago, when some smart people figured out how to take a cheap (USD 20) mass-produced USB-stick that was intended for TV reception, and turn it into a general purpose SDR radio. Not exactly stellar performance, but the price is right. A library was developed that provides access to the hardware, which is called librtlsdr. Find a detailed description here. If you want to buy one of these devices, here is an extensive list of compatible devices.
To get the rtl-sdr library onto your system, you can either build it from source, or install it from the package manager that comes with your distro. For example, I am on Mint 17.3 (an Ubuntu derivative), so I can just use
1:
|
|
This will pull in all the relevant dependencies, notably libusb.
OK, so what did we just install? This is a C libary we are talking about, so we
are looking for an include file (/usr/include/rtl-sdr.h
on my system), and a
library (for me it is /usr/lib/x86_64-linux-gnu/librtlsdr.so
). Oh, and as we
are talking to external hardware, the permissions need to be set right, which
is often done through /etc/udev
. In my case, the package manager took care of
this. If you have permission trouble with access to the hardware, check
the udev configuration.
And while this article is about Linux, librtlsdr-dev and its dependencies are also available to install via Brew on macOS, and if you do that, all the code in this post will work the same way on your Mac. I didn't try Windows (the installation of libusb and librtlsdr is a little more involved there), but it shouldn't be too hard to get it to work on Windows also.
All right, we have the libary, now let's take a look on how to access it from
F#. Remember what I said above about P/Invoke being purely declarative? Let's
try this out! The simplest possible function that we can identify in the /usr/include/rtl-sdr.h
include file is the rtlsdr_get_device_count()
function:
1:
|
|
What is this? The RTLSDR_API
thing expands to an import or export statement, depending
whether the library itself is being compiled or a program that uses it. From our
perspective, this is equivalent to an extern
declaration. uint32_t
is a pretty
obvious typedef. So armed with this knowledge, we can write a declaration to make
this function callable from F#:
1: 2: |
|
The [<Stuff>]
is called an Attribute. This specific attribute is called
DllImportAttribute. DLL is Windows-speak for a shared library, otherwise
known as a .so (or .dylib if you are on macOS),
"librtlsdr" is obviously the name of the library,
and the calling convention specifies who is responsible for cleaning up the stack
after the call.
Let's try and write a tiny little F# program that loads the C library, and sees whether we have any RTL-SDR devices attached. I am assuming you have .Net Core installed (the RTL version, right?), as well as the rtlsdr library. As long you have those two prerequisites, it shouldn't matter whether you are on Linux, macOS or Windows, we all value diversity! Now create an empty directory, cd into it, and do the following:
1: 2: 3: 4: |
|
This will do a few things:
Program.fs
and project.json
If this says "Hello World!", you are in business (and yes, they forgot
the comma between "Hello" and "World". Get a life!).
Now open Program.fs
in an editor and replace
the code in that file with the following:
1: 2: 3: 4: 5: 6: 7: 8: 9: |
|
Hang on - what's with that syntax? OK, line 1 is some boring import/use/open/whatever.
We talked about lines 3-4 before, this is just the declaration that tells the system
how to call the function rtlsdr_get_device_count()
in the library "librtlsdr".
The EntryPoint is pretty obviously the main function, starting in line 7.
You already know what the funny |>
in line 8 is. No, believe me, you do. It is called a pipe.
As in ls | grep foo
. In this case, we send the output of the rtlsdr_get_device_count()
into
the function printfn
(as its last argument, to be precise). This is really easy to get used to!
Now save Program.fs
, and issue another
1:
|
|
In response, it will hopefully say something like:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: |
|
Well, that was easy! The machinery was able to figure out that you need to
build things before running them, and depending on whether or not you have one of
those nifty USB devices in your computer, it will report 0u or 1u devices. But what is
a 1u
? This would be a good time to talk about types.
You wouldn't know it from looking at the source code, but F# is a strongly typed language, and I mean strongly. It will not take an unsigned integer in place of a signed one, or make an int into a float until you explicitely instruct it to do so.
But if this a typed language, where are the wordy annoying type declarations in
the code above? Does main have a type, and if so, what is it? Well, main
is of the type
string[] -> int
, which means that it is a function that takes an array of strings
and returns a signed 32-bit integer. And in fact, the seemingly unmotivated 0
in line 9
is the return value of main. You can verify this by replacing the 0
with a string
"foo"
, and see what the compiler says: It will yell at you for trying to
return a string, where an integer was required.
One of the nice things about F# is that you don't have to constantly remind it of the types of everything - types are inferred (I call it "types without the typing"). What this means is that the compiler can usually figure out the types by itself, and check for consistency. If it can't, it will tell you with an error message, and usually a simple type annotation or two is all the guidance it needs. You get all the benefits of strong typing (compile-time or even edit-time error checking) without the cost (having to type lots of redundant stuff).
To put it slightly differently: You don't need to say for the 157th time
1: 2: |
|
because
1: 2: |
|
is always
1: 2: |
|
wie es singt und lacht. Let the damn computer figure it out.
In F# a lot of the defaults are the "other way round" from what you may be used
to. For example, variables aren't. Once you assign a name to a value by saying
let a = 3
, a
will have the value of 3 until the end of time. And no, that is not
a problem, it just takes some getting used to. If you still want a
to be a
"variable", you need to explicitely say so. If you tend to "forget" to look at
the return value of function calls, the compiler will politely remind you
to pipe the return value to the ignore
function.
You can still keep all your bad habits, you just need to be explicit about them.
After a while you might realize that is actually much less work to do the Right Thing,
and presto - you have discovered "long-term lazinesss":
Doing what is the least amount of work in the long run.
If you are still with me, you may ask yourself, "why bother with all this, and not write this code directly in C?" Excellent question, simpler is almost always better. What F# gives you is the ability to work on higher levels of abstraction. Often what you end up with is code that is substantially easier to read and understand than C (and also to write, with a little practice).
Here's another lame analogy for you: Imagine cooking a meal in "cooking show style"; rather than having some semi-hostile looking vegetables to deal with, every ingredient is nicely peeled, chopped, and available for use in its own little glass bowl. In my mind, using native libraries from F# is like that: All the ingredients are conveniently arranged for you to be creative with. True, you have to deal with all the dishes (writing P/Invoke declarations), but once you have done that, the process is so much more enjoyable, which often leads to better outcomes.
So in the future, please come back to read about the following attractions that I didn't have time to cover today:
For comments, feel free to hit me up on Twitter!. And in the meantime, you can order yourself one of those great cheapo USB radios!
The intersection of F#, P/Invoke and .Net Core is currently a little under-documented. Here are some references I find useful:
Other projects that have more of a focus on C# and/or Windows:
No Monads were harmed in the creation of this blog post.


Toggle navigation
Ankur Jain
Yesterday
Issue #3 resolved, Issue #2 pushed to next sprint due to change in LOE.
Sanjay Murthy
Tue, 13:07
Server is not responding, anyone has some insight on cause?
Arohi Gupta
Mon, 14:02
Expect downtime on Tuesday 13:00 due to system maintenance. Expected downtime: 8 minutes. Notifications sent.
Leidy Perez
Mon, 09:14
Scrum meeting postponed so all resources are focused on prioritized issues.
Read All Broadcast Messages
Issue #1
100% Complete
100% Complete (success)
Issue #2
20% Complete
20% Complete
Issue #3
100% Complete
100% Complete (warning)
Issue #4
80% Complete
80% Complete (danger)
See All Issues
Ashutosh G. logged in
12 minutes ago
Issue #3 completed
Yesterday
Maintenance scheduled
Mon, 12:18
Message sent
Mon, 09:14
Server rebooted
Sun, 11:59
See All Alerts
User Profile
Settings
Logout
Dashboard
Issues
History
In Progress
New Issue
Network Topologies
Traditional Network
Software Defined Network
Baseline Traffic
Current Traffic
Trend Analysis
PNDA Dashboard
Team Communication
UI Elements
Panels and Wells
Buttons
Notifications
Typography
Icons
Grid
Multi-Level Dropdown
Second Level Item
Second Level Item
Third Level
Third Level Item
Third Level Item
Third Level Item
Third Level Item
Software Defined Network


JavaScript variables can be objects. Arrays are special kinds of objects.
Because of this, you can have variables of different types in the same Array.
You can have objects in an Array. You can have functions in an Array. You can have arrays in an Array:
myArray[0] = Date.now;
myArray[1] = myFunction;
myArray[2] = myCars;
The real strength of JavaScript arrays are the built-in array properties and methods:
var x = cars.length; // The length property returns the number of elements
var y = cars.sort(); // The sort() method sorts arrays
Array methods are covered in the next chapters.
The length property of an array returns the length of an array (the number of array elements):
The length property is always one more than the highest array index.
The best way to loop through an array, is using a for loop:
You can also use the Array.forEach() function:
Ver Ejemplo3The easiest way to add a new element to an array is using the push() method:
New element can also be added to an array using the length property:
WARNING!
Adding elements with high indexes can create undefined "holes" in an array:
Many programming languages support arrays with named indexes.
Arrays with named indexes are called associative arrays (or hashes).
JavaScript does not support arrays with named indexes.
In JavaScript, arrays always use numbered indexes.
WARNING!
If you use a named indexes, JavaScript will redefine the array to a standard object.
After that, some array methods and properties will produce incorrect results:


A C D F G H L M N P R S T
All Classes All Packages
All Classes All Packages
All Classes All Packages
G
- getAddress() - Method in class com.lambdaschool.crudyrestaurants.models.Restaurant
-
Getter for address.
- getCity() - Method in class com.lambdaschool.crudyrestaurants.models.Restaurant
-
Getter for city
- getDish() - Method in class com.lambdaschool.crudyrestaurants.models.Menu
-
Getter for dish.
- getMenuid() - Method in class com.lambdaschool.crudyrestaurants.models.Menu
-
Getter for menuid.
- getMenus() - Method in class com.lambdaschool.crudyrestaurants.models.Restaurant
-
Getter for menus.
- getName() - Method in class com.lambdaschool.crudyrestaurants.models.Restaurant
-
Getter for name.
- getPaymentid() - Method in class com.lambdaschool.crudyrestaurants.models.Payment
-
Getter for paymentid.
- getPayments() - Method in class com.lambdaschool.crudyrestaurants.models.Restaurant
-
Getter for Payments.
- getPrice() - Method in class com.lambdaschool.crudyrestaurants.models.Menu
-
Getter for price.
- getRestaurant() - Method in class com.lambdaschool.crudyrestaurants.models.Menu
-
Setter for Restaurant.
- getRestaurantById(Long) - Method in class com.lambdaschool.crudyrestaurants.controllers.RestaurantController
-
Returns a single restaurant based off a restaurant id number.
- getRestaurantByName(String) - Method in class com.lambdaschool.crudyrestaurants.controllers.RestaurantController
-
Returns a single restaurant based off of a restaurant's name.
- getRestaurantid() - Method in class com.lambdaschool.crudyrestaurants.models.Restaurant
-
Getter for restaurantid.
- getRestaurants() - Method in class com.lambdaschool.crudyrestaurants.models.Payment
-
Getter for the Restaurants using this payment.
- getSeatcapacity() - Method in class com.lambdaschool.crudyrestaurants.models.Restaurant
-
Getter for seatcapacity.
- getState() - Method in class com.lambdaschool.crudyrestaurants.models.Restaurant
-
Getter for the state.
- getTelephone() - Method in class com.lambdaschool.crudyrestaurants.models.Restaurant
-
Getter for the telephone.
- getType() - Method in class com.lambdaschool.crudyrestaurants.models.Payment
-
Getter for type.
All Classes All Packages


Application
Home
(current)
Features
Pricing
Dropdown
Action
Another action
Something else here
Hello, world!
You don’t have javascript enabled.
Please enable it to get the full experience.


In traditional Japanese aesthetics, wabi-sabi is a world view centered on the acceptance of transience and imperfection. The aesthetic is sometimes described as one of beauty that is "imperfect, impermanent, and incomplete.”


I've been developing web sites since the mid 1990's and have never stopped learning. Pretty much everything I know I have learnt it from other people. I feel we need to create a hub of learners where we can meet, share knowledge and collaborate with each other.


How satisfied are you with our website?
Very satisfied
Somewhat satisfied
Neutral
Somewhat dissatisfied
Very dissatisfied
How did you learn of our website?
Newspaper or magazine article
Friend/colleague
(Your company name) employee
Company materials
Google search
Yahoo search
Another search engine (please put the name in the Comments area below)
Surfing the web
On your last visit, what was your primary reason for visiting our website?
Seeking company information
Seeking product information
Seeking contact information
Product purchase
Seeking Company working hours
Seeking Company locations/directions
How often do you visit our website?
Daily
Weekly
Monthly
Quarterly
Annually
Please rate us on the following attributes:
Ease of navigation
Freshness of content
Accuracy of information
Quality of content
Quantity of content
Layout/design
How likely are you to visit our website again?
Very likely
Somewhat likely
Neutral
Somewhat unlikely
Very unlikely
Submit


I must confess I had rather high expectations of this one, due to Shulgin's note that he flirted with the mythical ++++ with this substance. I was disappointed by the experiences I had in relation to that, and learned yet again that expectation is probably my biggest stumbling block as I continue exploring the psychedelic world. Nevertheless, there's something unique here that I enjoy, if I can just put my finger on it. It's a remarkably subtle experience, and those who know me know that I appreciate subtlety in a drug experience about as much as I appreicate watching golf on television, which is to say rarely if ever.
First of all, though, it's worth noting that the ++++ Shulgin describes is actually in relation to a different substance, 4-ho-DIPT. The theory is that 4-acetoxy-DIPT converts into 4-ho-DIPT in the brain, and so although the experience might take a bit longer to unfold than 4-ho-DIPT, it is essentially the same drug. 4-acetoxy-DIPT has the advantage of being a more stable compound than 4-ho-DIPT, which is why one would prefer it.
In TIHKAL, Shulgin describes the active dose as having a maximum of around 20mg, but I have found Shulgin to be a relentless lowballer when it comes to these things, or rather, I am a giant pig when it comes to these things and usually require More. My first experience with 4-acetoxy-DIPT involved a 30mg dose, followed by a 10mg boost at approximately 1.5 hours in.
The experience was, as I mentioned, remarkably subtle. I was looking for some kind of intensity that simply didn't manifest. I was completely unmoved intellectually or emotionally, and I sat on the couch for quite a while wondering if anything was actually happening. There was definitely a 'change of state,' sure, but it was not particularly useful or interesting. However, after a while I began to realize that my body had changed its timbre a bit; I was growing into the experience and feeling extremely sensual. My ground control drew a bath for me, and it was an immensely luscious experience. By 3.5 hours in, however, it was obvious the experience was ending, and at 4 hours, it was gone. I took MDMA later that night to good effect.
My next experience with 4-acetoxy-DIPT was at 40mg right from the start. A companion took 20mg, and boosted with 10mg later on. The subtlety of the experience that night is hard to encapsulate in words; we both agreed that 4-acetoxy-DIPT makes 'a good appetizer' for other things. It's a good way to shift your headspace without actually giving too much of a hard wrench, and indeed, one thing that I do believe is that it would make an excellent therapeutic tool, as a way to comfortably introduce novices to the feeling of an altered state, or even as a useful tool in itself for conversation. It doesn't demand much, but things are changed in the mind enough that perhaps some cobwebs could be shaken loose without fear of opening up traumatic spaces. We later took LSD after the 4-acetoxy-DIPT was over, and again, I had no cross-tolerance.
It is entirely possible that for me, hardhead that I am, an effective dose of this stuff is going to be much higher than what I've managed to try. By the same token, I have a good friend who has spoken to me before about an ability to appreciate subtlety in the psychedelic experience, in particular as it relates to taking smaller doses of drugs that I typically enjoy at high levels (such as 2C-B). 4-acetoxy-DIPT offers a lot of opportunity in that respect.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Langer wants 'battle-hardened' Australia to beat India in India in 2022
Australia news
Australia coach Justin Langer is aiming to get his side "battle hardened" and "ready" to knock India off their perch when his side tours the subcontinent in 2022.
India are the No.1 side on the the MRF Tyres ICC Test Team Rankings, and are enjoying a run of 11 undefeated home series in a row. South Africa were the last team to be swept aside by Virat Kohli's men, outplayed in all areas in a 3-0 defeat.
Beating India in home conditions has become one of the toughest tasks in world cricket, and Langer, who had stated his desire to do so soon after being appointed to the job last year, still has his mind set on the challenge.
Speaking to ESPNcricinfo, Langer said of India's intimidating form: "It reminds me of how hard [winning in India] is, that's for sure.
"It's always been the case that it's been hard to win in India. But that's the expectation, and we've got a couple of years now to find that maturity I'm talking about, to be nice and battle hardened and as ready as possible for that series."
Australia, still rebuilding after the ball-tampering episode, lost to India when they toured Down Under early this year, but with the return of Steve Smith and David Warner, Tim Paine's men retained the Ashes after drawing the Test series in England. The coach, though, believes they have a way to go in gaining maturity and consistency.
"I don't mean maturity in age, but coming together as a group," he said. "It takes great skill, but it takes time, great mental toughness and endurance, to be able to back it up over and over again."
India are scheduled to host Australia for four Tests, starting in September 2022.


|
Dear Bob
Your appointment with Joe is on Tuesday 8th November at 14:00.
You can cancel this appointment at any time.
Where you need to go
National Careers Service Manchester 7 Fairfax Rd Manchester M25 1AS
Telephone: (0161) 773 7835
Textphone: (0161) 773 7836
What to expect
During your discussion with the adviser, you'll talk about what your aims are around learning and work. The adviser will help you to consider the different routes to move you towards your goals. If relevant, the adviser will also encourage you to talk about your personal circumstances and what your strengths are. These are all factors that can help you make the best career decision.
The discussion is confidential, and you can make further appointments.
Before your interview you could:
- choose some jobs you'd like to do and think about why they appeal to you
- reflect on jobs, volunteering or other tasks you've done before
- consider what kind of learning or training you might like to do
- think about how confident you feel about taking the next step
|


Modbus supports 4 distinct data types, each with their own address space. You can read more about the Modbus protocol here.
| Object Type | Access | Size |
|---|---|---|
| Coil | Read-Write | 1-bit |
| Discrete Input | Read-Only | 1-bit |
| Input Registers | Read-Only | 16-bits |
| Holding Registers | Read-Write | 16-bits |


@(user : Option[User] = None) @main("SSMU Powerlifting Scheduling",user=user) {
| Lifter | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
|---|---|---|---|---|---|---|---|
| Jonathan | SSMU Powerlifting Saturdays |
SSMU Powerlifting Saturdays Starts at about 9:30AM every SaturdayForget your Saturday morning cartoons and come to the McGill Gym. There will be shenanigans, if Xin Di Dong is present, heavy weights, form checks and motivation. We invite you to join us, whether you want to do accessories, volume, HIIT, cardio or test your max, and have fun. |


Visualizing anything gives us a better understanding, a holistic picture of things, be it the monthly turn over of your company, the increasing temperature, or even tensed situations where you could have outrun everyone else, believe me, the later one works. The aim of art is to represent, not the outward appearance of things, but their inward significance.


| Event Type | Date | Description | Course materials | Reference |
|---|---|---|---|---|
| Lecture 1 | Feb 7 | Machine learning in the computational life sciences |
Read Goodfellow Part I [Slides] |
DL in Bioinformatics DL for computational biology The Roots of Bioinformatics ML in Genomic Medicine Awesome DeepBio Visual Information Theory |
| Lecture 2 | Feb 9 | Cancelled | ||
| Recitation 1 | Feb 10 | Neural Networks, Tensor Flow, Notebooks | [Notebook] | |
| Lecture 3 | Feb 14 | Neural Networks and Tensor Flow | Read Goodfellow Chapter 6 [Slides] Feed Forward Backprop |
Damien Nick Locascio TF site tutorials |
| Lecture 4 | Feb 16 | Neural Networks (CNN, RNN) | Read Goodfellow Chapter 9 and 10 [Slides] |
|
| Recitation 2 | Feb 17 | Implementing CNNs | ||
| No class | Feb 21 | President’s Day | ||
| Lecture 5 | Feb 23 | RNA-seq reveals the expressed genome | ||
| PS1 due | Feb 23 | PS1 due | ||
| Recitation 3 | Feb 24 | RNNs/LSTMs | ||
| Lecture 6 | Feb 28 | Modeling gene regulation and expression (Student presentations) | ||
| Lecture 7 | Mar 02 | PCA, Dimensionality reduction (t-SNE), Autoencoders | ||
| Recitation 4 | Mar 03 | PCA, Autoencoders | ||
| Lecture 8 | Mar 07 | Characterizing Protein-DNA interactions using ChIP Seq and Motif Discovery | ||
| Lecture 9 | Mar 09 | Deep Learning for Protein-DNA Interactions (Student Presentation) | ||
| PS2 due | Mar 09 | PS2 due | ||
| Recitation 5 | Mar 10 | Neural Network Tips (normalization, activation functions) | ||
| Lecture 10 | Mar 14 | Characterizing the regulatory genome | ||
| Lecture 11 | Mar 16 | Medical Image Understanding (Adrian) | ||
| Recitation 6 | Mar 17 | Neural Network Tips (Dropout, Uncertainty Estimation, etc) | ||
| Lecture 12 | Mar 21 | Medical Record Understanding (David Sontag) | ||
| Lecture 13 | Mar 23 | Predicting the regulatory genome with deep learning (Student Presentation) | ||
| PS3 due | Mar 23 | PS3 due | ||
| Recitation 7 | Mar 24 | Discussion of project ideas | ||
| No class | Mar 28 | Spring break | ||
| No class | Mar 30 | Spring break | ||
| Lecture 14 | Apr 4 | eQTL prediction and variant prioritization | ||
| Lecture 15 | Apr 6 | Deep Learning for eQTL and variant prediction (Student Presentation) | ||
| Recitation 8 | Apr 7 | Interpreting Deep Learning Models | ||
| Exam | Apr 11 | Exam | ||
| Project proposal due | Apr 11 | Project proposal due | ||
| No class | Apr 18 | Patriots day | ||
| Project due | May 11 | Project due | ||
| Project presentations | May 25-26 | Project presentations |


| CONTENTS | PREV | NEXT | Java Remote Method Invocation |
The general rules for a class that implements a remote interface are as follows:
- The class usually extends
java.rmi.server.UnicastRemoteObject
, thereby inheriting the remote behavior provided by the classesjava.rmi.server.RemoteObject
andjava.rmi.server.RemoteServer
.- The class can implement any number of remote interfaces.
- The class can extend another remote implementation class.
- The class can define methods that do not appear in the remote interface, but those methods can only be used locally and are not available remotely.
For example, the following classBankAcctImpl
implements theBankAccount
remote interface and extends thejava.rmi.server.UnicastRemoteObject
class:
package mypackage; import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject; public class BankAccountImpl extends UnicastRemoteObject implements BankAccount { private float balance = 0.0; public BankAccountImpl(float initialBalance) throws RemoteException { balance = initialBalance; } public void deposit(float amount) throws RemoteException { ... } public void withdraw(float amount) throws OverdrawnException, RemoteException { ... } public float getBalance() throws RemoteException { ... } }
Note that if necessary, a class that implements a remote interface can extend some other class besidesjava.rmi.server.UnicastRemoteObject
. However, the implementation class must then assume the responsibility for exporting the object (taken care of by theUnicastRemoteObject
constructor) and for implementing (if needed) the correct remote semantics of thehashCode
,equals
, andtoString
methods inherited from thejava.lang.Object
class.


Gregor von Laszewski is an Assistant Director in the Digital Science Center (DSC) in the School of Informatics and Computing at Indiana University. He also holds a position as Adjunct Professor in the Intelligent Systems Engineering Department. Previously he held Adjunct Professor positions at the Computer Science Department at Indiana University and University of North Texas, he has also taught on a voluntary basis at Illinois Institute of Technology. He received a Masters Degree in 1990 from the University of Bonn, Germany, and a Ph.D. in 1996 from Syracuse University in computer science. He held a position at Argonne National Laboratory from Nov. 1996 – Aug. 2009, where he was last a scientist and a fellow of the Computation Institute at University of Chicago. During his last two years at ANL he was on sabbatical and an Associate Professor and the Director of an institution at Rochester Institute of Technology, focusing on Cyberinfrastructure.
He provided leadership to interface with the with San Diego Supercomputing Center on virtual clusters for XSEDE comet. Previously, he was the architect of FutureGrid, one of the first successful clouds in US academia. He was previously involved in Grid computing since the term was coined. Before that, he initiated and led the Java Commodity Grid Kit (http://www.cogkit.org) which provided the basis for hundreds of Grid related projects, including the Globus Toolkit.
His current interest and projects include cloud computing, big data, and scientific impact metrics. He initiated the Cloudmesh project (https://cloudmesh.github.io/cloudmesh-manual/) which is a toolkit to enable cloud computing across various Cloud and Container IaaS such as OpenStack, AWS, Azure, docker, docker swarm, and Kubernetes.
To contact him, please send mail to<EMAIL_ADDRESS>PhD in Computer Science, 1996
Syracuse University
Diplom Informatiker (MS. in Computer Science), 1989
University of Bonn, Germany
The pronunciation of my lastname is as follows:
fon La-Chef-Ski
von La-Chef-Ski
The coat of arms changes over time dependent on various factors. Here are some variations of the coat of arms.
Often I am asked where my name comes from. If you like to know more,
please check out the information about the name von Laszewski
.
However, please note that the information refers to the early use of the
name. It is related to a teutonic knight called Zelberschwecht
. At one
point in history they took on the name of the town Laszewo
where they
used to live.
To find out more, about the family tries of Laszewski’s please visit:


19 Aug 2016
Thoughts on Fast Multipole III
Continue with last post. Consider the pseudo-differential elliptic operator $P = \sum_{|\alpha|\le 2m} c_{\alpha}(x) D^{\alpha}$, if we have $P u(x) = f(x)$, with Dirichlet boundary condition $u^{\alpha} = 0$ for $|\alpha|\le m-1$.
$$\int_{\Omega}(P^{\ast}v(x, y))u(x) - (Pu(x)) v(x, y) dx = \sum_{\beta}\int_{\partial\Omega}\psi_{\beta}(x) v^{\beta}(x, y) dx$$
Here consider Green function $P^{\ast}v(x, y) = \delta_y(x)$, which is $P v(y, x) = \delta_y(x)$. If we say $K(x, y)$ is Green function of $P$, then we have to replace $x$ and $y$ in $v$, thus $K(x, y) = v(y, x)$.
$$u(y) - \int_{\Omega} f(x)K(y, x)dx = \sum_{\beta} \int_{\partial\Omega}\psi_{\beta}(x) K^{\beta}(y, x) dx$$
Now come back to our previous exterior problem, if $f = 0$ in $\Omega^{c}$, then for $y\in\Omega$, here $\Omega$ could be internal domain or external domain.
$$u(y) =\sum_{|\beta|\le m - 1}\int_{\partial\Omega}\psi_{\beta}(x) K^{\beta}(y, x) dx$$
In 2D, there are $C_{m+1}^2$ terms in this summation, with discretization, and merge weights into $\psi$.
$$u(y_j) = \sum_{\beta} \sum_{k=1}^p \psi_{\beta}(x_k) K^{\beta}(x_k, y_j) $$
There are $pC_{m+1}^2$ unknowns for this problem. Just one surface is enough. This can be seen as an extension of KIFMM
method.
Numerical concerns
The summation over $\partial\Omega$ requires too many points (unknowns) to find out. Here we can simulate $K^{\beta}(x_k, y_j)$ by taking finite difference to approximate the derivatives. Then we only need $m$ surfaces to find out all $K^{\beta}(x, \cdot)$, each surfaces we can place equally spaced $p$ points.
Infinite order case
It seems to me that given all points inside a annulus will be enough for this.
Failure for numerics
Just for a update. In numerical world, finite difference is rather a really bad idea to approximate derivatives, esp. those high order terms. Thus KIFMM
is an effective fast low order PDE solver.


Nail Sloution
ig
Salon
Toggle navigation
Home
About Us
Gallery
Services
Contact
Gallery Masonary
Home
Gallery Masonary
Latest Photos


class: center, middle, inverse # On Schemes for Exponential Decay ###**Hans Petter Langtangen** at Center for Biomedical Computing, Simula Research Laboratory and Department of Informatics, University of Oslo ### Sep 24, 2015 Copyright 2015, Hans Petter Langtangen. Released under CC Attribution 4.0 license .center[
] --- class: inverse ## Goal The primary goal of this demo talk is to demonstrate how to write talks with [DocOnce](https://github.com/hplgit/doconce) and get them rendered in numerous HTML formats. --- class: inverse # Problem setting and methods .center[
] --- class: inverse ## We aim to solve the (almost) simplest possible differential equation problem $$ \begin{equation} u'(t) = -au(t) \label{ode} \end{equation} $$ $$ \begin{equation} u(0) = I \label{initial:value} \end{equation} $$ Here, * \\( t\in (0,T] \\) * \\( a \\), \\( I \\), and \\( T \\) are prescribed parameters * \\( u(t) \\) is the unknown function * The ODE \eqref{ode} has the initial condition \eqref{initial:value} .center[
] --- class: inverse ## The ODE problem is solved by a finite difference scheme * Mesh in time: \\( 0= t_0< t_1 \cdots < t_N=T \\) * Assume constant \\( \Delta t = t_{n}-t_{n-1} \\) * \\( u^n \\): numerical approx to the exact solution at \\( t_n \\) The \\( \theta \\) rule, $$ u^{n+1} = \frac{1 - (1-\theta) a\Delta t}{1 + \theta a\Delta t}u^n, \quad n=0,1,\ldots,N-1 $$ contains the [Forward Euler](http://en.wikipedia.org/wiki/Forward_Euler_method) (\\( \theta=0 \\)), the [Backward Euler](http://en.wikipedia.org/wiki/Backward_Euler_method) (\\( \theta=1 \\)), and the [Crank-Nicolson](http://en.wikipedia.org/wiki/Crank-Nicolson) (\\( \theta=0.5 \\)) schemes. --- class: inverse ## The Forward Euler scheme explained
--- class: inverse ## Implementation *Implementation in a Python function:* ```python def solver(I, a, T, dt, theta): """Solve u'=-a*u, u(0)=I, for t in (0,T]; step: dt.""" dt = float(dt) # avoid integer division N = int(round(T/dt)) # no of time intervals T = N*dt # adjust T to fit time step dt u = zeros(N+1) # array of u[n] values t = linspace(0, T, N+1) # time mesh u[0] = I # assign initial condition for n in range(0, N): # n=0,1,...,N-1 u[n+1] = (1 - (1-theta)*a*dt)/(1 + theta*dt*a)*u[n] return u, t ``` --- class: inverse ## How to use the solver function *A complete main program.* ```python # Set problem parameters I = 1.2 a = 0.2 T = 8 dt = 0.25 theta = 0.5 from solver import solver, exact_solution u, t = solver(I, a, T, dt, theta) import matplotlib.pyplot as plt plt.plot(t, u, t, exact_solution) plt.legend(['numerical', 'exact']) plt.show() ``` --- class: inverse # Results .center[
] --- class: inverse ## The Crank-Nicolson method shows oscillatory behavior for not sufficiently small time steps, while the solution should be monotone .center[
] --- class: inverse ## The artifacts can be explained by some theory Exact solution of the scheme: $$ u^n = A^n,\quad A = \frac{1 - (1-\theta) a\Delta t}{1 + \theta a\Delta t}\thinspace . $$ Key results: * Stability: \\( |A| < 1 \\) * No oscillations: \\( A>0 \\) * \\( \Delta t < 1/a \\) for Forward Euler (\\( \theta=0 \\)) * \\( \Delta t < 2/a \\) for Crank-Nicolson (\\( \theta=1/2 \\)) *Concluding remarks:* Only the Backward Euler scheme is guaranteed to always give qualitatively correct results.


The picketlink-sts quickstart demonstrates how to deploy a fully compliant WS-Trust Security Token Service (STS) to Red Hat JBoss Enterprise Application Platform.
There is no user interface for this quickstart. Instead, follow these steps to test the service.


Savannah Kelleher
Board Member
Savannah joined the board of Sibling Connections in the fall of 2017. She graduated from Purdue University in 2009 with a degree in Political Science. Following graduation, she moved to Denver, Colorado where she began her career in government relations. She is currently the Associate Vice President of State Affairs at ADS Ventures, a boutique lobbying firm in Boston, where she specializes in strategic public policy and government relations counsel to nonprofit and community-based organizations. She lives in Scituate with her husband, Sean, and their two Golden Retrievers, Macon and Baxlee.


Library: Foundation
Package: Threading
Header: Poco/Timer.h
Description
This class implements a thread-based timer. A timer starts a thread that first waits for a given start interval. Once that interval expires, the timer callback is called repeatedly in the given periodic interval. If the interval is 0, the timer is only called once. The timer callback method can stop the timer by setting the timer's periodic interval to 0.
The timer callback runs in its own thread, so multithreading issues (proper synchronization) have to be considered when writing the callback method.
The exact interval at which the callback is called depends on many factors like operating system, CPU performance and system load and may differ from the specified interval.
The time needed to execute the timer callback is not included in the interval between invocations. For example, if the interval is 500 milliseconds, and the callback needs 400 milliseconds to execute, the callback function is nevertheless called every 500 milliseconds. If the callback takes longer to execute than the interval, the callback function will not be called until the next proper interval. The number of skipped invocations since the last invocation will be recorded and can be obtained by the callback by calling skipped().
The timer thread is taken from a thread pool, so there is a limit to the number of available concurrent timers.
Inheritance
Direct Base Classes: Runnable
All Base Classes: Runnable
Member Summary
Member Functions: getPeriodicInterval, getStartInterval, restart, run, setPeriodicInterval, setStartInterval, skipped, start, stop
Inherited Functions: run
Constructors
Timer
Timer(
long startInterval = 0,
long periodicInterval = 0
);
Creates a new timer object. StartInterval and periodicInterval are given in milliseconds. If a periodicInterval of zero is specified, the callback will only be called once, after the startInterval expires. To start the timer, call the Start() method.
Destructor
~Timer
virtual ~Timer();
Stops and destroys the timer.
Member Functions
getPeriodicInterval
long getPeriodicInterval() const;
Returns the periodic interval.
getStartInterval
long getStartInterval() const;
Returns the start interval.
restart
void restart();
Restarts the periodic interval. If the callback method is already running, nothing will happen.
restart
void restart(
long milliseconds
);
Sets a new periodic interval and restarts the timer. An interval of 0 will stop the timer.
setPeriodicInterval
void setPeriodicInterval(
long milliseconds
);
Sets the periodic interval. If the timer is already running the new interval will be effective when the current interval expires.
setStartInterval
void setStartInterval(
long milliseconds
);
Sets the start interval. Will only be effective before start() is called.
skipped
long skipped() const;
Returns the number of skipped invocations since the last invocation. Skipped invocations happen if the timer callback function takes longer to execute than the timer interval.
start
void start(
const AbstractTimerCallback & method
);
Starts the timer. Create the TimerCallback as follows:
TimerCallback<MyClass> callback(*this, &MyClass::onTimer); timer.start(callback);
The timer thread is taken from the global default thread pool.
start
void start(
const AbstractTimerCallback & method,
Thread::Priority priority
);
Starts the timer in a thread with the given priority. Create the TimerCallback as follows:
TimerCallback<MyClass> callback(*this, &MyClass::onTimer); timer.start(callback);
The timer thread is taken from the global default thread pool.
start
void start(
const AbstractTimerCallback & method,
ThreadPool & threadPool
);
Starts the timer. Create the TimerCallback as follows:
TimerCallback<MyClass> callback(*this, &MyClass::onTimer); timer.start(callback);
start
void start(
const AbstractTimerCallback & method,
Thread::Priority priority,
ThreadPool & threadPool
);
Starts the timer in a thread with the given priority. Create the TimerCallback as follows:
TimerCallback<MyClass> callback(*this, &MyClass::onTimer); timer.start(callback);
stop
void stop();
Stops the timer. If the callback method is currently running it will be allowed to finish first. WARNING: Never call this method from within the callback method, as a deadlock would result. To stop the timer from within the callback method, call restart(0).
run
void run();
See also: Poco::Runnable::run()


Analytics is a way for you to track how users interact with your data. To use our analytics services some configuration needs to take place. By default analytic tracking is not setup in the application. This means that page views and events will not be tracked. To enable page tracking and custom event tracking follow the steps below.
The two analytic services that we provide are Piwik and Splunk.
### Virtual Page Tracking
Virtual page tracking is disabled by default, to enable virtual page tracking you will need to set to call `analyticsProvider.virtualPageTracking()` and pass in true. Once this is enabled all page visits will be tracked.
### Anatomy of an Event
> The following descriptions were copied from [http://www.statstory.com/](http://www.statstory.com/tracking-events-in-google-analytics/)
* **category** - This is the name you want to give for the collection where actions you want to track will occur. An example of category could be Video’s or Datasheets.
* **action** - This is a string which is paired with each category, and most often is used to describe the user interaction with your content. An example could be play, click or download.
* **label** - This is an optional string which can be valuable in adding a dimension to the event data. Usually I use it to differentiate content. For example, if you want to know which specific video is played or which datasheet is downloaded.
* **value** - This is a number, which you can use to provide a numerical dimension to a user action. Normally, I leave this blank unless I have an ecommerce reason. For example if you have a form, where a user can fill in a price or quantity, you can pass this value via an event.
### Event Tracking
To add a tracking event to a element on the page you will need to use the `av-analytics-on` directive. The example below will demonstrate how to use the directive. When using the avAnalyticsOn directive you will need to include 3 required attributes to the element. There are also three optional attributes that you can also add for more detail.
* **av-analytics-on** - required
* **av-analytics-category** - required for Piwik
* **av-analytics-action** - required for Piwik
* **av-analytics-label** - optional for Piwik
* **av-analytics-value** - optional for Piwik - numeric only
To register a new analytic service you would call `analyticsProvider.registerPlugins()` passing in a array of services you want to register.
### Custom Variables
Currently custom variables are only provided via Piwik and are scoped throughout the users session.
In order to access custom variables you must go through the `avPiwikAnalyticsServiceProvider` from your configuration and use `.setVisitVariable` with parameters `index`, `valueName` and `value`.
Due to restrictions on Piwik you are currently limited to only 5 variables in index 1 through 5, reusing an index will reset the values assigned to it, but not the amount of actions associated with it.
> **Note:** `index` must be an int and `valueName` must be defined or the function will return errors.


$0.00/mo
Including
- No Support
- 1 Website
- 10GB Disk Space
- 3 Database
- 1 Email Address
$29.00/mo
Including
- 24/7 Support
- 1 Website
- 100GB Disk Space
- 10 Database
- 10 Email Address
$39.00/mo
Including
- 24/7 Support
- Unlimited Website
- 500GB Disk Space
- 25 Database
- 50 Email Address
$99.00/mo
Including
- 24/7 Support
- Unlimited Website
- Unlimited Disk Space
- Unlimited Database
- 100 Email Address
$29.00/mo
Including
- 24/7 Support
- 1 Website
- 100GB Disk Space
- 10 Database
- 10 Email Address
$39.00/mo
Including
- 24/7 Support
- Unlimited Website
- 500GB Disk Space
- 25 Database
- 50 Email Address
$0.00/mo
Including
- No Support
- 1 Website
- 10GB Disk Space
- 3 Database
- 1 Email Address


Some text
This text won't change because it overrides
This example uses OpenLight in auto mode
Toggle


I am a student in first year, studying BIS in University College Cork. I am 19 years old.
Here you can find information about BISI have a variety of different roles including taking customers orders, taking payments, serving food, answering the phone and general restaurant upkeep such as cleaning tables.
I began as a glass collector but soon received a promotion. I was trained into the bar as a result of my hard work and good people skills. My roles included serving customers, taking payments and replacing kegs.
As part of fourth year work experience, I worked in the Munster Branch Offices for one week with a different role each day. I worked in the Accounting Department organising data, worked in IT designing the match programmes and with other departments using Excel. As a result of the good work that I did, I was offered a job selling programmes at the Munster matches in Musgrave Park.
1st year Business Information Systems
| Subject | Grade |
|---|---|
| Business | H1 |
| Biology | H2 |
| Irish | H2 |
| English | H3 |
| Accounting | H3 |
| French | H3 |
| Maths | H4 |


BROADCAST NEWS A film review by Craig Good Copyright 1987 Craig Good
Let me blurt it right out: BROADCAST NEWS is one of the best films of the year. It's common for the studios to hold their Oscar hopefuls for Christmas. We should be hearing about this film again in February.
The cast is fabulous. Albert Brooks gets most of the film's many funny lines and delivers a poignant performance as the well-educated reporter who just can't make it on camera. William Hurt shows yet another facet of his talent by playing the well-meaning but shallow sportscaster who is hurtled toward the anchor desk by sheer dint of good looks. He's not really an airhead, but he is, as we say in the trade, just a little behind the audience. My favorite discovery was Holly Hunter (if she isn't nominated then the Academy has less soul than even I suspect). As the obsessive-compulsive news producer she dominates the film while she tries to dominate her job. There is also what amounts to a wonderful cameo by a well-known actor, but I don't want to spoil it for you. You'll know what I mean when you see the film.
The intelligent script is fairly littered with gems. I heard so many good lines, many of them in background conversation, that I can't begin to remember them all. It makes me want to rent it on video and sit down with a note pad and a remote control. As the story is told of the developing love triangle all three characters are brought out as sympathetic, breathing human beings. We wind up liking them each so much that we don't want any of them to be hurt. But the bittersweet nature of the comedy starts to appear near the end when we realize that in a triangle *somebody* has to lose. The ending surprised me and may disappoint some, but rings very true.
BROADCAST NEWS is refreshingly well-researched. Everything about the frenetic, neurotic nature of television is right on the money. Most people will probably think that it was all exaggerated for the movie. I hope at least that they learn something about what goes on behind the little glass screen. But don't go just to get educated.
--Craig ...{ucbvax,pyramid,sun}!pixar!good
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


Hi,
we keep getting out of memory errors in our nightly builds. The errors seem to happen in the
startup phase, because once maven starts it will run through.
Continuum 1.2.2 runs in a Tomcat. Increasing memory in JAVA_OPTS and MAVEN_OPTS did not fix
the problem, the current settings are -Xmx1400m -XX:MaxPermSize=512m.
The problem is probably due to the large size the source code, we check out several gigabytes
in a clean checkout and have roughtly 1000 projects. Out of memory problems happened to us
before with other CI applications (Cruisecontrol and Hudson), in CC we got rid of them by
using CC simply as a cron substitute - but that's not exactly how one should use a CI server.
Any ideas? Here is the output from the log.
2009-02-06 09:46:34,491 [pool-1-thread-1] INFO buildController - Initializing build
2009-02-06 09:51:22,277 [pool-1-thread-1] INFO buildController - Starting build of XXX
2009-02-06 09:51:22,324 [pool-1-thread-1] INFO buildController - Updating working dir
2009-02-06 09:51:22,324 [pool-1-thread-1] INFO buildController - Performing action check-working-directory
2009-02-06 09:51:22,324 [pool-1-thread-1] INFO buildController - Performing action update-working-directory-from-scm
2009-02-06 09:51:22,355 [pool-1-thread-1] INFO action#update-working-directory-from-scm
- Updating project: XXX', id: '1158' to 'D:\Continuum\working-directory\1158'.
2009-02-06 09:51:22,386 [pool-1-thread-1] INFO org.apache.continuum.scm.manager.Slf4jScmLogger
- Executing: cmd.exe /X /C "svn --non-interactive update D:\Continuum\working-directory\1158"
2009-02-06 09:51:22,386 [pool-1-thread-1] INFO org.apache.continuum.scm.manager.Slf4jScmLogger
- Working directory: D:\Continuum\working-directory\1158
2009-02-06 09:59:26,180 [pool-1-thread-1] INFO org.apache.continuum.scm.manager.Slf4jScmLogger
- Executing: cmd.exe /X /C "svn --non-interactive log -v -r "{2009-02-05 10:43:41 +0000}:{2009-02-06
08:59:26 +0000}" http://xxx/trunk"
2009-02-06 09:59:26,180 [pool-1-thread-1] INFO org.apache.continuum.scm.manager.Slf4jScmLogger
- Working directory: D:\Continuum\working-directory\1158
2009-02-06 09:59:26,492 [pool-1-thread-1] INFO action#update-working-directory-from-scm
- Updated 65 files.
2009-02-06 09:59:26,508 [pool-1-thread-1] INFO buildController - Merging SCM results
2009-02-06 09:59:35,663 [pool-1-thread-1] INFO buildController - AlwaysBuild configured,
building
2009-02-06 09:59:35,663 [pool-1-thread-1] INFO buildController - Performing action update-project-from-working-directory
2009-02-06 09:59:35,663 [pool-1-thread-1] INFO action#update-project-from-working-directory
- Updating project 'XXX' from checkout.
2009-02-06 10:00:00,458 [continuumScheduler_Worker-0] INFO schedulesActivator - >>>>>>>>>>>>>>>>>>>>>
Executing build job (DEFAULT_SCHEDULE)...
2009-02-06 10:02:15,609 [Thread-3] ERROR taskQueueExecutor#build-project - Error executing
task
edu.emory.mathcs.backport.java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError:
Java heap space
at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.getResult(FutureTask.java:301)
at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.get(FutureTask.java:120)
at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.waitForTask(ThreadedTaskQueueExecutor.java:159)
at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.run(ThreadedTaskQueueExecutor.java:127)
Caused by: java.lang.OutOfMemoryError: Java heap space
Regards, Thomas
--
Jetzt 1 Monat kostenlos! GMX FreeDSL - Telefonanschluss + DSL
für nur 17,95 Euro/mtl.!* http://dsl.gmx.de/?ac=OM.AD.PD003K11308T4569a
|


https://leetcode.com/problems/same-tree/
You are given a string, s, and a list of words, words, that are all of the same length. Find all starting indices of substring(s) in s that is a concatenation of each word in words exactly once and without any intervening characters. Example 1: Input: s = "barfoothefoobarman", words = ["foo","bar"] Output: [0,9] Explanation: Substrings starting at index 0 and 9 are "barfoor" and "foobar" respectively. The output order does not matter, returning [9,0] is fine too. Example 2: Input: s = "wordgoodgoodgoodbestword", words = ["word","good","best","word"] Output: []
class Solution(object): def findSubstring(self, s, words): """ :type s: str :type words: List[str] :rtype: List[int] """
class Solution(object): def findSubstring(self, s, words): """ :type s: str :type words: List[str] :rtype: List[int] """ if len(words) == 0 or len(s) == 0: return [] words = sorted(words) words_cnt = len(words) words_len = len(words[0]) solutions = [] for i in range(len(s)): solution = self.isMatch(s[i: i + words_cnt * words_len], words) if (solution): solutions.append(i) return solutions def isMatch(self, s, words): # as all the words are equal length # words has been sorted if len(s) != len(words) * len(words[0]): return False s2 = [] for i in range(len(words)): s2.append(s[i *len(words[0]): (i +1) * len(words[0])]) s2 = sorted(s2) for i in range(len(s2)): if s2[i] != words[i]: return False return True


--- layout: home --- Blog Resources Reading List
I am an incoming Master's thesis student in mechanical engineering at OSU starting Fall 2020. I want to help build a future where design, engineering, and making take into account sociocultural, racial, and economic factors. Think Critical Race Theory meets Engineering Solutions for the People (whether they're systemic or actual products). I am really interested in food storage and security, small-scale and urban agriculture, sustainability practicies, and asccessiblity for BIPOC communities.
I am currently a MEMS R&D engineer and prior I worked at HP’s 3D printing start-up division to create the first industrial color 3D printer after completing my B.S in mechanical engineering at UW.
In my free time, I enjoy climbing and mountaineering, playing ultimate, reading, and cooking.


Relude_Monads
This module does not have a toplevel documentation block.
module Functions
This is a collection of functions (and more modules that produce functions) that you get for free if your outer type is a monad. This includes all free functions from functor/apply/applicative as well.
other items defined


Public packages do not show on devlog-only game pages.You are only able to create private packages for testers while your game page is only a devlog. Once you publish your game page into early access or as a complete game, your public packages will show.
You haven't added any packages yet.
This game hasn't got any packages yet, and you don't have permissions to create any.


Previous: Smudge
Smudge: Tags
The basic tag within which all others must be contained is the < Page> tag. Each Page
will appear as a new tab in the chintz user interface. No Page can contain futher nested Pages. Three futher
types of container are available, Frames, Boxes and buttons.
The arrangement of Frames and Boxes is hierarchical - all appearing between a < Page> tag and its closing
< /Page> will be drawn on the same Page in the chintz user interface, but Frames may be nested within
Frames or Boxes, and Boxes within Boxes or Frames
Thus:-
< Page,id=firstPage>
    < Frame>
        < line> < Title> A Text Line\nWith a line break < /Title> < /line>
    < /Frame>
< /Page>
< Page,id=second Page>
    < Frame>
        < Frame>
            < Title> A Nested Frame < /Title>
        < /Frame>
    < /Frame>
< Page>
defines two Pages, the first with a Frame drawn on it, within which there appears a text Box. Note the
use of \n to break the text over two lines. The second Page contains two Frames, one drawn within the other,
the second Frame bearing some title text. Indentation of the tags is included for clarity, but is not
required. Similarly , blank lines will be ignored, and tags may appear on the same line or separate lines.
Next: Tag definitions
Back to Smudge Contents
Last modified: Fri Jan 25 11:38:38 GMT 2002


Headline layout (default), left is constrained - min:150, max:250
top bar (resizable)
left (resizable b/w 150 → 250)
with
a link.
(to check we're copying children around properly).
Here's some text that comes AFTER the combo box.
right (fixed size)
bottom bar (resizable)
Sidebar layout, BiDi sensitive, liveSplitters: false
leading (fixed size)
top bar (fixed size)
main panel with
a link.
(to check we're copying children around properly).
Here's some text that comes AFTER the combo box.
bottom bar (resizable)
trailing (resizable)
Programatically created, then destroyed
BorderContainer with MenuBar


The GitHub, Kaggle, RStudio Connect and Website boards provide access to popular Data Science storage services; however, there can be many other interesting services to store resources through pins. For instance, Amazon S3, Amazon Glacier, Azure Blobs, Google File System and Hadoop, just to name a few. While those are not natively implemented in the pins
package, you can create packages that extend pins
to support many other services through custom boards.
For the purpose of creating custom boards, it helps to understand a board as a collection of files stored with a given name. It closely resembles a simple file systems, but it only requires the following operations to be implemented: create, get, find and remove. For read-only storage locations, you can also decide to implement only the ‘get’ and ‘find’ operations.
The most important S3 methods that your board needs to support are board_pin_create()
, board_pin_get()
, board_pin_find()
and board_pin_remove()
which define how to create, get, find and remove a pin.
The next S3 method to consider implementing is board_initialize()
which is optional to implement but provides support for initialization, this method usually deals with authentication.
The last function to consider implementing is board_browse()
, this function is used to browse to the location of the board. Usually implemented by calling browseURL()
to open to website of the service hosting the custom board.
To make this a bit more clear, the following section implements a custom board based on folders.
The following example creates a simple folder-based board, which stores pins in local folders, this is similar to the default ‘local’ board. It is advisable to create an R package that provides these methods, but you can also define them in a plain R script:
board_initialize.folder <- function(board, ...) {
if (!dir.exists("pins")) dir.create("pins")
board
}
board_pin_create.folder <- function(board, path, name, ...) {
dir.create(file.path("pins", name), recursive = TRUE, showWarnings = FALSE)
file.copy(dir(path, full.names = TRUE), file.path("pins", name), recursive = TRUE)
}
board_pin_get.folder <- function(board, name, ...) {
file.path("pins", name)
}
board_pin_find.folder <- function(board, text, ...) {
data.frame(name = dir("pins", text), stringsAsFactors = F)
}
board_pin_remove.folder <- function(board, name, ...) {
unlink(file.path("pins", name), recursive = TRUE)
}
You can optionally support data versions in your board to enable pin_versions()
and pin_get("name", version = "version")
by extending board_pin_versions
:
board_pin_versions.folder <- function(board, name, ...) {
data.frame(
version = 1
)
}
board_pin_get.folder <- function(board, name, version = NULL, ...) {
if (!is.null(version)) message("Version ", version, " requested!")
file.path("pins", name)
}
You can then use this folder
board like any other board:
library(pins)
board_register("folder")
pin(iris, board = "folder")
pin_get("iris", board = "folder")
## # A tibble: 150 x 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
## # … with 140 more rows
# A tibble: 150 x 5
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
<dbl> <dbl> <dbl> <dbl> <fct>
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
7 4.6 3.4 1.4 0.3 setosa
8 5 3.4 1.5 0.2 setosa
9 4.4 2.9 1.4 0.2 setosa
10 4.9 3.1 1.5 0.1 setosa
# … with 140 more rows
To extend pins
in a separate package, make sure to export the s3 generics from pins
. For example:
#' @importFrom pins board_initialize
#' @export
pins::board_initialize
#' @importFrom pins board_pin_create
#' @export
pins::board_pin_create
#' @importFrom pins board_pin_get
#' @export
pins::board_pin_get
#' @importFrom pins board_pin_find
#' @export
pins::board_pin_find
#' @importFrom pins board_pin_remove
#' @export
pins::board_pin_remove
#' @importFrom pins board_pin_versions
#' @export
pins::board_pin_versions


I have throughtout my first semester made five projects. This page will showcase each of those projects. Be aware that these projects are school projects. Select a project below to jump to it.
Wordpress portfolio
Our first project of the semester was to create our first portfolio through the blogging system Wordpress. Besides a wordpress site we also had to make a HTML5 website which documented our first five days at Copenhagen Business Academy as newly enrolled multimedia design students.
International website
Our second project was a bit special. Besides being our first group project, we also had to group up with one from the MULB class and one from the international class. The objective was to make a travel website, which again had to be a Wordpress site, from where the international student was from, which in my case was Slovakia.
Political campaign
For our third project we had to make a campaign website for the 2016 United States presidential election. That ment we either had to choose Hillary Clinton or Donald Trump. My group chose Hillary. For the project we had to use HTML and CSS instead of the blogging system Wordpress. Besides making the site we also had to create a animated banner and document our choices along the way.
Intercultural website
This project was our first real world scenario assignment. Our objective was to create a website, again using HTML and CSS, for Pernille Sommer, an author who wanted a redesign of her current website. This was also our first project which had to be resposive.
New portfolio
The final project of the semester was a redesign of our original portfolio. This project is the result of all we have learned this first semester and what you now see is a result of that.
Blog Universe
I dette projekt fokuserede vi mere på designprocessen i stedet for produktet. Idéen var at tage et nuværende koncept og sætte det op i blog format. Ved hjælp af design thinking og prototypeværktøjet Adobe XD har vi vist og dokumenteret hvordan bloggen kunne komme til at se ud.


An occlusion based strategy for collective transport of a concave object using a swarm of mobile robots has been proposed in this paper. We aim to overcome the challenges of transporting concave objects using decentralized approach. The interesting aspect of this task is that the agents have no prior knowledge about the object and do not explicitly communicate with each other. The concept is to eliminate the concavity of the object by filling a number of robots in its cavity and then carry out an occlusion based transport strategy on the newly formed convex object or "pseudo object".


If Values Were Pudding, I'd Eat ThemBane Srdjevic10/31/2014 |
Taking a look at some of my fondest memories, there are a few that stand out among the rest. Unfortunately, they're my own so I won't be sharing them, but they do all share a common thread as far as the values listed go, and I do feel fine about sharing that thread. Take a look, fellow spinsters:
Courage: The kind of courage I'm talking about here is the fight or flight kind. When you're put on the rack will you choke up or fight the good fight. Knees weak, arms heavy, mom's spaghetti and all that. When something truly important is on the line, will you have the courage to fight for it?
Leadership: Leadership isn't necessarily about leading, in my opinion. It's about showing the way, even when others are adamant in walking down the wrong direction, even if you're the only one looking down that road. It's standing up to do what needs to be done when others don't even know what's going on.
Helping Others: This is the only straight forward one to me. You help people, and that's all there is to it. Don't even do unto otherrs as you would have them do to you: don't think about it and just help them out.
Insight: Read the situation and grasp the environment before you make a leap in any direction, because though cliches are never to be used, the road to Hell is paved with good intentions. Sometimes.
Excitement: If you're not getting excited about it, or if you don't feel your stomach tying itself in knots, what's the point?
But do I try to live up to these values by living my life? The answer is yes, but the keyword here is "try". I don't always succeed, but there is a thought there and I think it counts for something. Even more so when I make it work.
But although I associate all five of these values with some of my happiest and proudest memories, insight is the one I truly value the most. Without insight, all of the others fall to the wayside. Even helping others. How are you supposed to help someone if you can't read the situation? And if you can't read the situation you can miss out on a lot of opportunities to help those in need.
Clearly I'm segwaying into a comment on combating Stereotype Threat here, so the wait is finally over: insight is what's needed most when combating Stereotype Threat. You have to be aware of what it is and you need to be able to think outside of yourself to understand what people are feeling within themselves, you know? But that takes active practice to get it done. That's the exercise I want to practice when I'm at DBC. Along with coding, of course.


public class AccessibilityDelegateCompat
extends java.lang.Object
View.AccessibilityDelegate
introduced after
API level 4 in a backwards compatible fashion.| Constructor and Description |
|---|
AccessibilityDelegateCompat()
Creates a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
dispatchPopulateAccessibilityEvent(View host,
AccessibilityEvent event)
Dispatches an
AccessibilityEvent to the host View first and then
to its children for adding their text content to the event. |
AccessibilityNodeProviderCompat |
getAccessibilityNodeProvider(View host)
Gets the provider for managing a virtual view hierarchy rooted at this View
and reported to
android.accessibilityservice.AccessibilityService s
that explore the window content. |
void |
onInitializeAccessibilityEvent(View host,
AccessibilityEvent event)
Initializes an
AccessibilityEvent with information about the
the host View which is the event source. |
void |
onInitializeAccessibilityNodeInfo(View host,
AccessibilityNodeInfoCompat info)
Initializes an
AccessibilityNodeInfoCompat with information about the host view. |
void |
onPopulateAccessibilityEvent(View host,
AccessibilityEvent event)
Gives a chance to the host View to populate the accessibility event with its
text content.
|
boolean |
onRequestSendAccessibilityEvent(ViewGroup host,
View child,
AccessibilityEvent event)
Called when a child of the host View has requested sending an
AccessibilityEvent and gives an opportunity to the parent (the host)
to augment the event. |
boolean |
performAccessibilityAction(View host,
int action,
Bundle args)
Performs the specified accessibility action on the view.
|
void |
sendAccessibilityEvent(View host,
int eventType)
Sends an accessibility event of the given type.
|
void |
sendAccessibilityEventUnchecked(View host,
AccessibilityEvent event)
Sends an accessibility event.
|
public AccessibilityDelegateCompat()
public void sendAccessibilityEvent(View host, int eventType)
The default implementation behaves as View#sendAccessibilityEvent(int)
for the case of no accessibility delegate
been set.
host
- The View hosting the delegate.eventType
- The type of the event to send.View#sendAccessibilityEvent(int)
public void sendAccessibilityEventUnchecked(View host, AccessibilityEvent event)
sendAccessibilityEvent(View, int)
but takes as an argument an
empty AccessibilityEvent
and does not perform a check whether
accessibility is enabled.
The default implementation behaves as
View#sendAccessibilityEventUnchecked(AccessibilityEvent)
for
the case of no accessibility delegate been set.
host
- The View hosting the delegate.event
- The event to send.View#sendAccessibilityEventUnchecked(AccessibilityEvent)
public boolean dispatchPopulateAccessibilityEvent(View host, AccessibilityEvent event)
AccessibilityEvent
to the host View
first and then
to its children for adding their text content to the event.
The default implementation behaves as
View#dispatchPopulateAccessibilityEvent(AccessibilityEvent)
for
the case of no accessibility delegate been set.
host
- The View hosting the delegate.event
- The event.View#dispatchPopulateAccessibilityEvent(AccessibilityEvent)
public void onPopulateAccessibilityEvent(View host, AccessibilityEvent event)
The default implementation behaves as
ViewCompat#onPopulateAccessibilityEvent(AccessibilityEvent)
for
the case of no accessibility delegate been set.
host
- The View hosting the delegate.event
- The accessibility event which to populate.ViewCompat#onPopulateAccessibilityEvent(View, AccessibilityEvent)
public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event)
AccessibilityEvent
with information about the
the host View which is the event source.
The default implementation behaves as
ViewCompat#onInitalizeAccessibilityEvent(View v, AccessibilityEvent event)
for
the case of no accessibility delegate been set.
host
- The View hosting the delegate.event
- The event to initialize.ViewCompat#onInitializeAccessibilityEvent(View, AccessibilityEvent)
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info)
AccessibilityNodeInfoCompat
with information about the host view.
The default implementation behaves as
ViewCompat#onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfoCompat)
for
the case of no accessibility delegate been set.
host
- The View hosting the delegate.info
- The instance to initialize.ViewCompat#onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfoCompat)
public boolean onRequestSendAccessibilityEvent(ViewGroup host, View child, AccessibilityEvent event)
AccessibilityEvent
and gives an opportunity to the parent (the host)
to augment the event.
The default implementation behaves as
ViewGroupCompat#onRequestSendAccessibilityEvent(ViewGroup, View, AccessibilityEvent)
for
the case of no accessibility delegate been set.
host
- The View hosting the delegate.child
- The child which requests sending the event.event
- The event to be sent.ViewGroupCompat#onRequestSendAccessibilityEvent(ViewGroup, View, AccessibilityEvent)
public AccessibilityNodeProviderCompat getAccessibilityNodeProvider(View host)
android.accessibilityservice.AccessibilityService
s
that explore the window content.
The default implementation behaves as
ViewCompat#getAccessibilityNodeProvider(View)
for the case of no accessibility delegate been set.
AccessibilityNodeProviderCompat
public boolean performAccessibilityAction(View host, int action, Bundle args)
AccessibilityNodeInfoCompat
.
The default implementation behaves as
View#performAccessibilityAction(int, Bundle)
for the case of
no accessibility delegate been set.
action
- The action to perform.View#performAccessibilityAction(int, Bundle)


--- layout: post title: Bookmarks for April 9th through April 18th tags: - 3d - algorithm - background - backgrounds - branch - browser - cache - css3 - design - fallback - fonts - Fork - game - git - Github - howto - html5 - inspiration - javascript - layout - localStorage - map - mmo - mobile - pattern - patterns - ranking - rating - rebase - responsive - rpg - sorting - sprite3d - statistics - tools - tumble - typography - visualisation - visualization - wind status: publish type: post published: true meta: aktt_notify_twitter: 'no' ---
These are my links for April 9th through April 18th:


Write new Review
(current)
View Reviews
About
Not logged in
Logout
Login
You are not logged in!
To view your reviews, you have to log in first.
Login
Copyright © 2017
FactsMission
AG Biel/Bienne, Switzerland.
Twee-Fi
, an Open Source Project. License:
MIT
Repo:
Copyright © 2017
FactsMission
AG Biel/Bienne, Switzerland.
Twee-Fi
, an Open Source Project. License:
MIT
Repo:


Log In
Welcome to Menu MaQ'R
We're here to help you to build a menu and generate a QR code for your restaurant.
Sign Up


m(818)
835-7661<EMAIL_ADDRESS>https://brandongonzalez01.github.io/ San Diego CA, 92122
University of
California, San Diego. Class of 2020
Major: Biochemistry Minor:
Computer Science
Relevant classes:
Intro to
Bioinformatics, Advanced Data Structures, Software Engineering, Intro to Java
I/II, Intro Algorithms and Data Structures, Organic Chemistry, Molecular
Biology, Chemistry of Biological Interactions Lab, Cell Biology, Structural
Biochemistry.
Python, web app
development using Django, Flask, Bash scripting, R, C/C++, Java, HTML5/CSS.
Machine Learning using Keras, Computational Chemistry
using RDKit. Wet lab skills: qPCR/PCR, DNA
extractions, blotting, cloning, data analysis, assay development, HPLC/UPLC,
GC/MS.
Center for Epigenomics@UCSD, Bioinformatics intern
June 2019 – current
·
Using
Django, AJAX and JavaScript I added functionality to in-house LIMS web app by
integrating a new data analysis pipeline to existing workflow to handle single
cell ATAC sequencing job submission to HPC via bash script. I also lead
development of Django app in the existing project for handling single cell
samples.
Lo Lab, Student Assistant and IA
June
2019 - current
·
Research
different bioinformatic software and data pipelines for 16s metagenomic
analysis to help development of workflow and curricula for undergraduate biology
lab course. Undergraduate Instructional Assistant for such lab for the fall
quarter of 2019.
Catalent, Lab Assistant
Drug Delivery and Formulation,
April 2018 – November 2018
Machine
Learning Chemical Solubilities: At
Catalent, as my summer intern project I wrote a machine learning web app using
python and flask backend with JavaScript front end. Input a SMILES to generate
a fingerprint as an input to a Keras neural network
for regression outputting a predicted solubility.
Differential
Expression Analysis https://tinyurl.com/bganalysis: Analyses
of GEO entry GSE37704, analysis of the effects of knocking down HOX1a gene.
Used R and Bioconductor packages such DESeq2 for analysis, annotating and visualizing
which biological pathways are affected.
REFERENCES
·
Meghan Walsh, Ph.D.: EntroGen
Regulatory Affairs Manager<EMAIL_ADDRESS>·
Kirk Reynolds, Ph.D.: Catalent
Pharmaceutical Chemist, Supervisor<EMAIL_ADDRESS>·
Stanely Lo, Ph.D.: UCSD professor, supervisor
of IA’s smlo@ucsd.edu


Linie
Ein kleiner Untertitel.
As same unaffected, unbiased, unbribable, unaffrighted innocence, must not what is new day. Know thing
you are now men, and religion to do is pledged. Modest on in every decent and the highest mind being
whole. Devout explanation expect me now stand alms to himself not quite. Will genius of his bill into his
work and. Singly every thing in the by-standers look but truth is a nonconformist.
When themselves to take with the best ship is your force. Does succumb and would utter opinions on the
bench are loath. Angels confided themselves childlike to set at home' Rough. Explanation affections must
know your time and gay when quite true. Wholly that or charity, much as a boy is all their virtue work.
Grace discontent of nourishing corn can do, nor does he would gather immortal.
 In begin to make to conforming to Moses, Plato,. The not
know your contemporaries, the playhouse independent, genuine actions. Stranger clear and gracious and
vital, and ephemeral but. As excellent I do not deliver in all these have always hears. Enter themselves
to speak your force is new in. Found his best ship is a few lies, but to me more value. A inequalities of
his toil bestowed on Chaos and spoke not.


--- title: Collect job output type: docs repo: https://github.com/rstudio/cloudml menu: main: name: Collect job output - cloudml parent: cloudml-reference aliases: - /reference/cloudml/job_collect.html - /cloudml/reference/job_collect.html - /guide/cloudml/reference/job_collect.html - /tools/tools/cloudml/reference/job_collect.html - /installation/cloudml/reference/job_collect.html - /tutorials/cloudml/reference/job_collect.html - /guide/tools/cloudml/reference/job_collect.html - /deploy/cloudml/reference/job_collect.html - /tools/cloudml/reference/job_collect.html - /tutorials/tools/cloudml/reference/job_collect.html ---
Collect the job outputs (e.g. fitted model) from a job. If the job has not
yet finished running, job_collect()
will block and wait until the job has
finished.
job_collect(job = "latest", trials = "best", destination = "runs",
timeout = NULL, view = interactive())
| job | Job name or job object. Pass "latest" to indicate the most recently submitted job. |
| trials | Under hyperparameter tuning, specifies which trials to
download. Use |
| destination | The destination directory in which model outputs should
be downloaded. Defaults to |
| timeout | Give up collecting job after the specified minutes. |
| view | View the job results after collecting it. You can also pass
"save" to save a copy of the run report at |
Other job management functions: job_cancel
,
job_list
, job_status
,
job_stream_logs
, job_trials


{block name="header"}{/block}
{include file="layout/header" /}
{include file="layout/left" /}
{block name="content"}{/block}
{block name="footer"}{/block}


Page Links: Index Page
| ionagh 5th Oct 2010, 15:33 permalink Post: 516 |
Many years ago Barnes Wallis gave a talk at my school, some of which I still remember. I recall his comments about hypersonics being dependant on materials technology that could withstand the stagnation temperatures involved.
He mentioned Concorde, almost with a regret that the aluminium derivative chosen automatically set the operating limit of the airframe. Even if the Olympus engines were improved it would be of no advantage. Limit would also be around 60,000 ft as altitude temperate starts to rise again above that. There was also a comment about US plans for M3+ airliner with a small joke about having to use heavier alloys for the higher temperatures and what with overpressure being proportional to mass, not many greenhouses would survive. It feels strange now having sat through his comments at the birth of supersonic commercial aviation to think that it is possibly already over |
|
| EXWOK 27th Apr 2012, 17:37 permalink Post: 1602 |
1) Effectively it was (not the skin, but the TAT probe. The highest temp rise would be at the stagnation point so one can be confident that TAT is a realistic answer for max skin temp).
2) AFAIK pretty standard: Q from pitots S from statics T from temp probe Modified by ADC for position error. It's possible that ADC used beta inputs and I'm sure it used alpha inputs to achieve this. |
|
| Shaggy Sheep Driver 27th Apr 2012, 20:29 permalink Post: 1606 |
Quote:
1) So there is a direct temp reading, from the TAT probe. But where is TAT probe? Is it in the needle nose probe that also measures pitot/static for the intake computers? And how many TAT sensors are there (failure of a single one if that's all there is would not be good)? 2) Mach comes from dynamic pressure (pitots), from static ports, and from temp. But what temp? OAT perhaps? |
|
| CliveL 29th Apr 2012, 08:11 permalink Post: 1616 |
Quote:
They are mounted off the skin and in freestream, so they measure the same temperature as would a probe on the nose. Somewhere near the nose (not exactly on it, as the aircraft flies with a small AoA) there will be a 'stagnation' streamline where the oncoming air is brought to rest. At this point the skin temperature will be equal to the stagnation temperature (TAT). Behind that it gets more complicated! The skin temperature would depend on SAT, local Mach No, local skin friction coefficient (Mach and Re dependent, so varies with distance from nose), amount of heat radiated into space (paint colour!) and the amount of structure available to conduct heat away from the skin into the fuel (so roughly varying with thickness/chord and fuel distribution perhaps? Static temperature and total temperature are related by a simple expression: TAT = SAT *(1+0.2m^2) all in deg K So in the troposphere at ISA +5 and Mach 2, SAT = 222 and TAT = 400. |
|
| Shaggy Sheep Driver 3rd May 2012, 15:13 permalink Post: 1621 |
Quote:
The temperature shown in the top window of the flight deck gauge is TAT, with the legend 'TMO 128C' beneath it. So the aircraft was flown with reference to TAT, and provided TAT was no greater than 128C then the skin rearward of the stagnation point would be <128C? |
|
| M2dude 15th May 2012, 10:03 permalink Post: 1631 |
The TAT thing
Quote:
MACH 0.5 . ISA -5: TAT = -50.6 \xb0 C . ISA: TAT = -45.3 \xb0 C. ISA +5 TAT = -40 \xb0 C MACH 1.0 . ISA -5: TAT = -18.5 \xb0 C . ISA: TAT = -12.5 \xb0 C. ISA +5 TAT = -6.5 \xb0 C MACH 1.5 . ISA -5: TAT = 34.8 \xb0 C . ISA: TAT = 42 \xb0 C. ISA +5 TAT = 49.3 \xb0 C MACH 2.0 . ISA -5: TAT = 109.5 \xb0 C . ISA: TAT =118.6 \xb0 C. ISA +5 TAT = 127.6 \xb0 C Hopefully it all makes a little more sense with some 'real' numbers. You can see that as Mach Number increases the gap between SAT and TAT increases hugely. The Mach 2, ISA +5 case was particularly significant for Concorde, as it breached the 127 \xb0 C/400 \xb0 K airframe temperature limit (TMO) and Mach Number would therefore be automatically reduced by the autopilot. (An overspeed warning would be generated at TMO +7 (134. \xb0 C). Fortunately sustained ISA +5 or above conditions were relatively rare over the North Atlantic but not unheard of either. Last edited by M2dude; 16th May 2012 at 23:06 . Reason: ISA+5 Typo |
Page Links: Index Page


Terms of Use
- No part of this network or external literature is meant to be a promise of services or products, and does not obligate us in any way. Neener Neener
- We will work to provide free use the wireless network to anyone; however Free-Fi may not be available in all areas, due to regional laws and regulations, or due to technical concerns. Sorry.
- We may not be held liable for any damages for any reason, including networking or security issues. This means that is someone hacks your system while you are using a Free-Fi network, it is your problem.
- Your privledge to use Free-Fi wireless will be removed for any illegal activity or anything deemed inapproriate by the owner of the local network. This may mean no PRON. You probably should not do that in public anyway. Ew.
- If you ever meet Ric johnson in person, you are morally obligated to offer him a Free Beer. Actually, a donation to Watsi would be more appreciated
- These terms are subject to change. Pull requests are welcome.


adobe-systems
Businessmodel of Adobe Systems
Customer Segments
Adobe has a segmented market business model, with slight differences between customer segments. The company targets its offerings at individuals, small/medium businesses, and enterprises that wish to use digital media and marketing services for varying purposes.
Value Proposition
Adobe offers three primary value propositions: accessibility, innovation, and brand/status.
The company creates accessibility by offering a wide variety of options. Customers can access its software from any device, including computers, tablets, smartphones, and televisions. Also, beyond its original offerings, it has acquired a number of competitors, which has enabled it to add many new capabilities to its portfolio. For example, purchasing rival Macromedia in 2005 allowed it to add Adobe ColdFusion, Adobe Contribute, Adobe Captivate, Adobe Acrobat Connect, Adobe Director, Adobe Dreamweaver, Adobe Fireworks, Adobe Flash, FlashPaper, Adobe Flex, Adobe FreeHand, Adobe HomeSite, Adobe JRun, Adobe Presenter, and Adobe Authorware to its product line.
The company has embraced innovation from the very beginning. For a long time, its PostScript was the only page description language available for multiple-computer environments, such as corporate office networks. Also, it created Display PostScript, a breakthrough offering because the language could communicate directly with a computer’s screen rather than through a printer. It also enabled users to control graphics on the screen. Adobe’s portfolio also includes groundbreaking products such as the image editor PhotoShop, the drawing program Illustrator, and the viewer Acrobat.
The company has established a strong brand as a result of its success. It is one of the largest software firms in the world, generating $4.8 billion in revenues in 2015, and bills itself as the global leader in digital marketing and media solutions. It processes more than forty trillion data transactions a year through its software-as-a-service products. Lastly, it has won many honors, including placement on the “100 Best Corporate Citizens” list by CR Magazine (2015) and the FTSE4Good Index (2015).
Channels
Adobe’s main channels are its website and direct sales force. It also acquires customers through retailers, distributors, software developers, system integrators, independent software vendors, value-added resellers, and original equipment manufacturers (OEMs). The company promotes its offering through its social media pages, online advertising, attendance of trade shows and conferences, and event sponsorships.
Customer Relationships
Adobe’s customer relationship is primarily of a personal assistance nature. It assists customers in the following ways:
Consulting Services – The company maintains a professional services team that designs and implements solutions for clients. It also utilizes partners such as system integrators, resellers, digital agencies, and solution partners to provide advisory services.
Customer Success Account Management – The company provides Customer Success Managers for its largest customers. The managers work with them individually to address unique needs.
Technical Support – The company offers enterprise support and maintenance services to subscription product and perpetual license customers. Specific offerings include technical support and product upgrades and enhancements. It also offers short term options such as fee-based incident support.
Training Services – The company offers a comprehensive selection of training services, including classroom and virtual course programs delivered by its training professionals and partners.
Despite this orientation, there is also a self-service component. Adobe’s website includes self-service learning options, tutorials, and answers to frequently asked questions. There is also a community element in the form of a forum where customers can interact with fellow users.
Key Activities
Adobe’s business model entails designing and developing its software products for customers.
Key Partners
Adobe maintains the Adobe Partner Connection Program, which includes the following sub-programs:
Reseller Program – Includes members who distribute and sell Adobe’s digital media products and solutions.
Training Provider Program - Includes members who provide commercial instructor-led training on Adobe products.
Technology Partner Program - Includes members whose products and services extend, enhance, and support Adobe solutions.
Adobe Solution Partner Program - Includes members who deliver end-to-end digital marketing solutions and services that drive successful online initiatives.
Program benefits include training and sales/marketing resources, discounts on Adobe Press publications, opportunities to evaluate prerelease software, listing in the Adobe Partner Finder directory, and access to the Adobe Partner Connection Portal.
Key Resources
Adobe’s main resources are its human resources. These include engineering employees who design and develop its software products, sales/marketing staff who promote them, training/consulting staff who provide instructional/advisory services, and customer service staff who offer support.
Cost Structure
Adobe has a value-driven structure, aiming to provide a premium proposition through significant personal service and frequent product enhancements. Its biggest cost driver is sales/marketing, a fixed cost. Other major drivers are in the areas of research/development and administration, also fixed costs, and cost of revenues, a variable expense.
Revenue Streams
Adobe has three revenue streams: product revenues, subscription revenues, and services/support revenues (from training, consulting, and technical support fees).


WITNESS LIST Finance Committee October 4, 2004 - 9:00A Article VI FOR: Crumley, W.T. "Dub" Chairman (Soil and Water Conservation Board), Stephenville, TX ON: Callahan, Melani Director of Fiscal Services (Water Development Board), Austin, TX Carrillo, Victor G. Chairman (Railroad Commission), Austin, TX Combs, Susan Commissioner (Department of Agriculture), Austin, TX Cook, Robert L. Executive Director (Parks and Wildlife Department), Austin, TX Flores, Linda Chief Financial Officer (Commission on Environmental Quality), Austin, TX Fox, Jennifer (Legislative Budget Board), Austin, TX Gagnon, Gary E. (Sabine River Compact Commission), Orange, TX Hagood, Gary Deputer Commissioner-Budget and Planning (General Land Office), Austin, TX Hartnett White, Kathleen Chairman (Commission on Environmental Quality), Austin, TX Hillman, Bob Executive Director (Animal Health Commission), Austin, TX Hudson, Denise Chief Financial Officer (Department of Agriculture), Austin, TX Isom, Rex Executive Director (Soil and Water Conservation Board), Temple, TX Jones, C. Allan Director (Water Resources Institute), Bryan, TX Kitchens, Ronald Executive Director (Railroad Commission), Austin, TX Labatt, III, T. Weir (Water Development Board), San Antonio, TX Lucas, Angela Accountant (Animal Health Commission), Austin, TX Mullican, Bill Deputy Executive Administrator (Water Development Board), Austin, TX Oswald, Johnny S. Program Administrator (Soil and Water Conservation Board), Abilene, TX Patterson, Jerry Land Commissioner (General Land Office/Veterans Land Board), Austin, TX Pyka, Kathy Deputy Executive Director (Railroad Commission), Austin, TX Settemeyer, Herman Engineer (River Compact Commissions), Austin, TX Shankle, Glenn Executive Director (Commission on Environmental Quality), Austin, TX Smith, Zelma (Legislative Budget Board), Austin, TX Soward, Larry R. Commissioner (Commission on Environmental Quality), Austin, TX Thigpen, Drew Deputy Executive Director (Parks and Wildlife Department), Austin, TX Thrasher, Jr., J.W. Commissioner (Pecos River Compact Commission), Monahans, TX Ward, J. Kevin Executive Administration (Water Development Board), Austin, TX Registering, but not testifying: On: Foster, John Natural Resource Specialist (Soil and Water Conservation Board), Temple, TX Laine, Larry Chief Clerk (General Land Office), Austin, TX Powers, Bill Industry Relations Coordinator (Animal Health Commission), Austin, TX Zajicek, Kenny Fiscal Officer (Soil and Water Conservation Board), Temple, TX