text:
to page content
to site navigation
Explore the Entrepreneurship.org Resource Center to find resources. Designed with entrepreneurs in mind, our resource center allows you to find materials to grow great ideas.
Getting ready to do your first presentation to a VC or angel? A good beginning leads to a happy ending. An experienced speaker and writer provides entertaining and useful advice on why your business presentations should open with a spark instead of a spreadsheet.
This well-written article gives practical advice on how to think about acquisitions and five no-nonsense tips on how to do them productively for all concerned.
Mohanjit Jolly, Managing Director of Garage Technology Ventures, moderates a discussion between five VCs and Angel investors. The panel addresses key issues related to the funding process, including valuation, business plans, funder presentations, and strategies for accessing VCs.
Issuing new equity shares of company stock has a direct impact on existing shareholders. Performing an equity dilution analysis can improve both financial decision-making and recruitment of new talent into the ranks of top management. A description process (including specific mathematical examples) are provided here.
When pitching a potential investor, it is important to understand not only what they want to hear, but more importantly what they don't. Avoid these typical mistakes that many entrepreneurs make when seeking funding from angels and venture capitalists.
Have venture capitalists overlooked innovation in industries such as nanotech, biotech, medical devices, and semiconductors? A new generation of entrepreneur-innovators is succeeding in such arenas-with promises of more to come. VCs are beginning to take notice. The article offers an overview of industries and products with explanations by entrepreneurs.
This article provides an excellent framework not only for how to raise money but also for how to think about raising money. Key point: Always stay nine months ahead of your need for cash.
Are your startup financials accurate? Odds are they are not, perhaps significantly so, because you have not spent the necessary time and effort forecasting revenues. This article explains why revenues, not expenses, are the most important--and difficult--numbers to get right.
VCs increasingly are leaving the industry to become entrepreneurs, yet despite their experience with funding startups, many of them are realizing just how challenging it can be to launch a successful business. The insights gained in entrepreneurship, in turn, provide them with a perspective on what it means to be on the andquot;other sideandquot; of the funding table.
Matt McCall posts about Sequoia Capital and how this VC firm describes the elements of sustainability they seek within the ventures they fund, such as clarity of purpose, large markets with rich customers, and focus.
Want to get connected? Sign up to receive regular news, polls and updates from The Kauffman Foundation.
A robust online curriculum for entrepreneurs.
Explore Founders School >
A network of U.S. cities facilitating a weekly entrepreneur education program. Go to 1 Million Cups >
Whether you are starting or growing a company, FastTrac will help you live your dream at each stage.
Get started with FastTrac >


text:
INGREDIENTS:3 cups cool water 1, 5-lb. box devil's food cake mix 4 cups cool water 5 lbs. cherry pie filling 8 cups whipped cream 1 cup sliced almonds, toastedDIRECTIONS:1. Pour 3 cups of cool water into mixer bowl; add cake mix. Mix at medium speed using a paddle for 1 minute. 2. Add 4 cups of cool water gradually over 1 minute while mixing at low speed. Scrape bowl and paddle. Mix at low speed for 2 minutes. 3. Scale batter into an lightly oiled and floured 18 x 26 sheet pan. Bake at 300°F ...
Register to view this article
WhyRegisterfor FREE?
Registering for Premium Content on Restaurant Hospitality will give youINSTANTaccess to invaluable articles and media content that industry professionals rely on. You will have access to our special reports, feature articles, and industry analysis. It'sFREE, easy and quick.

subset: commoncrawl


text:
Pay for senior Charterhouse execs revealed in High Court
Highly sensitive information about the pay of Charterhouse's management duo, Gordon Bonnyman and Lionel Giacomotto, emerged as the pair took the stand at the High Court in London last week in a dispute over the value of a former Charterhouse director's shares.
Executive chairman Bonnyman received £5.803 million in salary, bonus and co-invest – profits from investing in Charterhouse's funds – in the 2012-13 financial year, according to David Chivers QC, who is acting for former executive Geoffrey Arbuthnott in his legal action against Charterhouse and current and former colleagues.
Managing partner Giacomotto, who jointly runs the firm with Bonnyman, received £4.5 million in 2012-13, another of Arbuthnott's lawyers, Andrew Thompson, said. Giacomotto's income remained strong following the financial crisis: he received
£4 million in salary and bonus in the financial year 2009-10 and this rose to £6 million in 2010-11 before falling to £4.6 million in 2011-12, Thompson said in court last week. The firm had a bonus pool of £42.8 million in 2012, and £39.6 million in 2011 and £41.4 million in 2010, according to witness statements from Bonnyman and Giacomotto filed at court.
The case relates to Arbuthnott's claim that the respondents tried to force him to sell his entire stake in the firm for £1.35 million in November 2011. This valued Charterhouse at £15.15 million, which Arbuthnott says is less than its true value. He is now petitioning the courts to get an independent valuation of the shares. The case continues.
When questioned on the firm's bonus pool following the downturn, Giacomotto said it was "a bit ironic" that bonuses remained high as it was an "exceptional" time. He said that the firm had quickly invested money from its eighth fund and this was shortly followed by the financial crash. In his witness statement, he commented on the 2010 bonus pool: "Because of the economic climate, we had not managed to exit many investments. This meant that management fees continued to be paid for longer than expected, inflating the size of the bonus pool."
Giacomotto added in court: "This is a highly paid and high-risk industry. When you look at our industry you can't look at short-term remuneration, you have got to look over 10 years."
Speaking in court last week, Bonnyman said that he viewed Charterhouse as "a band of brothers" and "not a corporate entity". He said that he and a group of senior directors might have left Charterhouse to set up their own fund if they had been forced to buy Arbuthnott's shares for a higher price.
Bonnyman said: "I would have left and if circumstances had permitted, I may have set up a competing fund. I should be retired by now. My view at the time, and that of my senior colleagues, was that we did not need to work there and would not work there, if someone had forced us to pay more."


text:
Primary tabs
January 8, 2013 - 8:27am
All Dormitories will be open for students to move in on Tuesday, January 8th at 1:00 p.m.
January 8, 2013 - 11:28am
P.R.C.C. BOOKSTORE Hours For the following campuses
Poplarville Campus & Forrest County Campus
Students who are enrolled in courses for the Spring 2013 term may begin purchasing and/or renting* their textbooks on January 7, 2013 until February, 2013 (for A/R-Financial Aid)
IMPORTANT: ALL STUDENTS WILL BE REQUIRED TO PRESENT THE FOLLOWING BEFORE they will be allowed to Purchase and/or Rent their textbooks.
STUDENTS who are enrolled in Extended Education Courses (On-Line Classes) MUST ALSO HAVE THE FOLLOWING BEFORE THEY CAN BE ALLOWED TO PURCHASE/RENT TEXTBOOKS for ONLINE COURSE are required to present a COPY(printed) their STUDENT PROFILE as well as their PRCC I.D. card.
If you do not have a copy of your STUDENT PROFILE (printed from the MSVCC site) you may not purchase and/or rent Textbooks until you do present a printed copy of it to the Bookstores when you come to pick-up those textbooks. All campuses will require the same documentation before they can sell/rent textbooks to any student. This is to help assure that you receive the correct textbook(s),etc. required for the course(s)
Hancock County Center P.R.C.C. BOOKSTORE
Beginning Jan. 14, 2013 the HCC Bookstore will Be Open the following dates/times ONLY.
10:00 A.M. till 5:00 P.M.
Be Supportive ~ Invest In Your Campus ~ Buy from Your Campus Bookstores!!! Thank you for shopping at "your" P.R.C.C. College stores. We appreciate your business!
January 8, 2013 - 11:31am
POPLARVILLE - Women's health will take center stage on Saturday, Jan. 26, when Pearl River Community College hosts the seventh annual Women's Health Symposium.


text:
Icelantic BoardsNo Reviews Available | post a review
Denver, CO US
(303) 670-6804
Store Website
Send Them an Email
About Icelantic Boards
|We are an innovative ski company from CO, this is our third year on the market. The core concept behind our ski design investigates and exhibits the importance of a ski's surface area. We call our skis AT Boards because of the versatility of each of the skis ability, from tight east coast trees, to big lines in Alaska to champagne powder in Colorado. We aim to reintroduce fun and convenience back into the ski industry and once you try a pair, you'll see why.
Icelantic was a childhood dream of founder Ben Anderson, 24. During middle and highschool, Ben interned at several local manufacturers in the Denver area, and learned the art of ski construction. After attending Western Washington University for 2 years of industrial design, Ben decided it was time to get serious. He returned to Colorado, bought a used ski press and began pressing skis in the garage of his parents house in Evergreen, CO. With his passion for skiing and a keen sense of design and detail, Ben noticed a gap in the market and decided to pursue a ski that would fill the void. From this was born the Scout, Icelantic's pioneer ski of 2004.
The Scout was introduced at SIA in LasVegas in January of 2004. The first year out in the market proved extremely successful as measured by the amount of people that tried them and the percentage of those that bought.
The design of the boards, especially the length (143cm) is a big deterrent for many people. The dimensions and composites of the skis, however, make riding the Scout, similar to skiing a 180cm shaped ski. That is, with out the extra 40cm infront of you.
From the Scout, we designed the Nomad (13cm longer) with the same materials, and dimensions; the Pilgrim, our park/slalom carver; and the Shaman, our unprecedented tapered powder ski that holds one hell of an edge! The company is now made up of Ben Anderson, founder and US Sales, Annelise Loevlie, International Sales and Marketing; Travis Cook, R&D, Sam Warren, soft goods; and Travis Parr, Head artist - All Colorado natives and lont time friends.
Our Mission is to initiate innovation in the snow sports industry by exploring the importance of a ski's surface area and introducing a revolutionary product designed to reduce unneccesary length while providing unmatched performance. We will continually apply the latest ski technology with Colorado craftsmanship and cutting edge graphic art to ensure the highest quality product on the market.
Icelantic Boards began operations in 2004
Bad info? Tell us
Icelantic Boards Contact Information
Icelantic Boards Website
New Gear From Icelantic Boards This Season
|New this year is the Nomad, Pilgrim and the Shaman. The Nomad is a longer version of our pioneer ski, the Scout. Standing 156cm tall with a 140mm tip, 105mm waist and 130mm tail the Nomad remains a true All Terrain board. The poplar wood core maintains stiffness and rigidity, the dimensions create a large surface area (= to 185cm shaped ski) which allows for stability at high speeds and quick response time in tight situations. They also float in the pow.
The Pilgrim (127mm, 90mm, 115mm) is our park/slalom carver ski. We made this ski stiff with a softer tail to butter landings, but the tortional rigidity allows for a super aggressive hold during carves. In the park or on an icy slope - don't be afraid to use these.
The Shaman (160mm, 110mm, 130mm) is our revolutionary powder ski. The tapered design allows the skier to maintain a forward aggressive stance in deep snow, without the tips diving. You can charge anything on these and there is no chatter in the shovels!
Where to Buy Icelantic Boards Online
You can also purchase Icelantic Boards directly from their website
Icelantic Boards - Their Specialties
|Our skis are designed around the importance of surface area, not length, we have original art for graphics and all of our products are handmade in Colorado! Conventional wisdom suggests the need for length on a ski to maintain speed and stability. It is, however, the overall surface area, not just length that creates this. So, we made shorter, fatter skis that are more responsive, stable and versatile than anything out there. From tight trees, to big lines to cold, wet crud, our AT Boards will charge through what Mother Nature dishes out.
Icelantic Boards Service
|We are happy to offer anyone in the industry proform deals. We also hold demos at various mountains across the country and Canada, so be sure to check our website for dates and locations.
Icelantic Boards Products
Alpine Skiing
Alpine Skis
Men's Alpine Apparel
Women's Alpine Apparel
Other Alpine Softgoods
Telemark Skiing
Telemark Skis


text:
Decorative Olive Green Diamond Design Pillow Sham
About this itemAdorned with sophisticated diamond patterned stitching.
Highlight your living room or bedroom with the effortless style of this gorgeous cushion cover hand-crafted by talented Asian artisans. Adorned with sophisticated diamond patterned stitching, the shimmering olive green fabric catches the light with a soft radiance and is silky to the touch. An unobtrusive zipper hidden in the side seam makes it easy to insert and remove pillows. Strong, reinforced seams help prevent fraying. With its simple, striking design and high-quality craftsmanship, this versatile pillow sham is an ideal addition to any room. Measures 16 inches long x 16 inches wide. Cushion not included. The handcrafted nature of this product will cause minor differences in design, color and sizing. Subtle variations will occur from piece to piece, adding to the unique quality of individual creations. Measurements may vary slightly.
Assembled Country
Assembled Size
16"L x 16"W
Component Country


text:
The 90-minute course was provided three times Monday at the Beeville Police Department's Training Center at 708 W. Milam St.
Bee County Emergency Management Coordinator Mike Willow explained that two men from the Coastal Bend Council of Governments would teach the course while they were in town.
While Homeland Security Coordinator Robert "RJ" Thomas taught the class inside the center, Emergency Management Planner and Solid Waste Manager Chayne Sparagowski said the team would visit 11 counties in the Coastal Bend to offer the classes.
"Beeville is the first one," Sparagowski said.
"The goal is to teach agencies how to become interoperable with each other," he said.
That will be achieved by teaching the agencies to be cross disciplined.
All law enforcement agencies and fire departments in the Coastal Bend will be urged to take the course when the COG representatives are in their counties.
Willow said invitations to attend the class were extended to all fire departments in Bee County.
"The Council of Governments has been helping us out for a long time," Willow said.
Recently, Theresa Finch of the COG was instrumental in getting help for the disposal of thousands of discarded tires that the county has been trying to get rid of for several years now.
Willow said the COG had assisted the Beeville Police Department in getting grant funds to purchase special radios that will allow lawmen to communicate with agencies in neighboring counties.
Gary Kent is a reporter at the Bee-Picayune and can be reached at 343-5220, or at email@example.com.


text:
Additional Info
Public Legal Education
The CBA Public Legal Education Department has a library of educational materials related to law and justice. Curricula, texts, publications, videos, workbooks, and handbooks on the constitution, practical law and mock trials are available for any grade level.
In addition, a small selection of videos are available with practical tips in such areas as buying a house, small claims, doing your own divorce, evictions, etc.
Please contact Carolyn Gravit, Director of Public Legal Education, at email@example.com or Meghan Bush, Program Manager, at firstname.lastname@example.com for more information.


text:
WASHINGTON, DC - The U.S. Consumer Product Safety Commission (CPSC) voted (5-0) to issue a final mandatory rule under section 104(b) of the Consumer Product Safety Improvement Act (CPSIA) for infant walkers.
The rule adopts the applicable voluntary industry standard, ASTM F 977-07, Standard Consumer Safety Specification for Infant Walkers, and adds the following more stringent requirements:
- using the actual weight of a walker in a calculation to determine the launching distance for the stair fall test,
- specifying equipment used in the stair fall test,
- adding a parking brake test for walkers equipped with parking brakes.
These changes were made to strengthen the standard and reduce the risk of injury from these products. There has been an 88% reduction in injuries from 1994 to 2008, which may be attributed to the addition of a stair fall requirement included in the 1997 version of the ASTM voluntary standard.
The final infant walker rule would take effect six months after publication in the Federal Register. This is the effective date that was proposed in the Notice of Proposed Rulemaking (NPR). Consistent with the proposed rules recently published for toddler beds and bassinets, the effective date would apply to products manufactured or imported on or after that date.
Section 104 of the CPSIA, Standards and Consumer Registration of Durable Nursery Products, requires the CPSC to study and develop safety standards for certain infant and toddler products, including infant walkers.
Statement (pdf) from CPSC Commissioner Thomas H. Moore on the new federal safety standard for infant walkers.
The U.S. Consumer Product Safety Commission is charged with protecting the public from unreasonable risks of injury or death associated with the use of
thousands of types of consumer products under the agency's jurisdiction. Deaths, injuries, and property damage from consumer product incidents cost the
nation more than $1 trillion annually. CPSC is committed to protecting consumers and families from products that pose a fire, electrical, chemical or
mechanical hazard. CPSC's work to help ensure the safety of consumer products - such as toys, cribs, power tools, cigarette lighters and household
chemicals -– contributed to a decline in the rate of deaths and injuries associated with consumer products over the past 40 years.
Federal law bars any person from selling products subject to a publicly-announced voluntary recall by a manufacturer or a mandatory recall ordered by the
To report a dangerous product or a product-related injury go online to www.SaferProducts.gov or call CPSC's Hotline at 800-638-2772 or teletypewriter at
301-595-7054 for the hearing impaired. Consumers can obtain news release and recall information at www.cpsc.gov, on Twitter @USCPSC or by subscribing
to CPSC's free e-mail newsletters.
Please use the below phone number for all media requests.
Phone: (301) 504-7908
Spanish: (301) 504-7800
View CPSC contacts for specific areas of expertise
The link you selected is for a destination outside of the Federal Government. CPSC does not control this external site or its privacy policy and cannot attest to the accuracy of the information it contains. You may wish to review the privacy policy of the external site as its information collection practices may differ from ours. Linking to this external site does not constitute an endorsement of the site or the information it contains by CPSC or any of its employees.
Click Ok if you wish to continue to the website; otherwise, click Cancel to return to our site.


text:
it ok By victor on 4/8/2016victor would recommend this product to a friendit would be better if come whit the calibration solution packages
Excellent By sromero287 on 12/17/2015sromero287 would recommend this product to a friendWhy pay more for average quality if u can have simply the Best at BRS, keeps calibration for months!!!!!!
No problems here! By Brian on 12/13/2015Brian would recommend this product to a friendI originally tried to go cheap and bought a pH probe on eBay that never worked right from the start. I guess that's what you get when you pay $10 for a pH probe. I did manage to get this probe during the Black Friday sale which made it the same price as Apex standard Ph probe. I didn't even calibrate it yet. I stuck it in the probe mount in my sump, plugged it into my mp1 module, and checked the reading. I then performed a ph test on my water and it was spot on with the probe! Checked a couple more times and have found this probe to be rock solid.
Very reliable By Fishers Coral Reef Farm on 11/25/2015Fishers Coral Reef Farm would recommend this product to a friendWe do not keep the probe in tank water 24/7 due to algae growth within the reference junction. We also do, and recommend, storing the probe tip in pH probe storage solution. With this practice, we find the BRS lab grade probe obtains a stable reading with 7 and 10 calibration solutions during the calibration procedure. Other probes begin to take longer to equilibrate after about 12-18 months of use. With these probes, we also find that our monthly 'as found' pH during calibration is very close to the 'as left' and often does not require any calibration adjustment on the meter. We'll be buying another one of these to control our CO2 reactor. Unfortunately, that one will have to remain in the system water 24/7.
Works well maintains calibration By Richard on 11/19/2015Richard would recommend this product to a friendThis probe, in my opinion, performs as good or better than Neptune probes.. Have used one for over a year and I test 3 probes in my system evrey three months. I use a borrowed pH tester and test before calibration. I also move the probes between tanks sometimes and i have never had to calibrate the BRS probe.
Great By Phil B on 7/31/2015Phil B would recommend this product to a friendVery happy with this probe. Hooked right up to the Apex, calibrated quickly and up and running in no time. Happy to have the extra quality at a lower cost :)
Love it By Fish tank Jeff on 5/11/2015Fish tank Jeff would recommend this product to a friendOk so I finally decided to give this probe a try and I love the quality of it and it calibrates very fast, it reads right on, will buy this one again when needed, works great with my reef keeper elite.
Great probe at a great price By Herman on 4/26/2015Herman would recommend this product to a friendExcellent build quality. No issues calibrating with my Apex. I
Great Probe By Bryan on 12/27/2014Bryan would recommend this product to a friendGreat probe for the money. Works well and calibrates fine. You can pay more elsewhere but why!!
good probe By nick on 12/15/2014nick would recommend this product to a friendThis is a good choice for a replacement probe. Easy to calibratcalibrate, cable length is the same as the pinpoint. No issues hooking it up or with its performance so far.


text:
SECRETARY STEVEN CHU: We are dependent on foreign oil. Right now, transportation fuels are almost totally dependent on petroleum. Our consumption is increasing. Our production is going down. And so how do we break the heavy dependency on foreign oil is one of our issues.
There is another issue: We're beginning to lag in production – in auto production. These are United States, Japan and China in auto production. And it is startling how much production is now happening in China. One thing I do not want to see – and, you know, there's – there are some comments that say, ah, well, manufacturing in U.S. – that's OK – it is offshored; you know, we can make money in financial houses. Uh-uh. (Chuckles.) We have to bring back manufacturing – and automobile manufacturing is a crucial part of this – back onshore. And this is something we feel very committed about. In order to bring that back, in order to make sure the United States plays a dominant role in innovation in this sector, it relies on a lot of the things I'm seeing here, a lot of the new ideas.
In terms of mileage, I think it's safe to say we don't know what the price of oil will be tomorrow, next year, but it's safe to say five, 10, 20 years from now, 30 years from now it will have to go up. It will oscillate around, but it's going to have to go up – just supply and demand. And so we are accelerating fuel standards – it's 35 miles per gallon by 2016 – (inaudible) – fleet, and – but that's a beginning. We want to do better than that.
We are investing nearly $13 billion to promote competition and convergence in several approaches – electric vehicles – both plug-in hybrids, all-electric vehicles. We're also looking to advanced biofuels, next-generation biofuels. Corn ethanol is a transition approach, but we want to give the American farmers something to grow, and we also want to take advantage of all the agricultural waste that we have and convert that into biofuels. Advanced combustion engines – there's a few examples of that in the show, just a beginning. Natural gas – due to research sponsored by the Department of Energy from 1978 to 1990, and in the early '80s methane coal bed and shale gas – that research was finally picked up by the oil and gas industries. In 1990, Schlumberger started investing in shale gas research. That has effectively doubled the gas reserves of the United States. And hydrogen fuel cells – it's longer in the distance, but we're still in there.
Electrifying transportation – personal vehicle transportation – is very important to us. The kind of cars that we're seeing here today are examples. This is a preview of the Fisker Karma, which is the – a moderate – well, it depends on who you are, but – (chuckles) – not a high-end cost vehicle. This is something where we're investing $2 ½ billion for three of the world's first electric car factories, $2 billion to support 30 battery and component factories in the U.S., $40 million to deploy electric vehicles and chargers around the country and four ARPA-E projects. So this is really to help the United States take a commanding lead in this new technology.
So today, as an example, we're announcing the closing of a $1.4 billion loan to Nissan. This is Nissan America. It is going to be money spent in America for American jobs. It's to help retool a Tennessee factory – produce the all-electric Leaf, which is around just a stone's throw from here – huge headroom, you know. It's enough headroom so even after you get a Nobel Prize your heads can still fit in. (Laughter.) Sorry. (Chuckles.) Expected to create 1,300 American jobs.
This is one example. We have an advanced technology vehicle program, to Ford, to Nissan, to Tesla, Fisker, (Tentacle?) – substantial amount of loan money, $8.6 billion. This is part of the entire loan guarantee package we – that was authorized in 2005, appropriated in 2006. And it – but it wasn't until 2009 that these loans have gotten out. We now have – and just, Jonathan Silver, who's down there, please stand up. He's the head of the loan guarantee program. He's come on board. We have now 11 conditional loans out also. Please stand up – and see, these are their DOE folks. You shouldn't come to me. You should go to them if you want a loan. (Laughter.) Anyway, so we went from zero to 11. We're revamping how we do these things. We're really pushing forward on making this part of the engine for driving innovation in the U.S.
This is – other examples, the Chevy Volt – funded early R&D research. It's a beautiful car. Another very beautiful car – this is the Tesla Model S. This is the one expecting to cost roughly half of the earlier version and still – so both Fisker, Tesla, the Leaf – all these cars are redefining an electric vehicle, it – in terms of its body design, fantastic looking. ETec, the world's largest EV demos – and so these are – again working closely with Nissan. And so you get the electric cars on the road. We need charging stations. We need the infrastructure, and it's being developed concurrently – very important.
The battery cost is the biggest thing for plug-in hybrids and electric vehicles. This is our projection just simply on increasing the production, essentially going to mass production of the batteries. The projections now are by 2015 the cost per kilowatt-hour of a battery now in the over a thousand dollar range today will go down by a factor of four, so somewhere between 3 (hundred dollars) and $400. In addition to that, we are investing in research that can reduce that to a hundred dollars. In addition to that, there are a lot of very exciting prospects out there for doubling and tripling the energy density, both energy weight and volume of these batteries, so they can last 15 years of deep discharges, the lifetime of the car. And so this is something we're really hoping in the next couple of years will start to be mass produced.
So another thing – this is an example of something I personally think has some real potential. In today's best lithium-ion batteries, there's a peak current. If you charge too fast, you begin to wear them out more rapidly. Even in today's Prius, for example, if you put hard – stomp hard on the brake, the energy – the kinetic energy from the braking can't be delivered all to the battery because the battery can't really take that quick a charge. So there are what we call ultracapacitors – electrostatic storage, very inexpensive. They don't have the energy density or the longevity, but it's OK because in the braking you give it – the energy to an ultracapacitor, which slowly puts it into the main battery. So a hybrid solution like that, I think – this is also true in truck hybrid braking, for delivery trucks. So you can get all the energy – kinetic energy back. You put it in a battery, you run the electrical systems. Again, it's going to – I – we believe, improve the gas mileage of all vehicles. Again, it's technology that just has to be hybridized with the batteries that we have today.
Next-generation biofuels. We're investing a lot in looking at how bacteria, in this case, can directly take sunlight, and instead of growing some biomass stuff, it directly makes petroleum products. So this is one of the things we're investing in. And another thing we're investing in is a totally different approach. Instead of taking either microbes or developing better enzymes and – to digest biomass and turn it into fuels beyond ethanol, beyond butanol, but into really direct replacements for gasoline and diesel fuel, we're also looking at the gasification of biomass, where you take the biomass – and this – you can blend in – you gasify it. You turn it, for example, into an intermediate methanol; then you make a synthetic fuel, which then becomes a very clean, direct substitute for diesel fuel or gasoline. So we're seeing if that can be made available, competitive. One company says that if we take out 20 percent profit from investment in this plant, our business model is we hope to make diesel fuel at $2 a gallon wholesale. OK – the total costs. OK, now if you can do that, that's pretty good. And so we'll see.
This is my old laboratory, Lawrence Berkeley Laboratory. It's an institute funded by the Department of Energy called the Joint BioEnergy Institute. Next week in Nature magazine – one of the premier science journals in the world – will come out an article where they've told E. coli – they've reprogrammed E. coli by putting in whole new metabolic pathways. And in doing so, you feed simple sugars to this bacteria, and out pops diesel fuel, diesel fuel that is secreted into solution that floats to the surface, you skim it off, and you can put it in a gas tank or a diesel tank. And so I saw the press release. The director of this institute and the director of the research is an old friend of mine, Jay Keasling. I said, Jay, this is great. Tell me, does it really have a shot at being commercially viable without subsidy? And he says, we will know in two years. It – they started in a collaboration with a company, LS9. LS9 – it's – they have a target: We have to get the yield up to X amount. They think they're going to – they think they're – they're optimistic. But it's still research.
In the meantime, the scientists – the basic scientists who have done this aren't saying, well, we've published our Nature article, on to do another research project. They're saying no, we're now going to develop a little pilot station to really show that it works. So now you have a new attitude among some of our best basic scientists. You're going to invent something, and you're going to nurse it all the way through. So we say yes, this is going to be good to go, and you hand it off to industry. So this is the kind of attitude we are now starting up in the Department of Energy. It's just like in the wartime where the best basic scientists working on the Manhattan Project, on radar – they wanted to deliver the goods. They weren't – you know, they weren't stopping at a scientific publication. Plus you couldn't publish those things.
So anyway, advanced combustion engines – we – there is improvement in internal combustion engines. Ford has been doing some very great things in the direct injection, Cummins also doing some really good things. And so there's a lot of exciting things going on in combustion engines, both in diesel and in gasoline engines.
We are trying to drive, as I said, innovation from the lab to the marketplace. The Department of Energy's reputation started as – you know, well, starting with the Manhattan Project, but going into higher-energy physics – just to remind you – this is a little-known fact, but by the time I leave this department, I hope it's well known – the Department of Energy is the biggest funder of the physical sciences in the United States. But it also has funded the work of more Nobel laureates than any other science funding agency in the world. In addition to that, it has trained more future Nobel laureates, an enormous number. The lab that I came from, Lawrence Berkeley Lab, where I was director for almost five years – I was a graduate student at Berkeley and a postdoc at Berkeley, and I was also a lab employee. That lab has trained graduate students, postdocs, young career scientists. Thirty young scientists went on to get Nobel prizes. It's an enormous addition to the legacy of the United States, to the industrial competitiveness. And we want to even grow this more.
So we do R&D. But we also are very interested in transferring as rapidly as possible, like that example I just gave you with the E. coli, into demonstration and innovation, and finally to partner with industry to get it out there, to get it deployed at scale. And we have to do all of these things in order to solve the climate problem, to solve the energy dependency and energy security problem as rapidly as possible.
Our investments are creating jobs all across the country. This is a map of transportation electrification, electric drive components, batteries. Supertruck – we think we can improve the mileage of trucks, long-haul trucks, by 30 percent. Fundamentally going to be aerodynamics, but a lot of other things as well – Clean Cities, electrification, education, things of that nature.
So we're looking at the whole food chain of the transportation – automobile sector. The – we think this is a good way to create jobs immediately, but much more importantly, it's laying the foundation in the future so that these are jobs that will decrease our dependency on foreign oil, save money for American consumers, lead in advanced vehicle manufacturing. But above all else, this is laying the foundation to create high-quality American jobs now, tomorrow, in decades in the future.
So that's all I have to say. Thank you for your attention, and we hope we can all go forward and push all these technologies. The automobile industry, the trucking industry in the United States has been a pillar of our industry, our overall industry. We want it to remain so. We – but we want to drive towards higher efficiency.
Thank you again. (Applause.)


text:
"Thank you for the work that you do. This March will mark my third year back in the Catholic Church. By God's grace, he brought me back using Catholic Answers Live and EWTN. I will be forever grateful."
~ JoAnn
0 results
Subscribe to Catholic Answers Magazine
"It is impossible for me to understand on what scientific grounds is founded this resurrection of the old materialistic view of the world that had its first great expression from Epicurus and Lucretius. Nothing that I can see justifies it."
~ Joseph Hyrtl; Austrian anatomist; renowned educator, author of classic textbooks on applied anatomy, chair of anatomy at the University of Vienna, Catholic.


text:
How many times have you asked yourself or been curious about how the developers at Hotmail or Yahoo Mail process the attachments to your email? Rest assured that you are not the only one. Too often Java Internet developers only concentrate on processing strings from an HTML form, and when asked by the boss if they can do file upload, they have to do some research before they can come back with an answer. File upload is too rarely discussed by even respectable Java literature.
And, with the growth of the Internet, file upload has now also
played significant roles beyond email applications. Other
Internet/intranet applications such as Web-based document management
systems and the likes of "Secure File Transfer via HTTP" require
uploading files to the server extensively. This article discusses all
you need to know about file upload. But first things first. Before you
jump too excitedly into coding, you need to understand the underlying
theory: the HTTP request. Knowledge of the HTTP request is critical
because when you process an uploaded file, you work with raw data not
obtainable from an
HttpServletRequest object's methods
such as
getParameterNames, or
Each HTTP request from the Web browser or other Web client applications consists of three parts:
These three parts are explained in the following sections.
The first subpart of the first part, the HTTP request method,
indicates the method used in the HTTP request. In HTTP 1.0, it could
be one of the following three:
head, or
post. In HTTP 1.1, in addition to the three methods,
there are four more methods:
trace, and
options. Among the seven, the two
methods that are most frequently used are
get and
get is the default method. You use it,
for example, when you type a URL such as
http://www.onjava.com in the Location or Address box of your
browser to request a page. The
post method is common
too. You normally use this as the value of the
<form> tag's
method attribute. When
uploading a file, you must use the
post method.
The second part of the first part, the URI, specifies an Internet
resource. A URI is normally interpreted as being relative to the Web
server's root directory. Thus, it starts with a forward slash
/) that is of the following format.
For example, in a typical JavaServer Pages application the URI could be the following.
More information about URI can be found here.
The third component of the first part is the protocol and the protocol version understood by the requester (the browser). The protocol must be HTTP and the version could be 1.0 or 1.1. Most Web servers understand both versions 1.0 and 1.1 of HTTP. Therefore, this kind of Web server can serve HTTP requests in both versions as well. If you are still using an old HTTP 1.0 Web server, you could be in trouble if your users use modern browsers that send requests using HTTP 1.1 protocol.
Combining the three sub-parts of the first component of an HTTP request, the first component would look like the following.
POST /virtualRoot/pageName HTTP/version
For instance:
POST /eshop/login.jsp HTTP/1.1
The second component of an HTTP request consists of a number of HTTP headers. There are four types of HTTP headers: general, entity, request, and response. These headers are summarized in Tables 1, 2 and 3. The response headers are HTTP Response specific, thus not relevant to be discussed here.
|Table 1: HTTP General Headers
The Pragma general header is used to include implementation specific directives that may apply to any recipient along the request/response chain. This is to say that pragmas notify the servers that are used to send this request to behave in a certain way. The Pragma header may contain multiple values. For example, the following line of code inform all proxy servers that relay this request not to use a cached version of the object but to download the object from the specified location:
The Date general header represents the date and time at which the message was originated.
|Table 2: HTTP Entity Headers.
This header lists the
set of method supported by the resource identified by the requested
URL. The purpose of this field is strictly to inform the recipient of
valid methods associated with the resource. The Allow header is not
permitted in a request using the
This header is used to describe the type of encoding used on the entity. When present, its value indicates the decoding mechanism that must be applied to obtain the media type referenced by the Content-Type header. For example,
This header
indicates the size of the entity-body, in decimal number of octets,
sent to the recipient or, in the case of the
Content-Type header indicates the media type of the entity-body sent
to the recipient or, in the case of the
The Expires header gives the date and time after which the entity should be considered invalid. This allows information providers to suggest the volatility of the resource or a date after which the information may no longer be accurate. Applications must not cache this entity beyond the date given. The presence of an Expires header does not imply that the original resource will change or cease to exist at, before, or after that time. However, information providers should include an Expires header with that date. For example,
The Last-Modified header indicates the date and time at which the sender believes the resource was last modified. The exact semantics of this field are defined in terms of how the recipient should interpret it. If the recipient has a copy of this resource that is older than the date given by the Last-Modified field, that copy should be considered stale For example,
|Table 3: HTTP Request Headers
The From header specifies who is taking responsibility for the request. This field contains the email address of the user submitting the request. For example,
This header contains a semicolon-separated list of MIME representation schemes that are accepted by the client. The server uses this information to determine which data types are safe to send to the client in the HTTP response. Although the Accept field can contain multiple values, the Accept line itself can also be used more than once to specify additional accept types (this has the same effect as specifying multiple accept types on a singe line). If the Accept filed is not used in the request header, the default accepts types of text/plain and text/html are assumed. For example,
This header is very similar to the accept header in syntax. However, it specifies the content-encoding schemes that are acceptable in the response. For instance,
This header is also similar to the Accept header. It specifies the preferred response language. The following example specifies English as the accepted language:
The User-Agent, if present, specifies the name of the client browser. The first word should be the name of the software followed by a slash and an optional version number. Any other product names that are part of the complete software package may also be included. Each name/version pair should be separated by white space. This field is used mostly for statistical purposes. It allows servers to track software usage and protocol violation. For example,
This header specifies the URI that contained the URI in the request header. In HTML, it would be the address of the page that contained the link to the requested object. Like the User-Agent header, this header is not required but is mostly for the server's statistical and tracking purpose. For example,
The Authorization header contains authorization information. The first word contained in this header specifies the type of authorization system to use. Then, separated by white space, it should be followed by the authorization information such as a user name, password, and so forth. For example,
This header is used with the GET method to make it conditional. Basically, if the object hasn't changed since the date and time specified by this header, the object is not sent. A local cached copy of the object is used instead. For example,
If-Modified-Since: Thu, 10 Aug 2000 12:12:29 GMT
The entity body is the content of the HTTP request itself. It is best to illustrate this with an example. An example of an HTTP header is given below.
Accept: application/vnd.ms-excel, application/msword, */*
Accept-Language: en-au
Connection: Keep-Alive
Host: localhost
Referer: http://localhost/examples/jsp/num/demo.jsp
User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
Content-Length: 32
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
A lot is revealed in the HTTP header above. The first line tells us
that the browser that sends this request can accept a number of file
formats, including Microsoft Excel and Microsoft Word. It is followed
by the language used (in this case, Australian English), the type of
connection (keep-alive), and the name of the host (localhost). It also
tells the server that the request is sent from the
demo.jsp which is located in
http://localhost/examples/jsp/num/ directory. Then in the
User-Agent entry, the Request tells that the user is using a Microsoft
Internet Explorer version 4.01, which is compatible with Netscape
4.0. The user operation system is also recorded to be Windows 98. The
meaning of the information to follow can be retrieved from the
previous tables.
Following the header is two pairs of carriage-return line-feed characters. The length of this separator is 4 bytes since each carriage-return line-feed character pair consists of the ASCII characters number 13 and 10. From the HTTP header above we can see that the body consists of the following code:
This is clearly from a form with two input boxes: one called
LastName with the value
truman and the other
FirstName with the value
Note that the length of
LastName=truman&FirstName=daniel is 32.
Now that you have finished dissecting an HTTP request, you are ready to take this information to the coding stage. To program a complete file upload application, you need to know both the server side and the client side. First we will learn how to program the HTML on the client side, and then we will study the Java code for the server side.
Prior to the RFC 1867 standard, there were eight possible values
for the
type attribute of an
input element:
submit, and
text. While these form elements
have proven useful in a wide variety of applications in which input
from the user needs to be transferred to the server, none of these is
useful for sending a file, either text or binary. Next, it was
proposed that the Type attribute of an Input element has another
possible value:
file. In addition, it defines a new MIME
media type, multipart/form-data, and specifies the behavior of HTML
user agents when interpreting a form with
enctype="multipart/form-data" or
type="file" /> tags.
The author of an HTML form who wants to request one or more files from a user might write:
<form action="Jsp1.jsp" enctype="multipart/form-data" method="post">
File to Upload: <input name="filename" type="file" />

<input type="submit" value="Upload" />
When an
input tag of type
file is
encountered, the browser might show a display of previously selected
file names and a "Browse" button or selection method. Selecting the
"Browse" button would cause the browser to enter into a file selection
mode appropriate for the platform. Window-based browsers might pop up
a file selection window, for example. In such a file selection dialog,
the user would have the option of replacing a current selection,
adding a new file selection, etc.
Internet programming in Java always involves the use of Servlets or
JSP pages, depending on the architecture you choose to implement. This
means that you will use one of the classes or interfaces in the
javax.servlet package or the
javax.servlet.http package. The most important interface
is the Servlet interface in the
javax.servlet package
that must be implemented by all servlets. However, I will not present
an introduction to Servlets in this article and can only refer you to
Sun's Web site if you need more
details about this API. What is of importance here is the HTTP request
and how to process it. When working with the HTTP request, you will
work with either the
interface or
javax.servlet.http.HttpServletRequest. The
ServletRequest interface is a generic interface that is
extended by
HttpServletRequest to provide request
information for HTTP Servlets.
HttpServletRequest interface has the following
public interface HttpServletRequest extends ServletRequest
The Servlet container creates an
object and passes it as an argument to the Servlet's service methods
doPost, etc). For a File Upload
Bean, you can then pass this
HttpServletRequest object to
the Bean for further processing, like the one in this article.
Some important methods of
HttpServletRequest are given
in the following list.
public long getDateHeader(java.lang.String
Returns the value of the specified request header as a
longvalue that represents a
Dateobject. Use this method with headers that contain dates, such as
The date is returned as the number of milliseconds since January 1, 1970 GMT. The header name is case insensitive.
If the request did not have a header of the specified name, this method returns
-1. If the header can't be converted to a date, the method throws an
public java.lang.String getHeader(java.lang.String
Returns the value of the specified request header as a
String. If the request did not include a header of the specified name, this method returns
null. The header name is case insensitive. You can use this method with any request header.
public java.util.Enumeration
Returns an enumeration of all the header names this request contains. If the request has no headers, this method returns an empty enumeration.
Some Servlet containers do not allow do not allow Servlets to access headers using this method, in which case this method returns
public java.util.Enumeration
getHeaders(java.lang.String name)
Returns all the values of the specified request header as an
Some headers such as
Accept-Languagecan be sent by clients as several headers each with a different value rather than sending the header as a comma separated list.
If the request did not include any headers of the specified name, this method returns an empty
Enumeration. The header name is case insensitive. You can use this method with any request header.
public java.lang.String getMethod()
Returns the name of the HTTP method with which this request was made, for example,
post, or
put. This is the same as the value of the CGI variable
public java.lang.String
Returns any extra path information associated with the URL the client sent when it made this request. The extra path information follows the Servlet path but precedes the query string. This method returns
nullif there was no extra path information.
This is the same as the value of the CGI variable
public java.lang.String
Returns any extra path information after the Servlet name but before the query string and translates it to a real path. This is the same as the value of the CGI variable
If the URL does not have any extra path information, this method returns
public java.lang.String
Returns the query string that is contained in the request URL after the path. This method returns null if the URL does not have a query string. This is the same as the value of the CGI variable
public java.lang.String
Returns the login of the user making this request, if the user has been authenticated, or
nullif the user has not been authenticated. Whether the user name is sent with each subsequent request depends on the browser and type of authentication. This is the same as the value of the CGI variable
public java.lang.String
Returns the session ID specified by the client. This may not be the same as the ID of the actual session in use. For example, if the request specified an old (
expired) session ID and the server has started a new session, this method gets a new session with a new ID. If the request did not specify a session ID, this method returns
public java.lang.String
Returns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request.
public java.lang.String
Returns the part of this request's URL that calls the Servlet. This includes either the Servlet name or a path to the Servlet, but does not include any extra path information or a query string. This is the same as the value of the CGI variable
public HttpSession getSession(boolean
Returns the current
HttpSessionassociated with this request or, if there is no current session and
createis true, returns a new session.
createis false and the request has no valid
HttpSession, this method returns null.
To make sure the session is properly maintained, you must call this method before the response is committed.
public HttpSession getSession()
Returns the current session associated with this request or, if the request does not have a session, creates one.
To illustrate how you can process a file upload, you should
familiarize yourself with the HTTP request of an uploaded file. The
following small application demonstrates how to upload a file and
writes the HTTP request into a file. Viewing the file with a text
editor will reveal the format of the request, which in turn enables
you to extract the filename, the file content, and other useful
information that are mixed together. This small application is meant
as a preparation before we discuss the real File Upload Bean and
consists of an HTML file called
main.html, a JSP file
Jsp1.jsp, and a JavaBean called
main.html file is the one that the client can use
to select a file to upload to the server and is given as follows.
<title>File Upload</title>
<form action="jsp1.jsp" enctype="MULTIPART/FORM-DATA" method=post>
Author: <input type="text" name="author" />

Company: <input type="text" name="company" />

Select file to upload <input type="file" name="filename" />

<input type="submit" value="Upload" />
You can see that the
enctype attribute is used in the
<form> tag and its value is
"MULTIPART/FORM-DATA". There are four input elements
including the submit button. The first two are normal
text elements called Author and Company. The third one is
an element of type
file, the input element that is used
to select a file.
action attribute of the form has the value of
Jsp1.jsp, meaning that the request (and also the file
uploaded) is sent to the
Jsp1.jsp file.
Jsp1.jsp simply calls a Bean called
<jsp:useBean id="TheBean" scope="page" class="SimpleBean " />
And here is the code for the SimpleBean Bean.
import java.io.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletInputStream;
public class FileUploadBean {
public void doUpload(HttpServletRequest request) throws
IOException {
PrintWriter pw = new PrintWriter(
new BufferedWriter(new FileWriter("Demo.out")));
ServletInputStream in = request.getInputStream();
int i = in.read();
while (i != -1) {
pw.print((char) i);
i = in.read();
It will write everything on the
object to a file named
The user interface is given by the
main.html file and
is shown in Figure 1. For this example, we enter some input values for
the Author and Company input elements and select a file called
abisco.html with the following content. I select an HTML
file to upload because I would like to show the content of the file in
the format. Since an HTML file is more or less a text file, the
content will be easy to display.
The content of the
abisco.html file is as follows.
When you click the Upload button (see Figure 1 again), the form
will be sent. This includes the file called abisco.html. This form is
submitted to the
Jsp1.jsp file. This JSP file itself does
not return any response to the browser. However, it creates a file
Open the
Demo.out file, and you will see the
Content-Disposition: form-data; name="Author"
A. Christie
Content-Disposition: form-data; name="Company"
Content-Disposition: form-data; name="Filename"; filename="C:\123data\abisco.html"
Content-Type: text/html
In brief, the entity body of the HTTP request contains all the form input, including the uploaded file. Those input values are separated from each other by a delimiter. Sometimes called a boundary, this delimiter consists of a few dozen dash characters followed by a random number. In the example above, the delimiter is the following line.
The last delimiter ends the entity body with two more dashes.
For an input value that comes from a non-file element, the delimiter is follows by the following line.
Content-Disposition: form-data; name=inputName
inputName is the name of the form element.
For example:
Content-Disposition: form-data; name="Author"
Two sequences of carriage return linefeed characters and the element value follow the line.
For the file, two lines follow the delimiter. The first contains
the name of the
FILE input element and the complete path
of the file in the user's computer. From the HTTP request above, this
line is as follows.
Content-Disposition: form-data; name="Filename"; filename="C:\123data\abisco.html"
It states that the FILE input element is called Filename and the
file path is
C:\123data\abisco.html. Note that Windows
browsers include the file path, but Unix/Linux and Mac browsers only
send the filename.
The second line contains the content type of the file. Therefore, its value depends on the file being uploaded. For this example, the value is text/html.
Content-Type: text/html
Like the non-File input element, the content starts after two sequences of carriage return linefeed characters.
That's all you need to know to write a File Upload Bean.
Some file upload code is written as part of a bigger application. Often the piece of code that does the extraction of the uploaded file is integrated with the other pieces as a whole, making it unusable for other applications. The solution here gives you the file upload function in a Bean, which we all know is a component in the Java platform. As such, this Bean is portable and can be used in any application that requires file upload.
I call this Bean Brainy FileUploadBean. The complete code is given in Listing 1. This section gives you the detailed descriptions of what the code does, so that you can extend the functionality if you so desire.
The first line of code is the package information. When I wrote the Bean, it was part of the package called com.brainysoftware.web. You probably don't want to use the same name for the package; therefore you should change the first line of the code.
package com.brainysoftware.web;
Alternatively, you can remove this line entirely if you don't want the class to be a member of any package.
Next are the import statements that tell you what classes or
interfaces are used in the Bean. Of special interest are the
HttpServletRequest interface from the
javax.servlet.http package and the abstract class
ServletInputStream from the
package. This class is a subclass of
Also imported are Dictionary and Hashtable from the
java.util package and PrintWriter, BufferedWriter,
FileWriter, and IOException from the
java.io package.
Then comes the class, FileUploadBean. The class has 5 private fields, 6 public methods and 2 private methods.
The five fields of the FileUploadBean class are all private. They are as follows.
private String savePath
private String filepath
private String filename
private String contentType
private Dictionary fields
The first four public methods are used to return the FileUploadBean object's private fields. They are getFilepath, getFilename, getContentType and getFieldValue.
public String getFilepath()
public String getFilename()
public String getContentType()
public String getFieldValue(String fieldName)
public void setSavePath(String savePath)
You pass the HttpServletRequest object created by the Servlet/JSP container to the doUpload method. This object represents the HTTP request that you need to process to extract the HTML form's element names-values and the uploaded file. The method starts by obtaining the ServletInputStream object using the getInputStream method of the HttpServletRequest object.
As explained before, each form element is separated by the boundary and a sequence of carriage return line feed characters. Therefore, you can read the content of the HttpServletRequest object line by line. The following line of code defines a byte array called line.
byte[] line = new byte[128];
You then use the readLine method of ServletInputStream to read the first line of the HttpServletRequest object's content.
int i = in.readLine(line, 0, 128);
The first line should be the boundary, and its length, if no error has occurred, should be much longer than 3. Therefore, a length of less than three can be assumed erroneous and the doUpload method should exit.
if (i < 3)
The boundary and the length of the boundary are important values, as you will see later. The boundary is terminated by a sequence of carriage return linefeed characters. Therefore the actual length is two less than the number of bytes returned by the readLine method.
int boundaryLength = i - 2;
The boundary is retrieved from the byte array line by discarding the last two carriage return linefeed characters.
String boundary = new String(line, 0, boundaryLength);
The field fields is then instantiated with a Hashtable object. This Hashtable object is used to store the HTML form element name/value pairs.
fields = new Hashtable();
Having the boundary you can then start extracting the form element value by reading the HttpServletRequest object's content line by line using the while loop, until it reaches the end of it when the readLine method returns -1. All HTML form elements start with a boundary followed by the content-disposition line that starts with the following characters.
Content-Disposition: form-data; name=
There are two types of form elements: file and non-file (normal form elements such as TEXT or HIDDEN elements). The difference between the two is based on the file element, which contains the following string.
Therefore, you can use this information to distinguish the file from the non-file input elements using the following two if statements.
if (newLine.startsWith("Content-Disposition: form-data; name=\"")) {
if (newLine.indexOf("filename=\"") != -1) {
// a file form element, code to extract the file here
. . .
else {
//this is a field, code to extract fields here
. . .
Now, let's a look at the code to extract the file content first. Afterwards, we have a look at the code to extract non-file form elements.
The filepath is contained in the content-disposition. To retrieve
the file path and the filename, the
doUpload method calls
setFilename private method. This method will be
discussed in the next section but it is sufficient to say that
setFilename extracts the file path and the filename information and
assign them to the filepath and filename fields.
After the
setFilename method call, filename should not
be null. Otherwise, an error has occurred and the
doUpload method returns entirely.
if (filename==null)
The next line after the content-disposition line is the content
type line. So call the readLine method again and call the
setContentType private method. This method is similar to
setFilename. It retrieves the content type of the
uploaded file from the raw bytes and assign it contentType.
The next line after the line that contains the file content type is a blank line. Therefore, call the readLine method again.
i = in.readLine(line, 0, 128);
Then, begins the actual file content. We should be ready to write
the file to the disk, using a
PrinterWriter object.
PrintWriter pw = new PrintWriter(new BufferedWriter(
new FileWriter(
( savePath==null? "" : savePath ) + filename
Where the file should be saved to depends on whether the
savePath field has been set. If the
was not set, its value is null, and the file should be saved in the
default directory. If the
savePath field has been set,
its value will not be null so the uploaded file must be uploaded to
this directory.
We can then extract the file content by using a while loop that reads one line at a time and writes it to disk using the write method of the PrintWriter. However, we know that the last line of the file includes two carriage return line feed characters. Therefore, the bytes saved to the disk must not include these two characters. So if the line read is not the last line of the file, write all the bytes read to the disk. If it is, write all the bytes read minus the last two characters.
However, we do not know the size of the file. What we know is that the next line after the file content is another boundary. Or, if the file is the last HTML form element, the next line is the boundary plus two dash characters. Therefore, by checking whether or not the next line is a boundary we will know how to exit from the while loop. This is the reason why I said the boundary value was important. We need the boundary value for this.
We could read the next line and use the
method to check if the next line is a boundary. However, string
manipulation is expensive. To avoid string manipulation, we compare
the length of the byte array read by
readLine. The latter
should be equal to boundaryLength + 2. Or, if it is the last line in
HttpServletRequest object, it should be equal to
boundaryLength + 4 because of the last two dash characters. Because a
line could also be as long as a boundary without being a boundary, we
compare it with the boundary when the length matches. Now you know why
boundaryLength value is also important.
The whole thing is illustrated by the following lines of code.
while (i != -1 && !newLine.startsWith(boundary)) {
i = in.readLine(line, 0, 128);
if ((i==boundaryLength+2 || i==boundaryLength+4) // + 4 is eof
&& (new String(line, 0, i).startsWith(boundary)))
pw.print(newLine.substring(0, newLine.length()-2));
newLine = new String(line, 0, i);
After the file content is saved to the disk, close the PrintWriter.
The non-file form elements can be retrieved similarly. Instead of writing the values to the disk, however, the name-value pairs are put into the Dictionary object.
fields.put(fieldName, fieldValue.toString());
private void setFilename(String
Once you compile the Bean, you can use it from your Servlet or JSP page. Chances are you are using the Bean with a Servlet/JSP container such as Tomcat. The easiest way to deploy the Bean is to compress the class file into a jar file and chuck it to the lib directory of Tomcat. You need to restart Tomcat for the jar file to be loaded.
The following are an HTML file and a JSP file that illustrate the use of the Bean. The HTML file contains a form with a few elements.
<title>File Upload</title>
<form action=jsp1.jsp enctype="MULTIPART/FORM-DATA" method=post>
Author: <input type=text name=author>
Company: <input type=text name=company>
Comment: <textarea name=comment></textarea>
Select file to upload <input type=file name=filename>
Description: <input type=text name=description>
<input type=submit value="Upload">
When the user submits the form, the HTTP request will be handed to
Jsp1.jsp, which uses the FileUpload Bean to process the
request. The code of the
Jsp1.jsp is given below.
<jsp:useBean id="TheBean" scope="page"
class="com.brainysoftware.web.FileUploadBean" />
out.println("Filename:" + TheBean.getFilename());
out.println("
Content Type:" + TheBean.getContentType());
out.println("
Author:" + TheBean.getFieldValue("Author"));
out.println("
Company:" + TheBean.getFieldValue("Company"));
out.println("
Comment:" + TheBean.getFieldValue("Comment"));
File upload is not an easy topic and code to process it is not readily available. This article has presented the theory as well as the code for a File Upload Bean. The compiled version of the Bean is available for download from my Web site.
Budi Kurniawan is a senior J2EE architect and author.
Return to ONJava.com.
Copyright © 2009 O'Reilly Media, Inc.


text: The housefly is possibly the world's most common pest. It's related to other sorts of insects such as the face fly and the little housefly, which also can infest your home. Houseflies thrive in heat, so you may see a housefly uprising in the warm days of spring or summer.


text: There aren't many (non-surgical) options for really bad undereye bags… but there are a few things we can do take the puffiness down so we're a little less self-conscious! Some of the more obvious remedies are to get as much sleep as you can, drink lots of water throughout the day and lower or limit (eek!) your salt intake. Experts say to lower your caffeine intake as well because it can be bloating. But if you have a life and like to enjoy it, try this quick fix using milk! Why milk? Because the lactic acid in milk assists in lowering puffiness and even helps with dark circles. (more…)


text:
Free Shipping On All BUNDLES and Orders $49 and over!
Through Monday, December 12th. Lower 48 States Only
Contact us to create a bundle specifically tailored to your needs!
Your satisfaction matters most! Return any item for a refund, store credit, or exchange it for another product.
Item is In Stock and Ready To Ship!
Need Assistance? 800-783-3368
List Price:$10,443.58
Our Price: $6,129.99
List Price:$11,270.79
Our Price: $6,799.99
List Price:$10,427.59
List Price:$11,322.56
List Price:$110.00
Our Price: $69.99
List Price:$17.99
Our Price: $17.99
List Price:$249.00
Our Price: $229.00
List Price:$799.99
Our Price: $479.99
List Price:$130.00
List Price:$1,666.99
Our Price: $999.99
List Price:$399.00
Our Price: $299.00
List Price:$150.00
Our Price: $119.99
"Kraft Music made shopping and ordering clear and simple by putting together some really nice bundles. Your website is friendly, easy to navigate and my order shipped promptly. I definitely recommend shopping with Kraft Music." - Paul, TX
"Your service was excellent. Phone support was knowledgeable, polite, and eager to help. Everything arrived quickly and well packed. Price was also impossible to beat. I will certainly shop with Kraft music again!" - Pat, ME
Roland V-Pro Series V-Drum Electronic Drum Kit in Custom Green Sparkle Shell Wraps
We've made a special arrangement here at Kraft Music to offer a limited number of TD-30KV V-Pro Electronic Drum Sets with custom color shell wraps pre-installed. This is a unique opportunity to purchase your TD-30KV in an eye-catching finish you won't see everyday. Your TD-30KV V-Pro set will not only sound incredible - it will look incredible!
The Dawn of SuperNATURAL-Powered V-Drums Play, Feel, Believe! For over a decade, Rolands revolutionary V-Drums have lead the industry in expressive sound quality and incredible playability. With the introduction of the SuperNATURAL-powered TD-30KV V-Pro Series, the electronic drum set reaches a new pinnacle in drumming performance. SuperNATURAL sounds with Behavior Modeling, along with advanced sensing technology, provides a new level of expressive sound quality and playability, resulting in an instrument that reacts and responds to all the subtleties, nuances, and dynamics of a drummers technique. In addition, USB audio-playback functionality has been added to expand the performance palette. For the stage or for professional recording, the new V-Pro is truly a complete and natural drumming experience.
TD-30 Drum Sound Module with SuperNATURAL SoundsPowered by SuperNATURAL sounds and Behavior Modeling, the TD-30KV offers superior sound quality and natural response. From rim shots, rolls, flams, even ghost notes on the snare to dramatic crash hits and sustained cymbal swells, every nuance is accurate and smooth. For spatial depth, a dedicated Ambience fader gives you immediate control over lush room ambience and overhead-microphone simulation.
New V-Pads with Advanced Rim SensorsA new rim sensor has been specifically developed for the TD-30KVs mesh head pads in conjunction with the TD-30 Drum Sound Module to accurately detect dynamics and rim-shot depth. The PD-128S-BC is snare-stand mountable, while the tom pads can be dual-mounted for setup versatility.
Solid, Stylish Kick PadThe KD-140-BC 14-inch V-Kick provides stable performance and accurate triggering with a natural, acoustic-like kick feel. Drummers will feel the difference the moment they sink their pedal into this top-of-the-line pad.
V-Hi-Hat with Improved Motion Sensor for Natural Hi-Hat ResponseThe superior design of V-Hi-Hat has taken into account not only the shape of the hi-hat, but also the bounce of the stick and even the movement caused by playing, making it possible to play with the same feel as an acoustic hi-hat. The new VH-13-MG features an improved motion sensor and advanced triggering technology for natural response with smoother open-to-closed control. You can alter the closed tone by pressing harder on the pedal after its closed. You can also play foot splashes.
New V-Cymbals with Natural Feel and Accurate TriggeringRolands unique V-Cymbals provide a natural swing feel with accurate triggering and sensitivity across the entire cymbal surface. The new CY-14C-MG Crash and CY-15R-MG Ride are offered in an eye-catching metallic-gray surface to cosmetically match the TD-30KVs new V-Hi-Hat, V-Pads, and chrome-finished drum stand.
Flagship Drum Stand for Professional Stage UseThe MDS-25 chrome-finished drum rack not only looks great, it also provides rock-solid stability with its advanced weight-balanced design. The newly improved mounts for cymbals and toms provide a highly flexible setup. The rubber protective sleeve shields the cables from damage while the new clear-cabling system complements the overall design.
Custom Covering System for Changing Shell ColorThe new V-Pads and V-Kick feature a new exchangeable black-chrome color shell wrap. The TD-30KVs V-Pad lugs are separated from the shell, which allows you to replace the shell wrap with the ease of replacing a drumhead.
Due to the weight and size, this order will be required to ship via truck (freight). You will receive an email from Kraft Music with tracking information relating to you shipment on the business day after your order leaves our facility. You will then be able to track your order and schedule a delivery date and window using the Ceva website. While scheduling a delivery online, you may be alerted that your shipment cannot be scheduled using the web tool. If this happens, the CEVA website will provide you with a special phone number and also the earliest date that you can call to schedule a delivery appointment. Please note: Deliveries typically take place on weekdays (Monday - Friday) during regular business hours.
***Please note, many of the products we sell are shipped in the manufacturer box. These boxes will often have images, model numbers, and other text that indicate the contents inside.
BASIC DELIVERY • "FREE" (You Save $140 In Shipping!)
The BASIC Delivery option is commonly referred to as "Threshold". This is a one man delivery. The driver will ensure that all packages are protected from the weather by placing them in the closest dry area. For example.....a porch, a garage or, if possible, inside an entrance of the dwelling.
PREMIUM DELIVERY • $40.00 (You Save $140 in Shipping!)
The PREMIUM Delivery option means the freight company will deliver to your home or office and place the packages in your "room of choice". This method of delivery includes up to (2) flights of stairs.
***IMPORTANT NOTE: Please test your item before getting it fully assembled. For example, with digital pianos, unpack the keyboard portion, power it on and test all the keys. It is very rare that these items arrive with defects, but it is still a good idea to test it before spending time getting it fully assembled. Use caution when unpacking your purchase from its box, as some needed parts and pieces may be packed in and amongst the packing material. Be sure to save the carton and all packing materials, in case of a needed return. Do not write on the box and do not discard!
ROLAND LIMITED WARRANTY: This product is warranted to be free from defects in material and workmanship under normal use for a period of one (1) year for parts and and ninety (90) days for labor from the date of purchase. Click here for details


text:
You are Here:
Teachers and Students
/ Wildlife Habitat Incentives Program (WHIP) in New Jersey
Loading Tree...
The 2014 Farm Bill was enacted on February 7, 2014. The 2014 Farm Bill streamlines and consolidates the wildlife functions and program opportunities that were offered under the Wildlife Habitat Incentives Program (WHIP). The bill continues to provide technical and financial assistance available to farmers and forest landowners to benefit wildlife habitat through the Environmental Quality Incentives Program (EQIP). Although the WHIP program was repealed in the 2014 Farm Bill, all existing contracts remain in effect and will continue to be honored.
For more information about program opportunities, visit the Environmental Quality Incentives Program page.
NRCS Home | USDA.gov | Site Map | Civil Rights | FOIA | Plain Writing | Accessibility Statement
Privacy Policy| Non-Discrimination Statement | Information Quality | USA.gov | Whitehouse.gov


text:
very warm, cute & perfect for the one I'm sending it to!
I think this website with ecards to help you express to your friends is just so awesome!!
Everyone's favourite penguin surf harmony group sing a fun birthday song for you.
Send across a cute teddy bear to give a tight birthday hug to your dear ones.
Cakes and candles to wish your special one a very happy birthday.
Say Happy Birthday to someone special... A CAPPELLA! IF YOU WANT TO LEARN THIS SONG...
Send these beautiful flowers to your friends and family members on their birthday.
Light up someone's b'day with these sparkling fireworks and say happy birthday.
Send a sparkling birthday wish to your dear ones.
A beautiful flower ecard with some wonderful visuals...
Hula dancers, teddy bears and smileys dancing and wishing a very happy birthday.
Send a birthday ecard with which wishes come true.
Send this beautiful greetings to your friends and family wishing them on their birthday.
Send sparkling birthday wishes to your dear and near ones.
A heart warming birthday message with beautiful backgrounds for you to send to your...
A cute kitten wishes happy birthday.
Happy Birthday Greeting from Minions ... Despicable Me and Despicable Me 2 ... Two...
Please wait...
Please wait...
Get a weekly dose of stories on friendship, love, misadventures and special offers. It's free, read it once and you're hooked!
Read the latest newsletter or Editor Bob's Blog


text:
by Caden Ceirdris
When I was twelve, I watched the sexually graphic teen film, "Kids" with my siblings. I remember being surprised when my sister described what happened in the end scene as rape. That it was rape to have sex with someone who was passed out, asleep.
It seems obvious, but in some unconscious part of my mind, I winced. What had been done to me might have been wrong too. Perhaps I also deserved boundaries, both legal and personal over my own body, at least equal to what my sister was willing to give a fictional girl. Yet there was no one in my life at that point who would have even suggested that, let alone validated my experience; I was trained to passively accept whatever my family did to me, and was condescended to when it came to my emotions.
I wasn't asleep when my older brother sexually abused me, and as I've had to face the reality of my past, I came to realize that the rest of the family wasn't either. They were conscious, they knew what was happening. Often only thin walls separated them from the abuse, but they built up greater walls in their minds to avoid my …


text:
Tony wrecks himself finishes 19th
Trucks: 9, 88, 3, 7, 17, 31
RIP Dan Wheldon
"Fight for Four"- Annalee
You got to have a big gigantic drum kit.
All things Tony
Smokeshow14 wrote:I don't think him racing so much dirt was the reason he lost it. He was just driving a little too hard a wrecked trying to get the lead from Keselowski (how did Keselowski become so good at Watkins Glen? His car was fast as ####). He says it helps him. He is getting older and wants to have more fun. Cup racing is his job. Dirt racing is his passion.
Sad thing is if he hadn't wrecked he might have won.
Annalee wrote:On the scanner he said it was his fault and because of the rain and oil he just lost it.... Give him a little more time and I think he would have been right back at the front......and he would have won it! Shoulda, coulda, woulda....On to Michigan....(I think or is it Bristol)?????
If you watched PRE race on ESPN you would know why Tony loves dirt racing .....he said some of the drivers relax on the beach, others exercise by running Triathlons to relax and Tony loves to race dirt tracks to relax and for exercise.....THAT'S OUR TONY!!!!!!!!.......... IT IS WHAT HE DOES AND WHO HE IS.....
wolfgang wrote:There was oil on the track and alot of drivers were complaining about it,Tony probly spun out in it as Kyle went completely off the track in it to pass BK the end of the race.Overall i thought the race was actual racing aside the oil slick,but it did add to the excitement.Ricky Craven opened mouth and inserted foot again on Speed Report saying it was out of Tonys character to spin out like that,evidently he didn't watch the race or wasn't aware of the oil.Ricky should just stick to idolizing Jimmy Johnson as he always does.
This is what racing use to be and bettween Ambrose,BK and Kyle and i didn't hear an interview with Kyle but neither Marcos or BK were crying about it.They thought it was fun and i sure as heck did to,congrads to them for being racers and even more so for Marcos for the win! BTW,Tony was very impressive too,i think the oil is what ruined his day,i'd of loved to see him race against BK to see how that would have turned out.
Rochelle wrote:I hate to say it but maybe he should pay a little more attention to his cup ride than his dirt races. Granted, he should be able to do whatever he wants, but he seems to be playing catch-up all the time. Maybe he just likes to do things the hard way. He comes in, practices, then leaves to go dirt racing. He comes back, qualifies, then leaves to go dirt racing. He comes back and races. Every time he leaves he puts a ton of pressure on his team to try to get the car right by themselves. When he comes back to race, if everything isn't right with the car, he has to work that much harder. Maybe it's just me, but the older I get, the more I appreciate things getting easier, not harder. Granted, I have a few years on him
beaverpond wrote:Hearing you say that makes me think of the television ad with Clint Bowyer having to deal with the fan who taps into his radio and tries to tell him how to drive and he ends up wrecking his car.
Users browsing this forum: No registered users and 4 guests


text:
Global Studies
Africa's Critical Challenges 2013-2050
Mar 8/13
Date: Mar 8/13
Time: 14:30 - 16:30
Location: Peter's Building, Room P1025/1027
Cost: Free
The Departments of Political Science and Global Studies at Laurier, along with the Tsepho Instititute for the Study of Contemporary Africa present a lecture by
Dr. Robert Rotberg: "Africa's Critical Challenges 2013-2050"
Dr. Robert Rotberg is currently the inaugural Fulbright Research Chair in Political Development at the Balsillie School of International Affairs (BSIA) and Visiting Fulbright Scholar at the Centre for International Governance Innovation (CIGI).
An internationally acclaimed expert on Africa, he is President emeritus of the World Peace Foundation and an American professor in governance and foreign affairs. From 1999-2010, he served as Founding Director of the Program on Intrastate Conflict, Conflict Prevention, and Conflict Resolution at Harvard University's John F. Kennedy School of Government.
During that time, he oversaw the establishment of the Index for African Governance, to help evaluate leaders for the Mo Ibrahim Prize for Achievement in African Leadership, awarded annually by the Mo Ibrahim Foundation.
Prior to his directorship at Harvard, he was a member of the Secretary of State's Advisory Panel on Africa from 2003 to 2004, and a Presidential appointee to the Council of the National Endowment for the Humanities. He has served, additionally, in administrative roles both at Tufts University and Lafeyette College.
Contact: Dr. John Ejobowah
Email: firstname.lastname@example.com
Phone: 519.884.1970 ext. 2898
|Related Information
|Africa's Critical Challenges 2013-2050
View all WLU events


text:
I watched the branches snap one by one as I was shoveling my driveway. My Lilac bush now has leaves of heavy snow and ice. The third pic is what we saw on our trip home this afternoon from Potsdam on St. Route 345.
Remember winter?
By: tsdsbdkjdSubscribe Channel: Weather Location: Madrid, NY
1 Comment
This story is inappropriate and should be flagged for moderation. Please choose from one of the following options:
You have indicated this comment should be removed.
The comment has been submitted for review. Thank you .
says ... on Friday, Jan 13 at 5:20 PM
oops! I got two of the captions backwards. The bush was should have read: Mother Natures beauty. And the tall tree should have read: Tree branches coming down one by one. I guess thats what happens when you fingers are frozen from shoveling.79844771
Inappropriate? Alert Us!


text:
[Only registered and activated users can see links. ]
vujanic is more than sure a knick
and with dice, we probably don't need a good pick to make the playoffs next season
houston is maybe our best man. i like him because he's constant every game
the only thing i don't like is that sometimes he gets soft in 4th


text:
The product description on this page is more than a year old and may or may not still be available as described here. Interested FM readers should contact the product manufacturer directly or contact local foodservice distributors to check on its regional availability. Polly-O won "Best of Class" honors for its Fresh Mozzarella and Original Ricotta cheeses during the 2005 United States Championship Cheese contest. Cheeses were judged for attributes including flavor, body and texture, salt, ...
Register to view this Article
WhyRegisterfor FREE?
Registering for Premium Content on Food Management will give youINSTANTaccess to invaluable articles and media content that industry professionals rely on. You will have access to our special reports, feature articles, and industry analysis. It'sFREE, easy and quick.


text:
5 Things to Watch at North American Challenge Cup
by Clare Lochary | LaxMagazine.com | Twitter
The North American Challenge Cup this weekend will mark the international coaching debut of Ohio State's Alexis Venechanos, tabbed in December 2011 to lead the host Canadian women's national team through the 2013 FIL World Cup.
© Ohio State Athletics
BUFFALO, N.Y. -- While its brave U.S. under-19 men's counterpart travel across the Atlantic to Turku, Finland for the 2012 Federation of International Lacrosse (FIL) U19 World Championship, a 24-player U.S. women's national touring team is taking a much shorter international trip to Oshawa, Ontario, for the North American Challenge Cup. Team USA will play Canada and the Haudenosaunee this weekend at the Civic Recreation Complex.
Here are five things to know about Team USA's run for the border.
1. They'll play three games -- one versus Haudenosaunee and two versus Canada.
Here's Team USA's schedule (all times Eastern). Team Canada is divided into two squads -- Red and White -- for this event. Follow LaxMagazine.com for updates.
Friday, July 13 - Team USA vs. Haudenosaunee - 4 p.m.
Saturday, July 14 - Team USA vs. Canada Red - 12 p.m.
Sunday, July 15 - Team USA vs. Canada White - 10 a.m.
2. The international matches are all friendlies.
No one will raise a trophy at the end of the weekend. The primary purpose of the event is to do a dry run (for both hosts and visitors) in preparation for the 2013 FIL Women's World Cup, which will be held at the same venue next summer. The Canadians are incredibly excited about hosting their first senior international women's lacrosse event. They most recently hosted the U19 women's world championship in 2007. Ontario is one of Canada's lacrosse hotbeds, too, as you can tell from the roster. You may have heard of Ontario-born women's laxers such as Kylee White (San Diego State coach), Dana Dobbie (Loyola assistant coach, former Tewaaraton finalist), Brooke McKenzie (Stanford assistant coach) and Katie Guy (Penn State senior midfielder).
3. Team USA has no secrets.
The trip to Canada will be preceded by a stop in Buffalo, N.Y., where the national team scrimmaged local college players Tuesday at Hamburg High School. There also were coaching and player clinics. U.S. coach Ricky Fried is an "open source" kind of coach who's willing to share everything he knows, and the Team USA players and coaching staff let clinic participants in on the best ways to play the game. Check out the link below for registration info:
4. Team Canada debuts a new coach, Alexis Venechanos.
Venechanos was named coach of the Canadian women's national team in December 2011. The North American Challenge will be her first time leading the team in international competition. Venechanos is currently the coach at Ohio State. She won two NCAA championships as a goalie for Maryland and two more as an assistant coach at Northwestern. Venechanos has gone 21-13 in two seasons in Columbus. Assistant coaches are Susan Stuart (Colorado College), Alex Kahoe (Vermont) and Michele Uhlfelder (Occidental).
5. Watch out for the young guns.
Team USA currently carries 36 players, but only 24 will travel to Canada. Six players on the 24-player touring team either just graduated from college or currently compete for NCAA Division I teams: Ally Carey (Vanderbilt '12), Danielle Etrasco (Boston University '13), Kristen Igoe (Boston College '12), Katie Schwarzmann (Maryland '13), Michelle Tumolo (Syracuse '13) and Laura Zimmerman (North Carolina '12). They all will look to make an impression on the coaching staff, perhaps especially the attackers (Etrasco and Tumolo) with Team USA veteran Lindsey Munday on the bench with a broken wrist. The final round of tryouts for the 2012-2014 team will be held at UMBC on July 27-29.
comments powered by Disqus