text:
View Models in ASP.NET MVC
Q: Should I have a view Model in my ASP.NET MVC architecture?
A: Yes.
Well, that was a short post! J
Being more serious, this is an interesting topic that the advisors and p&p team discussed a few times while they were building the Reference Implementation for the soon-to-be-complete Web Client Guidance, and it is something I've heard discussed time and time again out in the field.
I usually describe the "M" in both MVC and MVP as "the rest of the application", i.e. the business logic and business entities, and implicitly everything below in the stack. Some people don't like this analogy, saying the "M" refers only to the classes used to pass data between Controller and View. I agree it is arguably inaccurate, but I find it a useful way to think about a design based on these patterns... not least because of some of the variations in design I've seen that reflect those described below.
Where discussion gets interesting is when people start asking what the View can depend upon (and for the rest of this post think MVC, not MVP). To dodge a lot of detail this comes down to the following options;
1. Business Entities are passed to a View as the "Model". Therefore the View has detailed knowledge of part of the business layer.
2. Business Entities are never passed to a View – instead the relevant data is extracted and placed in a new entity reserved purely for use by the UI layer... or a "View Model" as people call it today (back when I coded as a day job we called these UI Entities so don't go thinking this is something new!)
These options become particularly interesting when you consider that in many modern systems the Business Entities are actually basically Data Transfer Objects generated or consumed by a tool such as the Entity Framework, nHibernate, etc, etc. This is useful because they may have validation behaviour built in. Business Logic is usually implemented as POCOs that manipulate, create, or return these DTOs.
This means that in option 1 the UI has access to all the validation goodness that exists on these entities. What's more, you don't need to create a new set of View Models that almost exactly match your data layer, and a set of "mappers" that convert Business Entities into a View Model.
However... note that I said "... almost exactly match...". You see, in the vast majority of systems there is something other than just what is stored in your database that needs passing to the view. This could be the current user's login name, or the current date and time. Or perhaps we must pass Boolean flags to indicate whether or not various regions of the screen should be displayed based on the user's roles.
To illustrate the differences, let's see 3 different examples as to how you might pass model data to a view. I've blatantly plagiarised some of the great comments that Francis, Julian, and the advisors made here so don't credit me with all the hard work J
Variant 1: No View Model
In Variant 1 we have no View Model at all, so our controller simply retrieves data from the business logic as a business entity, and passes it to the view...
public class ModelController : Controller
public ActionResult Index(int someparameter)
BusinessEntity model = BusinessLogic.GetModel(someparameter);
return View(model);
The code for this is simple, concise, and requires very little work on my part. However, what if I want to add a property to indicate whether or not the "login" region of the view should be rendered? What if the view needs some other model data? This approach very tightly couples not only the business logic to the UI, but potentially the database to the UI (depending on your ORM tool, and how your business entities are created).
To summarise;
1. (con) This approach is unlikely to suit real MVC applications, as there is usually additional data that must be passed across.
2. (con) It is not flexible – it is more likely to lead to additional code churn after go-live other than in the simplest of cases.
3. (con) Developers that don't know these patterns well may consider adding UI-focused fields to your business entity, which compromises your business layer.
4. (pro) MVC can take advantage of the same validation mark-up attributes (or other scheme) that your business layer uses.
5. You can use it, but be prepared to take the hit for changes later, and make sure your developers know how to evolve it into Variants 2 or 3.
The bottom line is that I would use this if I knew it was very unlikely that the view (perhaps a very focused partial view in a very simple system) would ever need more than a single business entity... but other people, including the p&p guys, rightly have strong concerns about this approach.
Variant 2: Container View Model
In Variant 1 we saw how little code was needed for the simple case, but there are warnings about the inflexibility and risk to the integrity of the business layer. Variant 2 aims to maximise the benefits of Variant 1, whilst minimising the code you must hand-crank by using a simple View Model container to pass multiple business entities (and potentially other types) to the view...
public class ModelController : Controller
public ActionResult Index(int someparameter)
BusinessEntity model =
OtherBusinessEntity othermodel =
BusinessLogic.GetOtherModel(someparameter, model);
ViewModelContainer container = new ViewModelContainer
ShowLogin = !User.Identity.IsAuthenticated,
LoggedInName = User.Identity.Name ?? "",
TheEntity = model,
AnotherEntity = othermodel
return View(container);
public class ViewModelContainer
public bool ShowLogin { get; set; }
public string LoggedInName { get; set; }
public BusinessEntity TheEntity { get; set; }
public OtherBusinessEntity AnotherEntity { get; set; }
Here we have the "ViewModelContainer" class, that is designed to carry our payload of a couple of business entities and some other primitives. Our Controller is responsible for fetching the business entities and then assembling this container, before passing it to the view.
So let's think about our pro's and con's;
1. (pro) Any data not contained in our business entities can easily be passed across.
2. (pro) Change is easy to handle when it consists of additive data.
3. (pro) Developers will most likely add UI fields to the View Model container, not to the business entity.
4. (pro) MVC can take advantage of the same validation mark-up attributes (or other scheme) that your business layer uses.
5. (con) But... your business entities must still match the precise requirements of your view. If you want to convert or translate internal system concepts into something easier to display, this is difficult using this model.
Overall, this is my personal favourite as it provides flexibility and future proofing for little extra effort over and above Variant 1. However, it is by no means perfect and you must be willing to consider replacing your business entities with custom View Model entities if the needs of UI and business layer diverge... i.e. convert to Variant 3.
Variant 3: View Model and Mappers
Variant 3 is what could be called the utopia practice, in that it ensures your business and UI layers are suitably separated, with "mapper" classes (often referred to as the "Entity Translation" pattern) marshalling the relationship between the two. However, it comes at a price – and that is a little coding effort.
Let's see how this looks;
public class ModelController : Controller
public ActionResult Index(int someparameter)
BusinessEntity entity = BusinessLogic.GetModel(someparameter);
MyEntityViewModel model =
return View(model);
public class MyEntityViewModel
public bool ShowLogin { get; set; }
public string LoggedInName { get; set; }
public string Name { get; set; }
public bool IsOver18 { get; set; }
public class BusinessEntity
public string Name { get; set; }
public int Age{ get; set; }
This time I've showed the BusinessEntity class too so that you can see how it differs from the View Model. We can see that the Controller fetches this entity and then uses a mapper class to convert it to the View Model class. This mapper might also access environmental variables (e.g. User.Identity) or I might pass in other data.
The point with this approach is that the business entities are never passed to the view - only View Model classes can be consumed by views. This leads us to some findings;
1. (pro) Any data not contained in our business entities can easily be passed across.
2. (pro) Change is easy to handle when it consists of data that should be added, removed (or not displayed), or even altered / mapped (such as our Age field).
3. (pro) Developers will add UI fields to the View Model, not to the business entity.
4. (pro) The UI's needs are kept distinct from that of the business logic.
5. (con) But... MVC cannot take advantage of the same validation mark-up attributes (or other scheme) that your business layer uses. Instead you must duplicate this.
The great news is that the p&p Web Client Guidance Reference Implementation includes some great examples of Variant 3. Check out the SongDetailsViewModel, and the Mapper classes. It quickly becomes clear how much freedom this separation of concerns gives us, and how easy to follow the pattern becomes when you use it as a convention.
Hopefully the Variants above help you understand why this approach was chosen, and help you pick an approach yourself. Make sure you check out the Reference Implementation to see how this can work in practice.


text:
Source: Board of Governors of the Federal Reserve System (US)
Release: H.3 Aggregate Reserves of Depository Institutions and the Monetary Base
Total balances maintained are balances that an institution holds in a reserve account directly at a Federal Reserve Bank.
Effective February 2, 1984, reserve computation and maintenance periods have been changed from weekly to bi-weekly. Series with data prior to February 2, 1984 have different values reported from one week to the next. After February 2, 1984, the value repeats for 2 consecutive weeks.
Board of Governors of the Federal Reserve System (US), Monetary Base; Total Balances Maintained [BOGMBBMW], retrieved from FRED, Federal Reserve Bank of St. Louis; https://fred.stlouisfed.org/series/BOGMBBMW, May 28, 2020.

subset: commoncrawl


text:
skirt: H&M
coat: george at asda
scarf: zara
Ok, So yeah, This is my second winter coat post, This one I bought from George at Asda. I did really like this coat from George, and I had actually gone into Asda to get that one. I spotted this one, and thought I just had to have it. I sized up because I wanted a more skirted shape, the 10 looked a bit straight and I wanted it to flare out a little. I love the faux fur trim round the hood, It looks so cute! I love that my face is exactly the same in all the photos!You can view the video of the outfit post here. Its a bit craptastic because the colours are totally wrong, For some reason they look really different on my computer to how they uploaded. Ah well, Still learning with youtube, so whatevz!


text:
I have spent much of this year imploring educators to never again say that we are "just" teachers. Because of the tremendously vital work that educators carry out on a daily basis, I have spoken and written about the need to enhance the cultural perception of teachers, in particular, and education in general.
This was before Friday's incomprehensible tragedy at the Sandy Hook Elementary School in Newtown. Shaken, emotionally numb and feeling helpless, I found myself thinking that, after all, maybe I am just a teacher. What could I possibly do or say that could make a difference?
Then, stories of heroism and selflessness from Newtown began to make their way onto social media sites and the reports from news outlets. Stories of the educators who gave their lives protecting their beloved students emerged. There were the reports of teachers who read to their classes or gave them paper and crayons to draw on to maintain a sense of calm.
Other accounts of educators doing everything in their power to care for and shelter their students certainly will come to light in the coming days. In the face of unspeakable circumstances, they continued to fulfill the same responsibilities they carry out every day: to nurture, support, and love their children regardless of ethnic, religious, socioeconomic or other differences.
Although many will say how fortunate their students are to have them, I'm sure that these educators would say how lucky they have been to know and teach their students. I'm sure that in each case, every one of these educators would claim that there was nothing heroic in their acts, that they were only doing what they could to keep their children from harm. They would perhaps say that they did what anyone with the genuine heart of a teacher, or a parent or a first responder would do.
Perhaps part of their legacy will be a societal re-examination of the significance of educators and a better appreciation for our sense of duty to our students and our profession. Across the country, our educators commit countless deeds of kindness and altruism for the good of their students, colleagues, schools and communities. They expect nothing in return but to know that they have made a difference.
In other countries, the respect afforded the teaching profession bolsters their societies and helps to sustain it in so many ways. We should find ways to emulate these values and perceptions. We can honor the memories of the deceased by honoring the teachers who perform their noble duties daily. We can collectively elevate the status of education in our society and better support our teachers, students and schools.
Prospective and beginning teachers need supportive colleagues who act as professional models and guides. What is often overlooked, however, is that experienced teachers need motivation and encouragement as well.
To so many, the educators at Sandy Hook Elementary School demonstrate that the core values of education mirror the greatest ideals of humanity, and they are exemplars in this regard. They offer us hope, and reinforce our belief in the goodness of others and the power of education. In an era of accountability, standards, testing and data, they affirm that what ultimately matters most are the immeasurable lessons and the enduring relationships teachers cultivate with their students.
To the educators of Sandy Hook Elementary School, thank you for the powerful, inspiring example of dedication and compassion you have given us. You have made, and continue to make, a difference to so many. In the midst of this unfathomable loss and profound sorrow, you have buoyed our spirits and given us hope. Because of your passion, courage, sacrifice, and devotion, I am once again reassured to proudly declare to educators everywhere: Never again say, "I am just a teacher."
David Bosso of Berlin is the 2012 Connecticut Teacher of the Year and teaches at Berlin High School.


text:
This site is now read-only. You can find our new documentation site and support forum for posting questions here.
Be sure to read our welcome blog!
This document explains the concepts involved and how they are applied within the GATK (and Crom+WDL or Queue where applicable). For specific configuration recommendations, see the companion document on parallelizing GATK tools.
1. The concept of parallelism
Parallelism is a way to make a program finish faster by performing several operations in parallel, rather than sequentially (i.e. waiting for each operation to finish before starting the next one).
Imagine you need to cook rice for sixty-four people, but your rice cooker can only make enough rice for four people at a time. If you have to cook all the batches of rice sequentially, it's going to take all night. But if you have eight rice cookers that you can use in parallel, you can finish up to eight times faster.
This is a very simple idea but it has a key requirement: you have to be able to break down the job into smaller tasks that can be done independently. It's easy enough to divide portions of rice because rice itself is a collection of discrete units. In contrast, let's look at a case where you can't make that kind of division: it takes one pregnant woman nine months to grow a baby, but you can't do it in one month by having nine women share the work.
The good news is that most GATK runs are more like rice than like babies. Because GATK tools are built to use the Map/Reduce method (see doc for details), most GATK runs essentially consist of a series of many small independent operations that can be parallelized.
A quick warning about tradeoffs
Parallelism is a great way to speed up processing on large amounts of data, but it has "overhead" costs. Without getting too technical at this point, let's just say that parallelized jobs need to be managed, you have to set aside memory for them, regulate file access, collect results and so on. So it's important to balance the costs against the benefits, and avoid dividing the overall work into too many small jobs.
Going back to the introductory example, you wouldn't want to use a million tiny rice cookers that each boil a single grain of rice. They would take way too much space on your countertop, and the time it would take to distribute each grain then collect it when it's cooked would negate any benefits from parallelizing in the first place.
Parallel computing in practice (sort of)
OK, parallelism sounds great (despite the tradeoffs caveat), but how do we get from cooking rice to executing programs? What actually happens in the computer?
Consider that when you run a program like the GATK, you're just telling the computer to execute a set of instructions.
Let's say we have a text file and we want to count the number of lines in it. The set of instructions to do this can be as simple as:
open the file, count the number of lines in the file, tell us the number, close the file
Note that
tell us the number can mean writing it to the console, or storing it somewhere for use later on.
Now let's say we want to know the number of words on each line. The set of instructions would be:
open the file, read the first line, count the number of words, tell us the number, read the second line, count the number of words, tell us the number, read the third line, count the number of words, tell us the number
And so on until we've read all the lines, and finally we can close the file. It's pretty straightforward, but if our file has a lot of lines, it will take a long time, and it will probably not use all the computing power we have available.
So to parallelize this program and save time, we just cut up this set of instructions into separate subsets like this:
open the file, index the lines
read the first line, count the number of words, tell us the number
read the second line, count the number of words, tell us the number
read the third line, count the number of words, tell us the number
[repeat for all lines]
collect final results and close the file
Here, the
read the Nth line steps can be performed in parallel, because they are all independent operations.
You'll notice that we added a step,
index the lines. That's a little bit of peliminary work that allows us to perform the
read the Nth line steps in parallel (or in any order we want) because it tells us how many lines there are and where to find each one within the file. It makes the whole process much more efficient. As you may know, the GATK requires index files for the main data files (reference, BAMs and VCFs); the reason is essentially to have that indexing step already done.
Anyway, that's the general principle: you transform your linear set of instructions into several subsets of instructions. There's usually one subset that has to be run first and one that has to be run last, but all the subsets in the middle can be run at the same time (in parallel) or in whatever order you want.
2. Parallelizing the GATK
There are three different modes of parallelism offered by the GATK, and to really understand the difference you first need to understand what are the different levels of computing that are involved.
A quick word about levels of computing
By levels of computing, we mean the computing units in terms of hardware: the core, the machine (or CPU) and the cluster or cloud.
Core: the level below the machine. On your laptop or desktop, the CPU (central processing unit, or processor) contains one or more cores. If you have a recent machine, your CPU probably has at least two cores, and is therefore called dual-core. If it has four, it's a quad-core, and so on. High-end consumer machines like the latest Mac Pro have up to twelve-core CPUs (which should be called dodeca-core if we follow the Latin terminology) but the CPUs on some professional-grade machines can have tens or hundreds of cores.
Machine: the middle of the scale. For most of us, the machine is the laptop or desktop computer. Really we should refer to the CPU specifically, since that's the relevant part that does the processing, but the most common usage is to say machine. Except if the machine is part of a cluster, in which case it's called a node.
Cluster or cloud: the level above the machine. This is a high-performance computing structure made of a bunch of machines (usually called nodes) networked together. If you have access to a cluster, chances are it either belongs to your institution, or your company is renting time on it. A cluster can also be called a server farm or a load-sharing facility.
Parallelism can be applied at all three of these levels, but in different ways of course, and under different names. Parallelism takes the name of multi-threading at the core and machine levels, and scatter-gather at the cluster level.
In computing, a thread of execution is a set of instructions that the program issues to the processor to get work done. In single-threading mode, a program only sends a single thread at a time to the processor and waits for it to be finished before sending another one. In multi-threading mode, the program may send several threads to the processor at the same time.
Not making sense? Let's go back to our earlier example, in which we wanted to count the number of words in each line of our text document. Hopefully it is clear that the first version of our little program (one long set of sequential instructions) is what you would run in single-threaded mode. And the second version (several subsets of instructions) is what you would run in multi-threaded mode, with each subset forming a separate thread. You would send out the first thread, which performs the preliminary work; then once it's done you would send the "middle" threads, which can be run in parallel; then finally once they're all done you would send out the final thread to clean up and collect final results.
If you're still having a hard time visualizing what the different threads are like, just imagine that you're doing cross-stitching. If you're a regular human, you're working with just one hand. You're pulling a needle and thread (a single thread!) through the canvas, making one stitch after another, one row after another. Now try to imagine an octopus doing cross-stitching. He can make several rows of stitches at the same time using a different needle and thread for each. Multi-threading in computers is surprisingly similar to that.
Hey, if you have a better example, let us know in the forum and we'll use that instead.
Alright, now that you understand the idea of multithreading, let's get practical: how do we do get the GATK to use multi-threading?
There are two options for multi-threading with the GATK, controlled by the arguments
-nt and
-nct, respectively. They can be combined, since they act at different levels of computing:
--num_threadscontrols the number of data threads sent to the processor (acting at the machine level)
--num_cpu_threads_per_data_threadcontrols the number of CPU threads allocated to each data thread (acting at the core level).
Not all GATK tools can use these options due to the nature of the analyses that they perform and how they traverse the data. Even in the case of tools that are used sequentially to perform a multi-step process, the individual tools may not support the same options. For example, at time of writing (Dec. 2012), of the tools involved in local realignment around indels, RealignerTargetCreator supports
-nt but not
-nct, while IndelRealigner does not support either of these options.
In addition, there are some important technical details that affect how these options can be used with optimal results. Those are explained along with specific recommendations for the main GATK tools in a companion document on parallelizing the GATK.
If you Google it, you'll find that the term scatter-gather can refer to a lot of different things, including strategies to get the best price quotes from online vendors, methods to control memory allocation and… an indie-rock band. What all of those things have in common (except possibly the band) is that they involve breaking up a task into smaller, parallelized tasks (scattering) then collecting and integrating the results (gathering). That should sound really familiar to you by now, since it's the general principle of parallel computing.
So yes, "scatter-gather" is really just another way to say we're parallelizing things. OK, but how is it different from multithreading, and why do we need yet another name?
As you know by now, multithreading specifically refers to what happens internally when the program (in our case, the GATK) sends several sets of instructions to the processor to achieve the instructions that you originally gave it in a single command-line. In contrast, the scatter-gather strategy as used by the GATK involves separate programs. There are two pipelining solutions that we support for scatter-gathering GATK jobs, Crom+WDL and Queue. They are quite different, but both are able to generate separate GATK jobs (each with its own command-line) to achieve the instructions given in a script.
At the simplest level, the script can involve a single GATK tool*. In that case, the execution engine (Cromwell or Queue) will create separate GATK commands that will each run that tool on a portion of the input data (= the scatter step). The results of each run will be stored in temporary files. Then once all the runs are done, the engine will collate all the results into the final output files, as if the tool had been run as a single command (= the gather step).
Note that Queue and Cromwell have additional capabilities, such as managing the use of multiple GATK tools in a dependency-aware manner to run complex pipelines, but that is outside the scope of this article. To learn more about pipelining the GATK with Queue, please see the Queue documentation. To learn more about Crom+WDL, see the WDL website.
Compare and combine
So you see, scatter-gather is a very different process from multi-threading because the parallelization happens outside of the program itself. The big advantage is that this opens up the upper level of computing: the cluster level. Remember, the GATK program is limited to dispatching threads to the processor of the machine on which it is run – it cannot by itself send threads to a different machine. But an execution engine like Queue or Cromwell can dispatch scattered GATK jobs to different machines in a computing cluster or on a cloud platform by interfacing with the appropriate job management software.
That being said, multithreading has the great advantage that cores and machines all have access to shared machine memory with very high bandwidth capacity. In contrast, the multiple machines on a network used for scatter-gather are fundamentally limited by network costs.
The good news is that you can combine scatter-gather and multithreading: use Queue or Cromwell to scatter GATK jobs to different nodes on your cluster or cloud platform, then use the GATK's internal multithreading capabilities to parallelize the jobs running on each node.
Going back to the rice-cooking example, it's as if instead of cooking the rice yourself, you hired a catering company to do it for you. The company assigns the work to several people, who each have their own cooking station with multiple rice cookers. Now you can feed a lot more people in the same amount of time! And you don't even have to clean the dishes.
Thanks Geraldine this is really helpful!
But let me ask: is it documented somewhere which commands accept core and/or machine multithreading?
Glad you found this useful!
It's not documented yet but that is at the top of my to-do list for 2013... i.e. starting next week. Will try to get that out for you all as soon as possible.
By the way I'll share what I found for some of the commands. This was obtained with with GATK Lite 2.3:
BaseRecalibrator -> only nct
PrintReads -> only nct
RealignerTargetCreator -> only nt
IndelRealigner -> no parallelism as stated above
UnifiedGenotyper -> admits nt and nct
VariantRecalibrator -> only nt
ApplyRecalibration -> only nt
VariantFiltration -> no parallelism
VariantAnnotator -> only nt
ReadBackedPhasing -> no parallelism
Hope it helps someone!
uuufff what a mess... let's try again:
BaseRecalibrator -> only nct
PrintReads -> only nct
RealignerTargetCreator -> only nt
IndelRealigner -> no parallelism as stated above
UnifiedGenotyper -> admits nt and nct
VariantRecalibrator -> only nt
ApplyRecalibration -> only nt
VariantFiltration -> no parallelism
VariantAnnotator -> only nt
ReadBackedPhasing -> no parallelism
Thanks for contributing this, @priesgo! And sorry about the formatting mess... Markdown is a bit finicky. FYI adding two spaces at the end of a line will prevent wrapping.
lzhtom Member ✭
A great article! But I'm still a little confused about the "machine" level and "core" level multithreading. I understand GATK uses a hierarchical microscheduler to manage a thread tree, with data thread the branches and cpu threads the leaves (correct me if I'm wrong). But if you call them "machine" and "core" level threads, do you mean each data thread is assigned to one core which contains all the associated cpu threads? I thought only OS can decide which threads go to one particular core ?
If I'm wrong, could you tell me which java files within GATK contain the actual code of thread management? Thanks a lot!
Hi there,
In this article we simplified the explanation to make it accessible to a wide audience. If you want more details and are comfortable reading through the code, I'd recommend looking at the MicroScheduler and NanoScheduler classes.
Hi, we've implemented our own scatter-gather strategy for running GATK on a cluster, using Sun Grid Engine to schedule jobs. For our purposes it is essential that all jobs run single threaded, i.e. use max 100% of each CPU core. That is because we inform the scheduler each job requires max 100% cpu. The scheduler relies on that information to optimize cluster performance. If the information is false, cluster nodes get overloaded and eventually crash.
However, our attempts to enforce "single-threadedness" with parameter settings '-nt 1 -nct 1' have failed so far. We are observing peaks of 700% CPU for a supposedly single-threaded process. Below is an example of a process call.
Any help or suggestions are most welcome. I would like to know in particular if the '-nt 1 -nct 1' setting has been observed to work , i.e. enforce "single-threadedness", on a cluster.
sample command:
[clipped]/jdk/1.7.0/bin/java -Xmx8G -XX:-UsePerfData -Djava.io.tmpdir=[clipped]/tmp -jar [clipped]/gatk/2.4.9/GenomeAnalysisTK.jar -et NO_ET -K [clipped]key -nt 1 -nct 1 -L 5:120000001-140000000 -T UnifiedGenotyper -R [clipped]gatk/broad_bundle_b37_v2.2/human_g1k_v37.fasta -I [clipped]gatk.bam --dbsnp [clipped]gatk/broad_bundle_b37_v2.2/dbsnp_137.b37.vcf --out [clipped]result/tmp/120000001-140000000.gatk.UnifiedGenotyper.raw.vcf --standard_min_confidence_threshold_for_calling 50 --standard_min_confidence_threshold_for_emitting 0 -dcov 200 --annotation AlleleBalance --annotation AlleleBalanceBySample --annotation BaseCounts --annotation BaseQualityRankSumTest --annotation ChromosomeCounts --annotation ClippingRankSumTest --annotation Coverage --annotation DepthPerAlleleBySample --annotation FisherStrand --annotation HaplotypeScore --annotation HardyWeinberg --annotation HomopolymerRun --annotation InbreedingCoeff --annotation LowMQ --annotation MappingQualityRankSumTest --annotation MappingQualityZero --annotation MappingQualityZeroBySample --annotation NBaseCount --annotation QualByDepth --annotation RMSMappingQuality --annotation ReadPosRankSumTest --annotation SampleList --annotation SpanningDeletions --annotation TandemRepeatAnnotator --annotation VariantType --output_mode EMIT_ALL_SITES --genotype_likelihoods_model BOTH --min_indel_fraction_per_sample 0.1
Hi there,
-nt 1 -nct 1should not be necessary, as the GATK will never run multi-threaded within being explicitly instructed to do so. I'm not sure why you're seeing excessive CPU load but you can rule out the idea of GATK going rogue and multithreading on its own initiative. Unless you have evidence that that's what's happening, which we would definitely want to see. But I suspect your scheduler is to blame...
In addition, I should also caution you that
-nt 1 -nct 1is not something you should ever add systematically to all commands, because some of the GATK tools do not support either one or both of those options, and in those cases the command will fail with an error.
Mark_DePristo Broad InstituteMember admin
It's possible that you are seeing the GC using many threads. I believe Queue specifies the number of GC threads for the JVM, otherwise this value will default to the number of cores on the machine. See:
Thanks Geraldine and Mark, that was spot-on. Simply adding java command line option "-XX:-UseParallelGC" solved the problem.
Hi! Very useful information! Not sure if I understand the difference between -nt and -nct. I have 1 node with 4 processors each has 16 cores and I want to run the following GATK tools: RealignerTargetCreator, IndelRealigner,BaseCalibrator and PrintReads, According the information of this post (and its comments), I would only be able to run RealignerTargetCreator using multithread ? Is this correct?
Not quite. Have a look at the companion document, it gives you more details about which tools take which options:
The ultimate resource to know if a given tool accepts as certain type of parallelism is of course its Tech Doc article, which you can find here:
Thank you very much for your reply. I have read the information you suggested. It help a lot.I just need to clarify a doubt: If I use, for example -nt 8 this means that I am using 8 cores? And if I use -nct 8 means the same but using a different parallelism technique?
Glad it helps!
You are correct that
-nt 8means you use 8 cores.
And if I use -nct 8 means the same but using a different parallelism technique?
Not quite.
-nct 8is indeed a different mode of parallelism, but it means you use 8 data threads within a single core. The two options are complementary and can be used together (for the tools that support both), so if you use
-nt 8 -nct 8that means you have 8 data threads in each of the 8 cores, so you will have 64 data threads running in total.
garyhowell NC State UnviersityMember ✭
Is there any way to use more than one node, i.e., to use distributed memory.
So far whenever I try to run a job with queue with the bsub option, the bsub file (which
I can back out during runtime from bjobs -l .. ) there is a span[hosts=1] , which means
the job is running with shared memory ..
The user who wants gatk hopes that "scatter gather" will allow use of many nodes (each
of which has shared memory), thereby allowing a highly parallel job. But so far I don't see
that happening. Is the scalia meant to provide a distributed memory scatter gatther (without
recourse to MPI calls embedded in fortran or C ?)
@garyhowell This depends on how your cluster is set up. Queue itself essentially generates shell scripts that are submitted by bsub to the job manager/scheduler. It's up to the job manager to ensure that the jobs are dispatched to different nodes.
pdexheimer Member ✭✭✭✭
@garyhowell - scatter/gather doesn't quite work that way. The idea is to break a single large task into a number of smaller tasks that are each independent of the other, and then gather the results of those subtasks into the final result. So it's really a distributed system rather than a parallel one, and shared memory is not used at all. In my use of Queue, I end up running a whole bunch of single-core jobs that each reserve 4GB of RAM. Some of those jobs will end up on the same multi-core node, but that's up to LSF to work out and the jobs themselves don't care.
The nodes do need to all have access to a common storage, but shared memory is not necessary.
If you're not seeing multiple jobs, I would guess that you're not setting the "scatterCount" (sp?) field of the QFunction. Also, keep in mind that certain tasks can only be subdivided so far, and others can't be divided at all (MarkDuplicates is the only one of the latter that I routinely use)
jena OstravaMember ✭
I still can't grasp the concept of data thread. I'm trying to run genotypeGVCFs on my Ubuntu laptop. It supports only -nt as parallelizing option. If I set it to e.g. -nt 3 it uses just one of my 4 cores (see below). What is it good for then?
Running the GATK in parallel mode with 3 total threads, 1 CPU thread(s) for each of 3 data thread(s), of 4 processors available on this machine
Data multithreading improves the efficiency of processing at the single core level. To utilize multiple cores you would need to use the nct parallelism, but as you note it's not supported by the tool you're trying to run.
Generally speaking, running these tools on just a laptop is not going to work very efficiently. That's fine for small-scale tests, but for working with genomic data (which more than qualifies as "big data") you're going to want to use some kind of computing server or cluster.
Hi Geraldine,
So, if I use '-nct 6' it means I am using one data thread which is further threaded on 6 cpu cores...Correct?
In one of your previous comments, you mentioned "-nct 8 is indeed a different mode of parallelism, but it means you use 8 data threads within a single core".......
But, from your other comment "Data multithreading improves the efficiency of processing at the single core level. To utilize multiple cores you would need to use the nct parallelism" seems to contradict a bit with the first comment.
The second comment seems to be more appropriate, i.e. if a person uses -nct "x" and -nt "y" and if y=1 and x=8, then the program uses single data thread splitted across 8 multiple cores. Am I correct?
Hi @Shrey_S, you're right, I mixed them up in my previous comment. Apologies for the confusion.
JJ_Duan DenmarkMember ✭
thank you so much for the wonderful tools and description.
I am running GATK3.6 genotypeGVCFs with ~4000 human exome samples (already combined GVCF of 200 samples per batch). To speed up the process, I'd like to use wdl+Cromwell on our SLURM cluster. But I couldn't find any guide on how to run genotypeGVCFs in a scatter/gather way on cluster. However, as I understand, wdl+cromwell support scatter/gather for genotypeGVCFs natively. So I was wondering maybe I just need to set the backend to fit my SLURM cluster, then the cromwell can do parallelism automatically. So I have tried to modify the reference.conf under /cromwell-develop/core/src/main/resources. But it didn't seem work in parallel. It still ran a single genotypeGVCFs job on cluster. I couldn't figure it out. Could you guide me to run it on cluster? Here I show my modification in reference.conf and my wdl and json file as well.
In reference.conf, I have
1. uncommented akka.actor.default-dispatcher.fork-join-executor block (I guess this is the code controlling the number of parallel jobs in scatter step)
parallelism-factor = 3.0 parallelism-max = 64
- uncommented and modified backend.providers.SLURM block and then set the backend.default = "SLURM".
SLURM { actor-factory = "cromwell.backend.impl.sfs.config.ConfigBackendLifecycleActorFactory" config { runtime-attributes = """ String runtime_minutes = "30-00:00:00" Int cpus = 4 Int requested_memory_mb_per_core = 8000 String queue = "normal" """ submit = """ sbatch -J ${job_name} -D ${cwd} -o ${out} -e ${err} -t ${runtime_minutes} \ ${"-n " + cpus} \ --mem-per-cpu=${requested_memory_mb_per_core} \ --wrap "/bin/bash ${script}" """ kill = "scancel ${job_id}" check-alive = "squeue -j ${job_id}" job-id-regex = "Submitted batch job (\\d+).*" } }
Then I ran the job with
java -Dconfig.file=/home/jjduan/01software/cromwell-develop/core/src/main/resources/reference.conf -jar ~/bin/cromwell-28.jar run genotypeGVCF.wdl genotypeGVCF.json
genotypeGVCF.wdl is
workflow jointCallingGenotypes { File inputGVCFfile File gatk File refFasta File refIndex File refDict String chrnum File exomeIntervalFile File dbSNPfile call GenotypeGVCFs { input: GATK=gatk, RefFasta=refFasta, RefIndex=refIndex, RefDict=refDict, chr=chrnum, GVCFs=inputGVCFfile, intervalFile=exomeIntervalFile, dbsnpFile=dbSNPfile } } task GenotypeGVCFs { File GATK File RefFasta File RefIndex File RefDict String chr File GVCFs File intervalFile File dbsnpFile command { java -jar ${GATK} \ -T GenotypeGVCFs \ -nt 4 \ -R ${RefFasta} \ -L ${intervalFile} \ -D ${dbsnpFile} \ -V ${GVCFs} \ -o ${chr}_rawVariants.vcf } output { File rawVCF = "${chr}_rawVariants.vcf" } }
genotypeGVCF.json is
{ "jointCallingGenotypes.inputGVCFfile": "/home/jjduan/mergedGVCF/chr_1_mergedGVCF.list", "jointCallingGenotypes.dbSNPfile": "/home/jjduan/ref_b37/dbsnp_138.b37.vcf", "jointCallingGenotypes.refFasta": "/home/jjduan/ref_b37/human_g1k_v37.fasta", "jointCallingGenotypes.chrnum": "/home/jjduan/genotypedVCF/chr_1", "jointCallingGenotypes.exomeIntervalFile": "/home/jjduan/exome_calling_regions.v1.interval_list", "jointCallingGenotypes.gatk": "/com/extra/GATK/3.6/jar-bin/GenomeAnalysisTK.jar", "jointCallingGenotypes.refDict": "/home/jjduan/ref_b37/human_g1k_v37.dict", "jointCallingGenotypes.refIndex": "/home/jjduan/ref_b37/human_g1k_v37.fasta.fai" }Post edited by JJ_Duan on
Hi @JJ_Duan , sorry for the late reply. You need to tell Cromwell that you want to parallelize the GenotypeGVCFs task over Genomic intervals; it doesn't know to do it automatically. To do that you need to add a scatter block in your WDL. See the tutorials on the WDL website, there's one that specifically details how to use a scatter block for parallelizing.
Weichi Member ✭
Hi @Geraldine_VdAuwera , it seems the link of "Queue documentation" was broken. Could you please help me to fix the link? Thanks!
Sheila Broad InstituteMember, Broadie ✭✭✭✭✭
I think I fixed it


text:
13 August, 2012
One of the best songs in 360I've always liked it, but in all those four 360 concerts where I was, it was always soooo great, love it!!
17 June, 2010
Rockin' SongThis is such a great video. The interplay between Bono and The Edge is so wonderful. I love how they carry this theme from year to year, wherever they perform this song. I can't wait to see it live when I see my first U2 concert!


text:
BBC micro:bits in local UK libraries for you to borrow!
Did you know you can now borrow a BBC micro:bit from hundreds of libraries around the UK?
Starter kits are free to borrow, and contain a BBC micro:bit, a mini-USB cable and a battery pack, along with some instructions to get you started … which means you can unleash your digital creativity in the comfort of your own bedroom – and get your family involved too!
The BBC micro:bit is really easy to pick up and use with little training, and can be programmed using a variety of free coding platforms on a PC, laptop or Bluetooth-enabled smartphone or tablet. And although it's small enough to fit into the palm of your hand, it has a screen, onboard sensors and the option to add a host of exciting peripherals such as servo motors, lights, switches and all manner of sensors – and even robots.
Initially launched as part of a campaign to tackle a talent shortage within the UK's digital sector, the BBC micro:bit is now available in over 50 countries … which means it's well on its way to achieving the Foundation's goal of reaching more than 100 million children worldwide.
The Library Initiative, run jointly by the Micro:bit Educational Foundation and the Kirklees Library Service, is part of the Foundation's ambitious project to inspire a new generation of digital pioneers – supporting young people to flex their digital muscles and develop the coding skills they'll need for so many careers in the future.
Amy Hearn, Development Librarian, Health, Learning & Digital, of Kirklees Library Service is the real BBC micro:bit hero and main force behind the initiative. She spotted the BBC micro:bit a while ago and put it on the shelves of ten libraries in her area. The Foundation saw this and teamed up with her to sponsor the scheme, providing 10 BBC micro:bits to each participating library across the UK.
More than 800 libraries now have kits on their shelves, with more getting involved every week. "Many libraries also host Code Clubs, coding workshops and other fun activities to get people excited about coding and most can also put you in touch with local micro:bit events," said Amy. Just ask at your nearest library to find out what's on offer or check #microbitsinlibraries on twitter.
"The scheme has proved to be a real hit," said Philip Meitiner, International Program Manager for the Micro:bit Educational Foundation. "Though it's been running less than a year, a phenomenal number of libraries are participating, with more signing up all the time. The BBC micro:bits are proving very popular: borrowing rates are high – as well as renewals – and lots of libraries are using them for events and workshops, to get even more children interested in coding and digital technology."
Every registered library can apply for a set of 10 BBC micro:bits – absolutely free – so if your library isn't in on the act yet, tell them to ask their local authority to get in touch and become a part of the sensation that's sweeping the nation!
If you borrow a BBC micro:bit from your local library and need a bit of inspiration to get you going, there are oodles of free activities, projects and resources available:
- micro:bit ideas page
- MakeCode editor lessons
- MicroPython මගපෙන්වීම
- Introduction to Computer Science course
- Makecode tutorial – just click on the orange 'getting started button'
- First Steps with Python
List of participating authorities so far:
- Barnsley
- Blackpool
- Bolton
- Bradford
- Buckinghamshire
- Cambridgeshire
- Cheshire East
- Chester West and Chester
- Cornwall
- Coventry
- Devon (Libraries Unlimited)
- Doncaster
- Dorset
- Dudley
- East Riding of Yorkshire
- East Sussex
- Essex
- Gloucestershire
- Halton
- Hampshire
- Hull
- Inspire (Nottinghamshire)
- Islington
- Kent
- Kirklees
- Knowsley
- Leicestershire
- Liverpool
- Luton
- Medway
- Merton
- Newcastle
- Norfolk
- North Somerset
- North Yorkshire
- Nottingham
- Oldham
- Oxfordshire
- Peterborough
- Plymouth
- Reading
- Redbridge
- Rochdale
- Rotherham
- Sandwell
- Solihull
- Somerset
- Southend
- Slough
- St Helens
- Stoke
- Suffolk Libraries
- Surrey
- Telford and Wrekin
- Trafford
- Wakefield
- Warwickshire
- Wiltshire
- Wirral
- York
For the latest news, follow the #microbitsinlibraries on Twitter


text:
Monday, December 19, 2011
Worst Christmas Album Of The Year...
The first song had me thinking that he just might pull it off, but then...it was hard to listen to "I'll Be Home For Christmas," which you can listen to/download
without spitting out my eggnog in laughter. The absurd crooner vibrato and wavering pitch of the former rocker/junkie/jailbird is backed by "sophisticated" orchestrations, pseudo-calypso, cheezy Casio drum-machine lounge, and even the whitest kind of Jimmy Buffet-reggae. Won't knock out Dylan's xmas atrocity as 'worst holiday album ever by a rocker,' but Bob does now have some serious competition. Merry Kissmyass!
11 comments:
- Unknown said...
WOW that was painful!
- 11:56 PM, December 19, 2011
- Music-Sonic said...
wow, haha nice theme dude .
- 5:00 AM, December 21, 2011
Not funny - pathetic.
- 3:15 PM, December 21, 2011
I thought the worst was CHRISTMAS WITH THE KING FAMILY. CD reissue is a needle-drop "remaster" with mono bonus tracks from the TV video recordings from the various specials.
Thank you for giving me another target to look for. --Windbag
- 6:57 PM, December 21, 2011
OMFG! I think Weiland is ripping off SCTV's Joe Flaherty doing his take on Perry Como! Just check out SCTV "Perry Como: Still Alive" and you'll find the song stylings are identical!
I can just picture Weiland "relaxing" face down on a chaise lounge as he recorded this!
Thanks for the laff!
- 3:30 AM, December 22, 2011
Oh, wow, I just heard three songs off this POS. Thin, raspy voice, drunken vibrato, force pour a bottle of bourbon down Jerry Vale with a nasty cold and you have Weiland's ambience. This is more annoying than hearing Michael Bolton butcher '50s swinging Sinatra (BOLTON SWINGS SINATRA)--I didn't think it possible!
- 8:03 AM, December 22, 2011
he just really seems like he's in pain. It's hard to watch.
Also, Billy Idol seems similarly tormented:
- 4:04 PM, December 22, 2011
- Mr Fab said...
Jeff: I checked out "Perry Como: Still Alive" on the YouTubes - classic. not quite as funny as Weiland, tho.
"force pour a bottle of bourbon down Jerry Vale with a nasty cold" - THERE'S an image seared into my brain; why would such a thing happen?! Jerry Vale kidnapped off a Palm Springs golf course by terrorists!?
- That Billy Idol video: what a horrible, horrible idea; maybe Iggy could pull off something like that? he can croon and is self-aware enough to realize that the whole thing would be slightly ridiculous, something Weiland and Idol seem utterly oblivious to.
- 4:43 PM, December 22, 2011
The Missus got to meet Billy Idol years ago when she took the kids to one of those big shoe company sponsored retail-friendly punk rock festivals and said he was charming as hell and really nice to everyone, chatting and signing stuff for everyone and put one one energetic show.
- 8:55 PM, December 22, 2011
u can't really say it's the WORST without this version of the
little durmmer boy
see what i mean
- 5:02 AM, December 28, 2011
- Abovedarkness said...
what a waste of time can't stand him anyways guys just a terd
- 11:36 PM, January 08, 2015


text:
Jacksonville, Fla. --- The Tennessee State University women's basketball team bounced back to defeat the University of North Florida, 67-51, Friday night in UNF Arena.
Tennessee State (2-7) was led by Chelsea Hudson's 24 points while Rachel Allen had 16 points and five assists. I'mani Davis recorded a team-best 10 rebounds to go with nine points, just shy of a double-double.
Amber Robinson led North Florida (2-7) with 11 points as Destinee Smith added 10.
In the first half, TSU jumped out to a 10-3 lead following back-to-back three-pointers from Chelsea Hudson and I'mani Davis. Over the next two minutes, UNF responded with a rally to pull within one.
With 13:50 on the clock, a bucket by Rachel Allen sparked a 10-0 run that put TSU on top, 20-9, halfway through the first frame. The Lady Tigers went without a score for over two minutes and allowed the Ospreys cut the deficit down to single digits.
Another spurt, capped by a steal and a break-away lay-up from Davis made the score, 28-18, in favor of TSU before Allen nailed her second triple of the contest to extend the advantage to, 33-20.
The Lady Tigers led 35-24 at halftime.
Allen had 10 first-half points while TSU only committed six turnovers in the stanza.
In the second half, UNF cut the deficit down to single digits before TSU extended its lead up to 45-30 following six straight points from Chelsea Hudson. Over the next several possessions, however, the Ospreys outscored TSU, 14-3, to shrink the Lady Tiger lead down to just four points, 48-44.
Hudson connected in the paint to end TSU's scoring drought and made the score, 50-44.
Two free-throws by Davis and another bucket from Hudson put the Lady Tigers back on top, 54-44, with 7:18 remaining.
The Ospreys once again chopped the lead down to single digits but consecutive three-pointers from Rachel Allen gave TSU a, 62-49, lead and put the game out of reach with 2:17 remaining.
TSU shot 39.1 percent (25-of-64) from the field, including 34.8 percent (8-of-23) from three-point range. The Lady Tigers only committed 12 turnovers and held the advantage in rebounds, 44-37, assists, 13-7, and steals, 10-6.
Tennessee State will have a break before returning to action on Sunday, Dec. 15 at home against Martin Methodist College. Game time is slated for a 2:30 p.m. start in the Gentry Center.


text:
Split2split July 12-19th
Prev | 1 | Next
Prev | 1 | Next
All forums are moderated and should not be used to promote businesses or products. Please create your own profile or group for this. We reserve the right to remove any comment we feel is inappropriate at any time.


text:
Sponsors La Grace
Sponsors of La Grace
- ropes for La Grace
- supply of navigation
- supply of nails
- supply of electrics
- production of of masts, spars, blocks etc.
STADLER Consulting, s.r.o. - ship stability calculations
- supply of flags, embroidery
- securing the ship against burglary, fire alarm with remote control
Umělecké kovářství Bárta - production of stainless steel fittings
- publishing house IFP Publishing&Engineering s.r.o.


text:
From galaxy collisions to star birth: ISO finds the missing link
Data from ISO, the infrared observatory of the European Space Agency (ESA), have provided the first direct evidence that shock waves generated by galaxy collisions excite the gas from which new stars will form. The result also provides important clues on how the birth of the first stars was triggered and speeded up in the early Universe.
By observing our galaxy and others, scientists have long concluded that the explosion of massive stars like supernovae generates shock waves and 'winds' that travel through and excite the surrounding gas clouds. This process triggers the collapse of nearby gas that eventually leads to the birth of new stars, like a domino effect.
The signature of this process is the radiation emitted by molecular hydrogen. When hydrogen molecules are 'excited' by the energy of a nearby explosion, they emit a distinctive type of radiation that can be detected in the infrared.
This type of radiation is also observed in places where galaxies have collided with one another and the formation of new stars goes at a very high rate. So far, however, there was no clear picture of what happens in the time between the collision of two galaxies and the birth of the first new stars.
The missing link has now been found by a team of German astronomers that have analysed ISO data of the galaxy pair nicknamed the 'Antennae' (NGC 4038/4039). These two galaxies, located 60 million light-years away in the constellation 'Corvus' (the Crow), are currently at an early stage of encounter. The scientists noticed that the overlapping region of the two colliding galaxies is very rich in molecular hydrogen, which is in an excited state.
In particular, the radiation from molecular hydrogen is evenly strong in the northern and southern areas of the overlap region. Much to the team's surprise, however, there are too few supernova explosions or regions of intense star formation there to explain the observed molecular hydrogen emission. So, the excitation of the molecular hydrogen must be the signature of that observationally rare pre-star birth phase in which hydrogen is excited by the mechanical energy produced in the collision and transported by shock waves. In other words, these results provide the first direct evidence of the missing link between gas collision and the birth of the first stars. The team estimates that when the gas will collapse to form new stars, during the next million years, the Antennae galaxy will become at least two times brighter in the infrared.
The astronomers believe that star formation induced by shocks may have played a role in the evolution of proto-galaxies in the first thousand million years of life of our Universe. Shock waves produced through the collision of proto-galaxies may have triggered the condensation process and speeded-up the birth of the very first stars. These objects, made up of only hydrogen and helium, would otherwise have taken much longer to form, since light elements such as hydrogen and helium take a long time to cool down and condense into a proto-star. Shock waves from the first cloud collisions may have been the helping hand.
Note to editors
These results, to be published this Spring in the scientific journal Astronomy & Astrophysics, were obtained by Martin Haas and Rolf Chini from the AIRUB Institute in Bochum (Germany), and by Ulrich Klaas, from the Max-Planck-Institut für Astronomie in Heidelberg (Germany).
The ESA Infrared Space Observatory (ISO) was launched in 1995 and operated from November that year to May 1998. At that time, it was the most sensitive infrared satellite ever launched and made particularly important studies of the dusty regions of the Universe, where visible light telescopes can see nothing. Regions of intense star formation in the colliding galaxies Antennae, were first discovered by ISO's ISOCAM instrument in 1996. The wealth of data collected by ISO still produce important science results today, with over 130 publications published every year in the refereed literature. A review of ISO major achievements can be found at http://www.iso.vilspa.esa.es/science/SSR/.
ESA will reopen its examination of the infrared Universe when Herschel is launched in 2007.
Alberto Salama
ESA – ISO Project Scientist
Tel: +34 91 8131 364
Email: firstname.lastname@example.com
Martin Haas
University of Bochum, Germany
Tel: +49 234 32 28673
Email: email@example.com


text:
Fantastic live from Fela at the Afro Spot, recorded between 1966 and 1969. The afrobeat is about to born and Tony Allen is totally possessed on the drums, espcially in Moti Gnrokan.
Fela Kuti: "Everyday I got my blues"
Fela Kuti: "Moti Gnrokan"
"It was so fucking strange to them you know. It took us 5 years to establish that music properly in the country (Nigeria). At first it was only the jazz lovers who got it.But later people started to pick up because now we started to do this afternoon jump thing at the Afro-Spot. They would come in early to the club to enjoy themselves, and then this music started to enter them".
Tony Allen
Fela Kuti: "Waka Waka"
Fela Kuti: "Lai Se"


text:
Low country, high art
Flanders is guest of honor at this year's Frankfurt Book Fair. What inspires writers and poets between the clouds and the North Sea?
The beach in Oostende is drowning in rain. A man in a blue suit, yellow shirt, tie and hat sits on the lifeguards' stand. Seagulls swoop around him. It's cold.
Below him, a bare-chested lifeguard yells rule-book text into the wind, ordering him down immediately because what he's doing is not allowed. He tugs at the man's trouser leg, radios for back-up and blocks the photographer's lens with a life preserver.
This scene is the natural start to our story because Flanders is at once grotesque and gray, real and surreal. And because the man on the stand is the cartoonist Herr Seele, the king of Surrealism.
Hours before, he received us in his studio, a one-time movie theater with dusty pianos on the ground floor. Herr Seele is a piano tuner by trade, but a master of the art of living and an artist by choice. In 1981, he gave Cowboy Henk, a blond giant of a man sporting an Elvis quiff, to the Flemish, and the cartoon still appears in Humo magazine today.
Ask anyone on the coast and you'll get an enthusiastic nod. Everyone here grew up with Henk, the uncle, brother, father of the Flemish.
Was that his creator's intention? Sitting in front of a self-portrait in oils, Herr Seele grins. "I grew up with Tintin, but we hated those comics. They were so boring! Henk is, if you like, anti-comic, punk." Tough words for Belgium, the land of the comic. But it gradually dawns on us that Flanders is not Belgium – just a small part of it.
In October, Flanders joins the Netherlands as guest of honor at the Frankfurt Book Fair. The two countries share a border and a language, so it makes sense.
Flanders, in the north of Belgium, (population, 6.4 million) has an eternal problem: its unresolved issues with Wallonia in the south. Linguistically, politically and culturally, the two are very much at odds. The Walloons parley in French, and there's lots of speculation about the country breaking apart.
And so identity – what the two sides have in common and what divides them – is all-important along the Flemish coast, which feels as though it begins just beyond Bruges.
Herr Seele knows his countrypeople's quirks. He walks across to the Brasserie du Parc, the majestic Kursaal to his left. Oostende was once the stomping ground of the royal set, and the king would stroll past the Venetian Galleries as far as the racecourse. Today, it's mostly tourists from the interior. The promenade has been concreted over with high-rise buildings. Herr Seele loves the fall season, when the streets are empty because the vacationers have left. "It's better for art," he says over a beer.
Cowboy Henk was born in this café. Herr Seele would note down his ideas and Kamagurka, his partner, would add the gags. They called it "turbosurrealism" – countless pages in an hour!
A new editor at Humo magazine tried to drop the cartoon. Circulation slowed. Irate readers wrote in. A few weeks later, the editor was gone and Henk was back. "Daft idea of his," says Herr Seele.
The Flemish are fond of their bumbling hero. While Tintin and Snowy always come out on top, Henk makes an idiot of himself. Always the loser, he takes some punishment but gets back on his feet – he's too violent, too honest, too strong.
In one story, Henk finds a fish in the river. He hauls it on land and tries to resuscitate it, mouth-to-mouth. The fish dies and Henk moves off dejectedly. That's the kind of Flemish humor Herr Seele loves. "We need someone to talk about taboos. Henk does."
He wants to go down to the beach for a photo in the lifeguard stand. You have to apply to the city for a permit, the lifeguard yells. Henk would have punched him. Herr Seele stomps away.
New day, same weather. The sky is a thick, dramatic gray resembling ash mixed with slate. Seeing beauty here is hard work. Els Moors, Flemish poet from Poperinge, agrees. But it's still inspiring, isn't it?
She's sitting on the Kusttram – last row, best view. The streetcar serves 67 kilometers of Flemish coastline. Here's a nice superlative: Europe's shortest coast has the longest tramway in the world. The trip from De Panne in the south to Knokke in the north takes two hours and 23 minutes.
Outside, Flanders swishes by. Wartime bunkers in the dunes, the Atlantic Wall, rusty cannons. Mobile homes stretch away to the horizon near Westende. The high-rise canyons of Nieuwpoort. The North Sea. Men in gumboots scouring its shore with metal detectors in search of jewelry.
Inspiring? Moors leans forward: "When I write a poem, I make room for it in my head. I can do that best here." Moors often writes about the sea. She observes it with camera precision – and then questions, varies, squeezes all she can out of what she sees. The result: truths that earn her critical acclaim.
Identity is an all-important theme for poets and writers in Flanders
Moors points out the window; an ex of hers lived here, and, oh yes, another ex's grandfather once tied his boat up here, and here … She laughs. For her, the coast is peopled with men. Moors is demanding, direct and amusing, just like her poems.
"I sometimes wonder do I need to bare my all in poetry? Then I think about it and say, yes, I do!" She used to write verses in the attic because she was so ashamed. No longer! If people don't understand them, she doesn't change the way she writes, she just writes for those who do. "I used to have trouble with Flemish, felt the language was too stark for poetry," she says.
Today, she sees it as a challenge to wring music from a language without melody. In her view, the Flemish people's complexes stem from their language, from being a minority in their own country – in both number and native tongue. You could also construe her poetry as liberating, emancipatory. Read it and discover how wonderful Flemish can be! Listen to what the language is capable of!
A lighthouse emerges from a veil of fog near Middelkerke. It's up for demolition. Moors shakes her head. What a funny, chunky building. An obese lighthouse; it suits the landscape. It would also suit one of Moors' poems.
I would love to ride further, but my next appointment is looming, so it's time to turn around. Wytske Versteeg is waiting halfway back, in Bredene, in the dunes. Versteeg is from the Netherlands, where she is regarded as the best writer of her generation – she was born in 1983.
It is only fitting that we should meet her on the beach since her most successful novel, Boy, is set on a beach. Boy, an adopted African boy, dies a mysterious death and his mother sets out to find out who is to blame. It's a tale of revenge, anger and grief, magnificently dissected by Versteeg.
She used to write for the theater, but doesn't anymore. "I gave that up because I'm a control freak. In books, I have sole control over the story. When I wrote for the stage, I had to hand it over to other people and watch what happened to it," she says.
We always expect the creators of formidable stories to be formidable themselves. So we were quite surprised to meet this shy woman tripping barefoot through the spray and to watch her, an hour later, stroll wide-eyed through De Haan, another spa town, but different, with well-preserved, half-timbered buildings.
Beautifully turned out, De Haan calls Disneyland to mind. Oriel windows and towers everywhere, and in the middle of it all, a pensive Versteeg. What a beautiful contrast.
Does she like Flanders? "In Belgium, the Dutch have a reputation for being loud and arrogant. Here in Flanders, I can see some truth in that." She says this very quietly.
Oostende: our fourth and last meeting. Erik Lindner, poet, born in The Hague in 1968. His rhymes have a certain weight in the Netherlands, but to find them, he travels to – you guessed it – Flanders. He was here in May, stayed two weeks and wrote a sea epic.
Now, in early August, Lindner is back on the ferry crossing the harbor from Visserskaai to the breakwater. He wants to show me where the poem "Undertow" came from. "Writing about the sea isn't a concept. It's inside me and happens quite naturally," he explains, standing between backpacks and functional jackets.
In May, he was the only passenger, stood at the stern and took inspiration from the maelstrom created by the ship's propeller. Lindner scribbles something in a notebook. He looks like he has fallen out of time, a tall man in a gray suit who needs nothing but a pen, light and wind to sustain him.
Gulls screech as the clouds part, just as they did when Lindner wrote: "The sun paints a room in the sky / Clouds hang in front of, beneath and all around it." Poetry should flow like waves, that was his idea. The first verse floods in, a second rolls outs. It works.
Why Flanders, Dutchman Erik Lindner? "The eye gets lazy in its usual surroundings, the mind misses things. I come here for new observations," he explains. Lindner looks at the water, the dock, at Fort Napoleon. The coast of Flanders, inspiring in its beauty, its ugliness, its absurdity – but a good place to finish.
Flanders' coastal tram line
Getting there from Germany
Lufthansa offers up to ten daily flights to Brussels (BRU) from Frankfurt (FRA) and up to seven from Munich (MUC). From there, take the train to the coast of Flanders.
Visit meilenrechner.de to calculate your miles.


text:
Queen Mother of the Jade Kwan Um Chi Temple in ancient times known, Tang said the Jade Pool, also known as the Queen Mother Temple, located south of Red Gate Palace southeast of Taishan. Create's no test, has been building the Three Kingdoms, Wei Zhi "fairy articles " a "Queen Mother of the East had House, overlooking the view between the saying" sentence, experience on behalf of the refurbishment, then into the current scale. Renovated in 1959, the Queen Mother of the house, side hall, and Yue Xianting things, saved the Qing Dynasty style. Queen Mother of the temple is a three-temple, flat rectangular, north to south and 73.6 meters, 53 meters from east to west, an area of 3900.8 square meters. By the door, the Queen Mother Pool, Queen Mother of the house, what side hall, what penthouse, Yuet Sin Ting, seven true composition of the temple and the Penglai Pavilion. Temple 1, Miankuo 3.45 meters, 3.55 meters depth, 5.65 m-high, square Shi poles, five top ridge of hard, stone wall built between two mountains. Door width 1.3 meters, 1.82 meters high, chessboard door. Front of the temple there is a fire pond, used for the pilgrims burn incense, fire screen wall south pool, a letter to "pay tribute to all generations", describe the Queen Mother Hall 3, Miankuo 9.76 m, depth 7.33 m, 6.4 meters-high, four-post July Purlin beam before and after five steps the corridor type, back porch into the hall, including the five ridges hard top.
Shandong, ancient place of for the Qi and Lu, located at the east China coast, the Yellow River downstream, the Beijing Hangzhou big canal's north section, the provincial capital supposes in Jinan, in the province the main super city has Jinan, Qingdao, Yantai, Zibo. Western connects the interior, with Hebei, Henan, Anhui, Jiangsu four provinces borders on separately from north to south; Middle high suddenly, Taishan is the throughout peak; The eastern Shandong Peninsula enters Yellow Sea, north separates the Bohai Sea channel and the Liaodong Peninsula relative, surrounds and protects Beijing and Tianjin and Persian Gulf, east separates Yellow Sea and the Korean Peninsula faces one another, the southeast is near depends on broad Yellow Sea, to look out south East China Sea and Japan the chain islands.


text:
Airfix J6000 Quickbuild Spitfire
- In stock
Airfix J6000 QUICK BUILD Spitfire
Collect and build a brand new range of six flying legends from Airfix. Quick and simple, designed as a push fit construction model kit, which has been pre-coloured. The model is provided with a display stand and decorative stickers.
This model has a total of 34 parts with 3 additional parts for the stand. The height of the model when placed on the stand is 116 mm.
Scale: N/A
Skill: 1
Scale: N/A
Dimensions (mm): L213 x W264 x H61
Number of Parts: 34
Age Suitability: 5+
Safety Notice:
WARNING! Not suitable for children under 36 months. It contains small parts wich can present a choking hazard. Please retain these details and the address for future reference. CAUTION! Please remove all packaging before giving the toy to a child


text:
Is your Google Chrome browser regularly spewing out the multitude of PDFConvertTools pop-ups? This is definitely a reason to be worried about the condition of your computer. Such alerts may appear both in Windows and Mac computers, however, primarily they're the trouble for Google Chrome browser. When PDFConvertTools pop-ups appear they will hijack your browser and will not allow you to use it freely until you agree to interact with them. Definitely, your computer is in a trouble that needs to be resolved immediately, so please continue reading this tutorial that will help you to fix both your system and your browser in an automatic way.
Screenshot of PDFConvertTools pop-ups as they occur in Google Chrome:
Quick facts about PDFConvertTools pop-ups.
How could PDFConvertTools pop-ups become the component of your browser?
Tips to avoid PDFConvertTools pop-up show.
What happens with your browser when PDFConvertTools pop-ups are enabled?
The intention of PDFConvertTools pop-up windows is to persuade you to download and install some suspicious extension into your Google Chrome browser. The message may tell you about the need to perform such installation as some requirements of Windows or Mac OS X operating systems. However, we strongly advise that you do not proceed with such suggestions, since your browser will be hijacked after you do that. The home page and the default search engine settings will be amended and you will be forced to obtain search queries from pseudo search engines that definitely cannot be considered as genuine ones.
What caused PDFConvertTools pop-ups to become active in your browser?
Many computers today can be infected as a consequence of person's failure to be attentive while spending time online. People could browse the web and suddenly click on certain malicious link, which will then automatically and in a hidden manner install certain potentially unwanted program like adware or browser hijacker, or some pseudo system optimization tool. Intrusion of adware that spews out PDFConvertTools pop-ups may also happen when people download and install some free software which can be found through various freeware download resources. Many free programs can be bundled by default with certain adware which is definitely not necessary. Sometimes people fail to notice such third-party applications suggested to be installed by default. During installation of free programs they may blindly click on "Next" or "I agree" buttons, without knowing what exactly they agree with. Obviously, this is the way they permit various unwanted programs to be installed. And the chances are that this is exactly the way how adware causing PDFConvertTools pop-ups penetrates into computers.
Furthermore, another essential factor which could facilitate PDFConvertTools pop-up intrusion is formalized in absence of powerful anti-malware protection software in targeted computer. Sometimes people simply do not prefer to have any anti-virus software at all. In such cases it is extremely easy for any computer infection to be injected. On the other hand, some anti-viruses installed in targeted computers could be poorly updated and simply fail to protect computers in times of malware attacks.
Ways to prevent PDFConvertTools pop-up intrusion.
The first piece of advice for you to prevent PDFConvertTools pop-up intrusion is to pay more attention to minor details during installation of free programs. You need to make sure that you do not allow any extra applications to be easily installed and enabled. So, take time to carefully browse through the installation guidelines associated with free applications you deal with. It is also a good practice that you read carefully the EULAs (End User License Agreements) related to free software. In case you find the information about some extra applications you do not need, make sure to immediately switch to the advanced or custom installation mode to avoid unpleasant surprises associated with PUPs (potentially unwanted programs) to take place. We urge you to be very careful at this very point of freeware installation. If you do not see advanced installation options, then simply cancel the entire process of dealing with this particular program bundled with other stuff you do not need.
The last but not the least, reconsider your available anti-malware software which promised to protect your system and yet permitted malware to be enabled. It is surely time to switch to some other anti-malware utility that will be able to render desired level of anti-malware defense for your computer, both for Windows and Mac systems. As a solution to remove PDFConvertTools pop-ups from your computer please follow this removal guide below.
Detailed PDFConvertTools pop-up removal steps.
STEP 2. Deleting infection Google Chrome.
STEP 1. Scanning your workstation with anti-malware software for PDFConvertTools pop-up detection.
Instructions to clean Windows computers.
- Download anti-malware by clicking on the button below.
- Install the utility and start it.
- Wait until the utility is duly updated.
- Run scanning with the software for PDFConvertTools pop-up detection.
- Remove detected malicious items with registered version of the software.
- Restart your PC.
- Repeat scanning with the anti-malware utility.
- Follow additional tips below to repair your browser infected by PDFConvertTools pop-ups.
This slider explains how to download, install and use recommended anti-malware for PDFConvertTools pop-up detection and elimination:
Instructions to clean your Mac computer.
- Click on the download button below to download Combo Cleaner:
- Run the installer by clicking on the 'combocleaner.dmg' downloaded file:
- Move Combo Cleaner.app into your Mac Applications:
- Launch Combo Cleaner from your Mac Launchpad:
- Scan your Mac with Combo Cleaner.
- Activate its full registered version.
- Apply required fixes an malware removals, restart your Mac and repeat scanning.
STEP 2. Remove PDFConvertTools pop-ups from Google Chrome browser.
- In Google Chrome, click on its "Settings" button in the form of three vertical dots, then select "Settings":
- Select "Extensions" in the left part of the window. Uncheck suspicious extension, then click on the Trash icon next to it.
- NOTE. Final optional steps. Use these steps only if the above-mentioned methods to remove PDFConvertTools pop-ups from Google Chrome did not help. When in Google Chrome settings mode, scroll down to the bottom of the page and click on "Show advanced settings":
- Scroll down to the bottom of the page and click on "Reset settings" button:
- In the pop-up window, click on "Reset":


text:
Accident Report: Fatality Reference:
PDF Version:
METAL/NONMETAL MINE FATALITY - On February 14, 2012, a 40 year-old mine owner with 8 years of experience was killed at a shale operation. The victim was operating an excavator with a rock breaker attachment. He was breaking and mining material from a near vertical wall when the face fell onto the cab of the excavator, crushing him.
Best Practices:
- Operate excavators with the cab and tracks perpendicular to, and away from, the highwall.
- Bench or slope the material to maintain stability and to safely accommodate the type of equipment used. Do not undercut material on the face of a slope, bank, or highwall.
- Examine highwalls, slopes, and banks from as many perspectives as possible (bottom, sides, and top/crest) while maintaining the safety of the examiner(s). Look for signs of cracking, bulging, sliding, toppling or other signs of instability. Record the type and location of hazardous conditions.
- Use auxiliary lighting during non-daylight hours to conduct highwall examinations and to illuminate active work areas.
- Perform supplemental examinations of highwalls, banks, benches, and sloping terrain in the working area.
- Immediately remove all personnel exposed to hazardous ground conditions and promptly correct the unsafe conditions. When the conditions can not be corrected, barricade and post signs to prevent entry.
- Remove loose or overhanging material from the face. Correct hazardous conditions by working from a safe location.
Additional Information:
This is the 2nd fatality reported in calendar year 2012 in the metal and nonmetal mining industries. As of this date in 2011, there was 1 fatality reported in these industries. This is the 1st Fall of Highwall fatality in 2012. There were no Fall of Highwall fatalities in the same period in 2011.


text:
Couke Surname Ancestry Results
Our indexes 1000-1999 include entries for the spelling 'couke'. In the period you have requested, we have the following 7 records (displaying 1 to 7):
Try these...
couhran couhull couhurd couhurde couhyrd couilard couillard couillault couillebeuf couillet couillette couilliard couinck couintr' couintre couintro couiter couith couitre couk couker coukey coukthard coukton coul coula coulam coulan coulances couland coulard coulas coulaund coulbarn coulbeck coulbert coulbie coulborn coulborne coulbourn
These sample scans are from the original record. You will get scans of the full pages or articles where the surname you searched for has been found.
Your web browser may prevent the sample windows from opening; in this case please change your browser settings to allow pop-up windows from this site.
Want to be alerted about new results for this search?
Subscribe to this web feed
Research your ancestry, family history, genealogy and one-name study by direct access to original records and archives indexed by surname.


text:
Job Seekers, Welcome to OSUCVM Career Center
The job you tried to view is no longer active.
See similar jobs below or perform a new job search.
See similar jobs below or perform a new job search.
Sort By
2,568 'veterinarian OR greater OR syracuse OR ny OR STATECODE:"NY"' Jobs
Pulaski, New York
North Country Veterinary Services
1 Week Ago
Commack, New York
West Hills East Veterinary Clinic c/o Burzenski & Company, P.C.
2 Days Ago
Ithaca/N Lansing/Groton, New York
Meadowridge Veterinary Hospital
1 Month Ago
Ossining, New York
Hudson Veterinary Hospital Pet Resort and Spa
3 Weeks Ago
Bedford, New York
Bedford Greenwich Animal Hospital
1 Week Ago
Glen Cove, New York
Green Forest Veterinary Hospital
3 Weeks Ago


text:
Enter a magazine title or keyword
Frequency: 10 per yr
Cover Price: $35.88
I look so forward to my monthly Guideposts. It's like a little gift every time. As soon as I open it, I read the whole thing from cover to cover as fast as I can. Later, I go slowly through each article and letter and savor them. It's a gift that keeps on giving. When I'm through, I take my collection of read Guideposts to the local senior center. They look forward to it, too. They greet me at the door with smiles on every face.
I purchased this book as a gift; however, I thought I'd read just a couple of the little stories .... I couldn't put it down. Read in a few short hours. I just want to recommend it to everyone. It's great!
I got a few from a friend, and they are so beautiful!! So many inspirational stories in one spot, with believing in God as the base of all of them. I was very impressed right away.
I have had many trials in my life. Reading The Guidpost allways helped me through them! Reading about how God HAs been in other peoples lives,has made me realize, there are other people in this World that has problems also!I have some from 10 years ago i still read over and over!Thanks for being there for people to read!
I worked at CRWRC some years ago and always read the magazine also given to me as a gift. My sister & and I commented on the beautiful articles written for the magazine and we do not feel fulfilled unless we read from cover to cover. Hate when subscription runs out and cannot afford to renew, but God is always faithful and someone will leave one somewhere we visit. Okay, I do take them home, but God know we pass them on. I am 75 and started reading at the early age of 8 (for myself) and never have I been more satisfied and inspired as when I read Guideposts. Keep up the good works, I pray for your staff and the hours spent in the creation.
Join Us:
Accepted Cards:


text:
Hamels getting closer to rejoining rotation
PHILADELPHIA -- Cole Hamels could return to the Phillies rotation next week, provided everything goes well with his scheduled Minor League rehab start on Thursday.
Hamels, building arm strength as he recovers from tendinitis in his left biceps, is expected to increase his workload to 90 pitches with Class A Advanced Clearwater. That would put the left-hander on track to start against the Dodgers in Los Angeles as early as April 22, and Phillies assistant general manager Scott Proefrock said Wednesday "that's a distinct possibility." Phillies manager Ryne Sandberg agreed, and said he was "optimistic" Hamels would make his season debut at Dodger Stadium.
While Hamels is close to being activated, right-hander Miguel Alfredo Gonzalez is getting close to pitching off a mound. Gonzalez is on the 60-day disabled list and has not pitched competitively in nearly two years. The Cuban originally agreed to a $48 million contract with the Phillies last July, but he ultimately signed a $12 million deal in August following concerns with his physical. Proefrock said the organization would not rush Gonzalez to the Major Leagues.
"I don't think that was ever our expectation of him after what happened with the health questions that led to the contract that we ended up signing him to," Proefrock said. "I think we want to be very careful with him and make sure he's comfortable and really assimilated into the organization and the culture before we put him in that type of pressure situation. I think we want to make sure he's 100 percent healthy, and we're going to go slow with him and hopefully get him on a rehab assignment when he's ready for that and see where he's able to help us."
In other injury news, Proefrock said right-handed reliever Ethan Martin has started to throw bullpen sessions and outfielder Darin Ruf has started baseball activities and should begin a hitting progression early next week.


text:
Skip to content
Romeo Facebook
Romeo Twitter
Top Menu
Tony Romeo
My Life on the Web
About Tony Romeo dot Com
Who's Tony Romeo?
Contact Tony Romeo
Main Menu
June 5, 2018
Tony Romeo
Leave a comment
About Tony Romeo
View all posts by Tony Romeo
Post navigation
8th Grade Dinner Dance
You may like these posts
Happy Birthday to Me
Berlin, NJ Fall Festival Host and Emcee
Easter 2019
Let it Be
Rylee's 18th Bday!
Leave a Reply
Cancel reply


text:
That happens Ok for bbfilescout click Here for the OTA download.
Now for your other apps if you bought them through Mobi hand (either our store or CB's) you can click the support button on the homepage of the store. Then click my account and log in. It will bring up all the apps that you have bought and you can have the the download link sent your your phone again
Let me know
No problem
Brohlijk, here is a link to the Help guide: Help GUIDE, towards the bottom, there are instructions on how to wipe with JL, and also BBSAK. When you wipe with either one, load the OS and then do a security wipe (before restoring anything). Go to options>security options>general settings> bb key > wipe handheld. This gets rid of corrupted traces of OS. Then just do your restore for phone and 3rd party apps. And don't forget to back up first.
Well I think I need to come to Jersey then
open your browser hit your bb button and options then choose browser configuration and you should see "Browser Identification" middle of page. Make sure that is set to blackberry
Did you try going to the link for opera with your phone and make sure the browser is set to blackberry
Send an Instant Message to brohlijk Using...


text:
1928 Ford Roadster - Teenage Kicks
Now 19, Jordan Graham Has Built Two Model As
Some of you may have already seen this Flatty-motored A roadster starring on Hot Rod TV, so when we met its owner Jordan Graham at the West Coast Kustoms show in Santa Maria, we figured the story behind its build was worth sharing. After all, there aren't many teenagers who get their own TV show, let alone many who have built their second traditional hot rod and still own them both! Also, Jordan tackled pretty much all the work on his rods himself, with advice from old-time hot rodders in his local area. Coming from the Solvang area of California, near Santa Barbara, this isn't surprising, but a lot of these guys that Jordan looked up to have passed away, and according to Jordan, "With a lot of their generation going away fast, I wanted to carry it on for all of them. I've taken their advice over the years and did what I've done to impress them.
"When I was 15 years old, my pops, Bill, moved into a new shop. Next door were eight old cars from 1924 to 1931. The widow who owned what had been her husband's obsession wanted me to dust the cars and get them off the ground onto jack stands. One day she asked if I'd like a car from her other property. My 15-year-old face lit up and I picked out a '31 Ford coupe, really rusty, tired, and stuck in the dirt.
"For the next two years I ground, welded, and pieced together a hot rod (the one in the background of these pictures) the way my heroes would have. The way they told me it was. My main influence was my best friend's grandpa, Yankie Breck. He was paralyzed in '68 and had a '32 five-window in his garage.
"After the coupe was finished, I decided someone locally had to start dropping axles. I thought of a plan and design and went for it, and have now dropped approximately 400 early Ford axles as the owner of Nostalgia Drop. I've been trying to build just plain bitchin' hot rods ever since.
"After realizing my goal of driving my coupe through my senior year of high school, I got a call one day from my good friend Jack Chard, who ran the lakes and streets of Santa Barbara in the '50s. He told me he'd just dug a '28 Model A roadster out of his brother's backyard where it had been sitting for more than 50 years. I was stoked; my dream car finally came up, and the good friend that he is, Jack gave me the car. Now it wasn't like you could just buff the paint and drive it; it had sat next to the ocean for 50 years and the rust was incredible, but I was young and had ambition up to my neck.
"Shortly after this, I delivered a dropped axle I'd donated to an episode of Hot Rod TV. They asked if I could weld and before I knew it I was working on the show as a fabricator. When the show aired, the producer Bud Brutsman wanted to thank me for the help and offered me a 30-minute episode to build a car. Wow! That was a lot to ask from an 18-year-old kid. Come December 2007, I had a build together for them: the '28 roadster body, a '32 frame, and Hallock windshield...
"We started shooting and it really set in that I had my own show with a real deadline of April 8! I worked night and day, seven days a week, periodically filming segments of the build. On April 6, I was in a rush making door panels in a stomp shear when it bit back and took an inch off my index finger. The 8th was the last day of filming and while I was in the hospital my dad and good friend Finn Lund slaved away to get the car running for the deadline so I could drive it to wrap up the show. I've been driving it ever since, with Santa Maria being its maiden outing to a show. I'd really like to thank my dad for rebuilding the trans and rearend, Adam Booth, Katrina, my girlfriend, and Finn Lund for making the most bitchin' floor for me."
Now most of us know that all those cars you see built on TV shows are either not quite finished, or nowhere near finished, and though Jordan's roadster was done and driving by the deadline, he's the first to admit that, though the experience was cool, the timetable of three months meant it didn't afford him the time to build it as perfectly as he'd have liked. But it's his daily driver, which means it's done for now, and that's just fine with us!
Owner contact info: firstname.lastname@example.com GrahamSolvang, California1928 Ford Roadster
ChassisAn original '32 frame, or rather now just the boxed 'rails, sits under that roadster body, employing a Model A front crossmember with 2 inches removed from its height, and a 4-inch swept kick-up in the rear where you'll find a Model A rear crossmember. A '40 Ford X-member and pedal make up the center of the chassis, all work handled by Jordan, who also dropped the '32 "heavy" axle used up front by 2 inches. Original '40 spindles and brakes and a stock Model A spring complete the frontend, with shocks still to come! A heated and 2-inch dropped Model A rear spring supports a '41 Mercury rearend; both front and rear springs were wrapped in army electrical tape, a trick suggested by the late Yankie Breck.
DrivetrainWorking forward from that Merc rearend, Jordan shortened an original '32 torque tube while his dad Bill rebuilt a '32 transmission and coupled it with a '36 shifter. This connects through a stock flywheel to a '49 Mercury Flathead V-8 that came into Jordan's possession as an old hopped-up motor of unknown origin. He reports the compression is "crappy," though it contains an Isky cam and uses Offenhauser heads and intake. The twin carbs are Barry Grant Demon 98s, while the only other concession to modernity is the Mallory ignition. 1936 driveshafts cut in half form the basis of the headers, with no mufflers.
Some 16x4-inch '40 Ford steelies support each corner of the roadster, a rubber rake provided by choosing 7.50-16 Silvertowns in the rear and 6.00-16 BFGoodrich hoops up front, bias-plies all around naturally, and with wide whitewalls. Coupled with the black painted wheels, the color scheme blends with the rest of the car.
The body was truly trashed when it was given to Jordan, requiring patch panels all the way round. The subrails were gone and the rust extended 6 inches up the body throughout. After tackling the repairs, he welded in a '31 Chevy coupe dash. The Deuce grille was chopped 3 inches to fit the profile of the body, before Duplicolor pearl white was sprayed on most of the body and frame, the remainder being finished in black. Melvin Harris then added the Popeye graphics to the cowl, the Steve Sellers-supplied Hallock windshield went on, and a '28 Chevy gas tank went into the trunk. Jordan is currently working on an aluminum hood.
InteriorA more eclectic bunch of components you'd be hard-pressed to find, but they work in this roadster. Mismatched metal mail truck seats supply creature comforts (really?!) with a '38 Ford steering wheel topping the '32 column. Jordan wrote "mahogany and maple" in the carpet section of his tech sheet, and this also forms the firewall between the cockpit and the trunk, and certainly provides a different look than most roadsters. Those door panels that took his finger are still not fitted though.


text:
The majority of Gloucestershire County Council's schools will be opening as normal for the beginning of term next week, despite many having suffered damage during the floods.
However, a number of schools, youth centres, children's centres and other facilities will still be dealing with the impact of last month's flooding.
Continue reading 'Across the county, schools will open as normal'


text:
Cancer and blood disorders
Pediatricians (primary care)
Genetics and genomics
Heart care
Find a doctor
Sign up for MyChart
Health information
Newborn and fetal care
Urgent care
Online Urgent Care
Medical records
Online video visits
Request an appointment
Message your provider (MyChart)
Coming to Childrens Hospital Milwaukee
Mobile apps
Coming to Children's Hospital Fox Valley
From out of town?
Billing and payments
Symptom Checker
Insurance information
Compliments and concerns
Milwaukee hospital
Community services
Fox Valley hospital
Behavioral health
Primary care
Specialty clinics
Other locations
Search by name or specialty
Find a pediatrician
Find information for medical professionals
Find a research investigator
Find services and specialties
Print a physician verification letter
Learn about our research
Community partners & professionals
Families & clients
Foster care & adoption
Donate online
Giving to Children's
Become a volunteer
Events supporting Children's
Sign up for our e-newsletter
About our foundation
John D Suson is currently accepting new patients!
Request an appointment
Text Size
Print Page
The Eye Institute