open source contribution
I was playing with PCRCommander, a software XM tuner/recorder written in Python, a language I'm interested in. I realized that it had a few memory leak problems and a few weird UI issues (you can't resize the window!) that were irritating. Well the beauty of open-source is scratching itches. (... the beauty of open sores is scratching itches too)
Fine, well, good, I'll get the python plugin, PyDev, for Eclipse, the next kitchen-sink-wannabe. No problem. Now check out the source code... Oh, it uses darcs, a decentralized version control system that is based around patches. Which I have never used.
Well, I wonder if Eclipse has a plugin for Darcs? Yes, it does, and it's called eclipsedarcs. Fine, oh, I need to install a haskell compiler in order to get darcs to run. Fine, if there's nothing else I learned at Ingenia, it's how to compile and run stuff without knowing what it is or does. Oh, except there's an OSX pre-compiled distribution. Wonderful. Install everything.
Hmm... I was expecting eclipsedarcs to be a little more bouncy when I entered the URL for the repository. Researchresearch. Ah, it can't find darcs on the path, and you have to play with OSX packaging properties in order to get it to work. Sounds too 'simple'. Actually, it sounds like a PITA! Why can't I just specify the executable!?
Get the eclipsedarcs plugin source code using the darcs command line. Import it into eclipse. Find the code which executes the darcs executable. Ah, they've already added a preference for the executable, but they just haven't exposed it in the UI, and also, it's exactly like the preference for the user's email - a simple text line. Sounds like a job for scratchy people!
Make the changes, try to figure out how multiple plugins are tested in Eclipse. Try to get a Feature to run. No. Try to create an Update site. Yes. Try to build the Update site. No, 'can't find the plugins'. Generally you run a new instance of Eclipse with the plugin you've just added in order to test it, but the 'hello world'/'special paste' one I wrote {am still writing} was a single plugin, so I didn't know if you need a feature to get multiple plugins going in the test Eclipse environment.
Screw it, run the plugin and trust the dependencies to be loaded. Ah! It worked, except for the text being screwed up. Hopefully just a packaging problem.
Cool, well, everything doesn't quite seem to be here. I can get change histories from the repositories, but can't seem to 'get' the PCR Commander repository. Maybe there's something else wrong, or maybe that's all the plugin does so far (it is, after all, only version 0.2.0).
Hoopy, I wonder if anyone else wants my little mod? A little searching shows the exact link that showed me something about OSX packaging properties and it's previous is an eclipsedarcs developer saying they're too busy to do what I think I just did.
Excellent.
Okay, so eclipsedarcs isn't apparently showing me how to feed things back to the source. So back to the command line. 'whatsnew': handy, but I don't want to check in my maulings of the plugin configuration files, nor the .class files... 'revert', great! 'record', wunderbar! Okay. Now how do I send it, considering I don't have an exposed web repository? Email patch! Sounds easy.
Oh, smart, you need GPG, a cryptographic signing library, to authenticate the patch. Fortunately someone else in OSX land has packaged it up. ‘kay, build the key, install it into the right directory. Figure out who to send it to... and bang. Done.
All those steps and I still haven't even checked out PCRCommander, and it's now time to walk the dogs and sleep. I'm definitely standing on the shoulders of giants, here, but its a good thing they were there or we'd ever get nothing done!
About this entry
You"re currently reading "open source contribution," an entry on a crick in the net
- Published:
- 02.06.06 / 10pm
- Category:
- Code Geekery
Ah yes, the ceremonial shaving of yaks.
Ya shoulda asked me about launching Eclipse runtimes from the workbench!
Oh that part probably took 20 minutes, so it wasn't so bad. I think if I was REALLY re-packaging it, I would need some help though.
I imagine most source repositories don't have the CPU bandwidth, but it would be neat if there was continuous integration building the latest version of a plugin at any time.
But I guess IBM and eclipse are focussed on releases, corporate-foo style.
The trick to having continuous builds is having the free time to setup and handle the care and feeding of said animal.
As it is I'm now working on Spindle from 9pm to 2-3-4am, 3-4 days a week. No time for 'frills'
Hey man, just came across this blog post - I am the original author of PCRCommander (I released it anonymously at the time lest I end up facing nastiness from XM - I figure they no longer care at this point, as the XM PCR is long gone from the market).
Anyway, as I mentioned in the PCRCommander forums back in early ‘05, due to my mother's illness and starting a rather intense job, I had to put aside further development. And the fact that XM pulled the PCR off the market kind of dried up demand and interest in further development.
But if you want any help or advice on tracking down and fixing memory leak issues or other issues, drop me an email at rcgabriel AT yahoo.com.
BTW, I used Python/wxWindows mostly as an experiment to see if it was mature enough to use for a 'real' production GUI app. The memory leak issues are probably related to my use/misuse of wxPython.
The non-resizeable GUI was just to make things as simple as possible. That's probably not too hard to change.
And darcs was also an experiment - but you certainly don't need to use darcs, you can just pull down the 0.2.2 source tarball from the PCRCommander site and play with the code a bit, if you have Python/wxPython installed. Also, all those library depedencies should probably be brought up to date, and that might fix a bunch of issues right there.


Pick a Treasure House first to discover the treasure chests inside!
There are 10 chests in a room of Treasure House.
Now you can take actions: Open a chest or move to next room?
Open a chest will cost 1 key and Go to next room will cost 2 keys.
Chests only can be opnened from left to the right and one by one.
The game stats bar will display the useful information to you.
Once you used up all the keys, a result will pop over.
Get a 3 star will unlock next Treasure House!
Now, trying to find gems as many as you can!


Pitso on Arrows defeat: 'I never thought we'll lose this game'
Cape Town - Mamelodi Sundowns coach Pitso Mosimane admits he didn't anticipate his team losing 3-2 against Golden Arrows in the Absa Premiership on Sunday.
The Brazilians opened the scoring through Thapelo Morena just before the half-time break, but the hosts soon took control with Danisa Phiri levelling matters before Knox Mutiza put Abafana Bes'thende ahead and followed it up with a third via the penalty spot. Andile Jali pulled one back for the travellers but it wasn't enough.
Mosimane was disappointed with the result and the conditions underfoot at the Sugar Ray Xulu Stadium.
"As I said difficult game, what can you say difficult conditions for both teams obviously. Ja, the biggest mistake by our number one goalkeeper [Denis Onyango], it happens, it's the conditions," Mosimane told SuperSport TV.
"He applied the wrong technique and the ball bounced differently but it's okay, we accept [defeat].
"We tried to get the speed behind, that change helped us, that's why 'Vila' [Vilakazi] managed to go through on the right once or twice. I though [Divine] Lunga could've been booked on that foul because the referee spoke to him three times.
"I thought the third time he was going to book him, but he didn't, it's okay. We got the goal, we could've scored another one in the last minute, to be honest, but it's OK, it's difficult conditions, a difficult game for us. Ja, I never thought we'll lose this game."
Sundowns will have a chance at redemption when they take on Arrows in the Telkom Knockout semi-finals on 23 November.
- TeamTalk Media


Edible Bird's Nest Factor
Since ancient time, the edible bird's nest is known for its natural benefit. Rich with sialic acid, glycoproteins, and mineral, the Caviar from East is a healthy delicacy on your table. Sialic acid has a key role on brain development and neuron system. It prevents age-related, degenerative nervous system disorders. The levels of sialic acid in edible bird’s nest are varied and affected by the natural condition of swiftlets and how the nests are being processed.
At VinBirdnest, we emphasize the best process for the production of swiftlet’s nests to maintain its benefit. We keep the nests naturally by applying highly standardized cultivation, cleaning, and drying system. Therefore, our product still has high sialic acid concentration.
Esta's Edible Bird's Nest Factor (EBF) is the way on how we guarantee that each of our product gives you full nutrition of sialic acid. High sialic acid has become the authenticity factor of the edible bird’s nest. The EBF 10+ shows the amount of sialic acid contained on Esta’s edible bird’s nest as we want to give the our consumers the best benefit in health and beauty.


--- layout: post status: publish published: true title: Cluster size of 8 is the only size to do author: display_name: iguy login: iguy email<EMAIL_ADDRESS>url: '' author_login: iguy author_email<EMAIL_ADDRESS>wordpress_id: 158 wordpress_url: http://itsjustanotherlayer.com/?p=158 date: !binary |- MjAwOS0wNi0wMSAxOTozNDo1OCAtMDUwMA== date_gmt: !binary |- MjAwOS0wNi0wMSAxOTozNDo1OCAtMDUwMA== categories: - Server Virtualization - VMware tags: - cluster - maximums - vSphere4 comments: - id: 44 author: Duncan author_email<EMAIL_ADDRESS>author_url: http://www.yellow-bricks.com date: !binary |- MjAwOS0wNi0wMSAyMDoxNDo0NyAtMDUwMA== date_gmt: !binary |- MjAwOS0wNi0wMSAyMDoxNDo0NyAtMDUwMA== content: http://www.yellow-bricks.com/2009/05/25/max-amount-of-vms-per-host/ - id: 45 author: iguy author_email<EMAIL_ADDRESS>author_url: http://www.itsjustanotherlayer.com date: !binary |- MjAwOS0wNi0wMiAwMzoyNzo1MSAtMDUwMA== date_gmt: !binary |- MjAwOS0wNi0wMiAwMzoyNzo1MSAtMDUwMA== content: Hrm.. didn't quite beat you to this information Duncan. :) - id: 46 author: Sean Clark author_email<EMAIL_ADDRESS>author_url: http://seanclark.us date: !binary |- MjAxMC0wNS0xOSAxMjo1Mjo1NSAtMDUwMA== date_gmt: !binary |- MjAxMC0wNS0xOSAxNzo1Mjo1NSAtMDUwMA== content: Ian, that all being said. If you are fine with 40 or less VMs per host, there is nothing wrong with a larger cluster is there? Generally, I see 8 or less more for storage limitations (# of LUNs) than for arbitrary software limitations of VMware. - id: 47 author: iguy author_email<EMAIL_ADDRESS>author_url: http://www.itsjustanotherlayer.com date: !binary |- MjAxMC0wNS0xOSAyMDoyMDo0NCAtMDUwMA== date_gmt: !binary |- MjAxMC0wNS0yMCAwMToyMDo0NCAtMDUwMA== content: ! 'To my knowledge and testing you should be fine going above an 8 host cluster if you don''t mind having 40 or less VMs per host average. It is all around HA working. I haven''t had an issue with the # of LUNs per cluster (256 max) causing an issue yet. I have a couple clusters currently with 10 hosts and around 400 VMs in the cluster and about 25 or so LUNs. So for me to hit the 256 I''m going to have to really pack in the VMs since there is a 32 Host Cluster limit at this time too.' ---
For a large organization that has more than 8 VMware Hosts (nodes) one should only make 8 node clusters for the time being according to the vSphere 4 Config Max doc.
http://www.vmware.com/pdf/vsphere4/r40/vsp_40_config_max.pdf
If you look on page 7 it says "Configurations exceeding 40 VMs per host are limited to cluster size no greater than 8 nodes".
What that means is to be supported you have the following chart:
8 Nodes x 100 VMs / Node == 800 VMs per cluster max
9 Nodes x 40 VMs / Node == 360 VMs per cluster max
20 Nodes x 40 VMs/ Node == 800 VMs per cluster max
32 Nodes x 40 VMs / Node == 1,280 VMs per clustre max
Now I might not be too smart here some days though I think the math is pretty obvious. Either I do 4 clusters of 8 nodes to give me 3,200 VMs on 32 boxes or I stick them all into one nice big cluster and get 1,280 VMs out of those 32 boxes. Easy math to me.
The question I have out of this is, why do you document it this way? That sure is confusing and I could have easily missed that.


Any selected countries from this list will be processed as part of the data upload file. Other nationalities will be rejected. The exported country name must match the name exported in the upload file.


Row Details
There are situations when the end user need to show additional information for the rows in the q-grid. Row details serves to satisfy this necessary.
Setup
Use q-grid html component to setup row details options and template.
<q-grid>
<q-grid-row unit="details" mode="multiple">
<ng-template for="details" let-$cell>
{{$cell.row.item.number}}
</ng-template>
</q-grid-row>
</q-grid>
In the details template to get access to the data row
$cell.row.item
expression need to be used.
Or use q-grid model directly.
gridModel.row({
unit: 'details',
mode: 'all'
});
Details Model
The q-grid renderer utilizes RowDetails
class to add details rows into the scene model.
declare class RowDetails {
item: any;
column: Column;
}
Note that style API along with data rows will propagate
RowDetails
class to the end user for each expanded row.
Row details modes
Use row mode
option to configure row details expand/collapse behavior.
- Use
single
mode to restrict number of expanded details to one. - Use
multiple
mode to allow expanding of several rows. - Use
all
mode to expand all rows and to not allow to collapse them.


Omniscience is a module used internally to watch for changes to properties, so that multiple visual components can be bound to the same data, and will automatically update themselves when something changes.
- The two sets of sliders are bound together. Changing one immediately changes the other
- The same goes for the pan setting


Get vehicle information from DVLA
Check online to find out what information the Driver and Vehicle Licensing Agency (DVLA) holds about a vehicle.
You’ll need the vehicle’s make and registration number.
@() @import helper._ @main("Get vehicle information from DVLA - GOV.UK") {
Check online to find out what information the Driver and Vehicle Licensing Agency (DVLA) holds about a vehicle.
You’ll need the vehicle’s make and registration number.


The War of the Worlds
by H.G. Wells
The War of the Worlds, by H. G. Wells, is an early science fiction novel which describes an invasion of England by aliens from Mars. It is one of the best-known depictions of an alien invasion of Earth.
Source: Wells, H. G. (1898). The War of the Worlds. London, England: Chapman and Hall.
- Book One—The Coming of the Martians, Chapter 1: The Eve of the War
- From an observatory, the narrator witnesses a series of strange occurrences on the surface of Mars.
- Book One—The Coming of the Martians, Chapter 2: The Falling Star
- News of the Martian landing begins to spread, although many refuse to believe it.
- Book One—The Coming of the Martians, Chapter 3: On Horsell Common
- A crowd gathers to view the alien craft.
- Book One—The Coming of the Martians, Chapter 4: The Cylinder Opens
- After much anticipation, the aliens finally emerge from the craft.
- Book One—The Coming of the Martians, Chapter 5: The Heat-Ray
- A strange disc rises from the pit, spreading death and destruction throughout the area.
- Book One—The Coming of the Martians, Chapter 6: The Heat-Ray in the Chobham Road
- The narrator recaps the events up to this point, speculating on what people expected to see at the landing sight.
- Book One—The Coming of the Martians, Chapter 7: How I Reached Home
- The narrator, having escaped the horror of the death-ray, continues to warn people about the Martian attack.
- Book One—The Coming of the Martians, Chapter 8: Friday Night
- The narrator is alarmed by the continued normalcy of life. The military starts to take interest in the Martian presence.
- Book One—The Coming of the Martians, Chapter 9: The Fighting Begins
- News arrives that the military is attacking the Martians. No longer safe in his home, the narrator prepares to leave the area.
- Book One—The Coming of the Martians, Chapter 10: In the Storm
- The narrator keeps his promise to the innkeeper. A third tripod makes its appearance.
- Book One—The Coming of the Martians, Chapter 11: At the Window
- Now at his home, the narrator talks with a soldier about the current state of affairs.
- Book One—The Coming of the Martians, Chapter 12: What I Saw of the Destruction of Weybridge and Shepperton
- The narrator makes plans to get himself and his wife to safety, and continues to gather information from military passers-by.
- Book One—The Coming of the Martians, Chapter 13: How I Fell in with the Curate
- The machines return to the Common, instead of proceeding to London. Additional cylinders continue to arrive daily. The Narrator travels down river, arriving at Middlesex.
- Book One—The Coming of the Martians, Chapter 14: In London
- In London, the narrator's brother learns of the Martian attack.
- Book One—The Coming of the Martians, Chapter 15: What Had Happened in Surrey
- The military continues to engage the Martians, who make use of a new type weapon.
- Book One—The Coming of the Martians, Chapter 16: The Exodus from London
- Violence erupts in London as people attempt to escape the Martian attack.
- Book One—The Coming of the Martians, Chapter 17: The “Thunder Child”
- Chaos and death continue to overtake the spread as vessels become jammed on the river. The narrator's brother witness the arrival of another cylinder, and later attempts to escape on a steamer. The Thunder Child battles with the tripods.
- Book Two—The Earth Under the Martians, Chapter 1: Under Foot
- The narrator and the Curate continue to travel at night, choosing to hide during the daylight hours. Another cylinder arrives.
- Book Two—The Earth Under the Martians, Chapter 2: What We Saw from the Ruined House
- The narrator closely observes the Martians while taking refuge in an abandoned house.
- Book Two—The Earth Under the Martians, Chapter 3: The Days of Imprisonment
- The narrator and the panicked Curate continue observe the Martians.
- Book Two—The Earth Under the Martians, Chapter 4: The Death of the Curate
- The Curate's behavior, forces the narrator to act. The narrator experiences a close encounter with the Martian visitors.
- Book Two—The Earth Under the Martians, Chapter 5: The Stillness
- Tired and hungry, the narrator emerges from hiding to find the scene eerily silent.
- Book Two—The Earth Under the Martians, Chapter 6: The Work of Fifteen Days
- The narrator is amazed by the changes that have occurred since the arrival of the Martians.
- Book Two—The Earth Under the Martians, Chapter 7: The Man on Putney Hill
- The narrator runs into a disheveled artilleryman, who relays some information about the Martian situation.
- Book Two—The Earth Under the Martians, Chapter 8: Dead London
- The narrator proceeds into London, encountering the aftermath of the diminished Martian presence.
- Book Two—The Earth Under the Martians, Chapter 9: Wreckage
- News of the Martian defeat spreads throughout the land.
- Book Two—The Earth Under the Martians, Chapter 10: The Epilogue
- The narrator continues to examine the positive and negative results of the Martian attack, as well as the questions that remain unanswered.
- Year Published: 1898
- Language: English
- Country of Origin: England
-
Readability:
- Flesch–Kincaid Level: 9.0
- Word Count: 62,089
- Genre: Science Fiction
- Keywords: 19th century literature, aliens, h.g. wells, survival, war


{{ var dot = it.dot, chunks = it.chunks; }} {{= dot.template(chunks['head.html'])({}) }}
{{= it.chunks['header.html'] }} {{ /* it.chunks['breadcrumbs.html'] */ }}Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Aboard Saga Sapphire
& Saga Pearl II
Travel with 14 people or less
Travel with 14 people or less
Sightseeing with an expert on hand


-
Visiting scholar on avian influenza and post-9/11 biosecurity
October 12, 2017 When outbreaks of the H5N1 avian influenza virus struck in Indonesia and other Asian countries, the United States intervened quickly, contributing millions of dollars to bird flu initiatives in the hopes of preventing a global pandemic. Professor of Anthropology Celia Lowe will discuss why the H5N1 virus’s appearance in Southeast Asia was treated as a major medical issue and how U.S. approaches to its treatment relate to post-9/11 anxieties about international biosecurity.
Read More -
Video: Kaitie Dong '18 interns at Refugee Women's Alliance
October 12, 2017 Whitman College politics major Kaitie Dong '18 translated her passion for politics into working with underrepresented populations while interning at the Refugee Women's Alliance in Seattle.
Read More -
Physician and Renaissance man Gar LaSalle to speak on what makes a good doctor
October 11, 2017 What makes a “good doctor?” It depends on whom you ask, according to physician, filmmaker, novelist and educator Gar LaSalle, who will deliver the 7th annual James McClellan Lecture on Humanity in Clinical Care on Oct. 14.
Read More -
Don’t overlook Africa’s involvement in World War I, explains visiting scholar
October 10, 2017 Studying the history of nations worldwide proves as valuable as studying the history of one’s home country, according to University of Calgary Professor of History Tim Stapleton, a specialist in African war and society.
Read More -
Whitman Advances More Than 20 Faculty Members
Twenty-three faculty members spanning 19 of the college’s departments and programs received promotion to full professor, tenure and contract renewal, effective the beginning of the 2017-18 academic year, announced Whitman’s Provost and Dean of the Faculty Alzada Tipton.
Read More -
Reunion Weekend strengthens alumni connections
October 9, 2017 "Whitman continues to have a special place in my heart and I loved the idea of helping us gather all together again,” said co-chair for her class’s reunion and first-time reunion attendee Geni Venable ’12, one of around 750 alumni and guests planning to attend this weekend’s celebrations for Whittie graduates ranging from the class of 1952 to Venable’s 2012 cohort and beyond.
Read More -
Video: Matthias Argenyi '18 on interning at Goldman Sachs
October 5, 2017 Economics and mathematics major Matthias Argenyi '18 channels his interest in wealth management at his Goldman Sachs internship in Seattle.
Read More -
Whitman hails installation by acclaimed artist Jim Dine
October 5, 2017 Whitman is playing host to works by pop artist Jim Dine, whose pieces are part of public collections at the Tate Modern, Metropolitan Museum of Art and Smithsonian, among other galleries in the U.S. and abroad.
Read More -
Viscous Elixir
A poem commissioned for "Whitman Magazine" by Katrina Roberts, Mina Schwabacher Professor of English/Creative Writing and Humanities.
Read More -
Whitman professor involved in Nobel Prize-winning research
October 3, 2017 Assistant Professor of Physics Greg Vaughn-Ogin cheered when the recipients of the 2017 Nobel Prize for Physics were announced earlier today. With good reason. He is one of more than 1,000 scientists, engineers and researchers involved with the trailblazing work of new Nobel Laureates Barry C. Barish, Kip S. Thorne and Rainer Weiss and the Laser Interferometer Gravitational-wave Observatory (LIGO) Scientific Collaboration.
Read More -
Gilman Scholarships support Whitties studying abroad
October 2, 2017 Three Whitman juniors are expanding their horizons this semester through study abroad opportunities funded by the prestigious Benjamin A. Gilman International Scholarship Program.
Read More -
Whitman wins Chamber of Commerce $mart Business Partner Award
September 29, 2017 Campus Sustainability Coordinator Brandon Bishop called the milestone “the culmination of years of effort by our faculty, staff and students” to improve Whitman’s resource management, greenhouse gas offsets and reduction of its global and regional ecological footprint.
Read More -
Video: Student thrives at Wild Salmon Center internship
September 29, 2017 Emma Hansen '20 connected her studies to future opportunities while interning at the Wild Salmon Center in Portland, Oregon.
Read More -
President Murray: Imagination, Innovation, Inventiveness, Individuality—the I’s Have It at Whitman
President Kathleen M. Murray's Summer 2017 letter to the Whitman community.
Read More -
NSF grants promote faculty-student research
September 28, 2017 Four Whitman faculty members received three-year National Science Foundation (NSF) research grants this year emphasizing the integration of teaching and research.
Read More -
Good Chemistry
Senior Lecturers of Chemistry Deberah Simon ’72 and Machelle Hartman mastermind a course so popular with Whitman students that there’s a three-year waitlist for it. The imaginative design of Chemistry in Art, a lab class for non-science majors, appeals to students across the disciplines.
Read More -
Much more than par for the course: W Club Golf Tournament and awards reception
September 25, 2017 More than 90 students, coaches, community members and Whittie alumni spanning the generations participated in the eighth annual W Club Golf Tournament last weekend to reconnect and raise money for Whitman’s 15 varsity athletic teams.
Read More


{% pattern product-info/product text-1="Add to Bag" text-2="Find in Store" image="white.jpg" colour="white.jpg" %}
{% pattern product-info/item-details details-1="Comfy nylon with the right amount of stretch" details-2="Style: 4577-4568" details-3="" materials-1="100% Polyester" materials-2="Use a mild detergent and cool water" materials-3="Imported" size-and-fit-1="Super scoop neckline" size-and-fit-2="Removable soft padding" size-and-fit-3="True to size" %}
{% pattern sections/ratings-and-reviews button_text="Write a Review" %}


A vacuum suction device of the present invention comprises: a cover which is rotatably mounted on the upper portion so as to couple to a flat surface by means of vacuum suction; an suction plate, which is coupled to the lower portion of the cover, for vacuum suction to the flat surface; and a height adjustment member, which is arranged between the cover and the suction plate, for moving the suction plate back and forth according to the rotation of the cover; wherein a plurality of fixing pieces are formed on the upper surface of the inside of the cover, a plurality of elastic stoppers are coupled to the inside of the height adjustment member, so as to be movable by sliding when each of the fixing pieces is in contact, and for fixing the cover by each of the fixing pieces being hooked to the end portion of the cover so as to prevent reverse rotation. The vacuum suction device of the present invention enhances suction force so as to couple the vacuum suction device to the flat surface more solidly and for a longer time, enhances assembly between each of the elements for vacuum suction, and prevents unlocking due to outside shock by forming a double locking structure in the vacuum adsorption device.
This application is a 371 application of International Application No. PCT/KR2010/008112, filed Nov. 16, 2010, which is incorporated herein by reference in its entirety.
The present invention relates to a vacuum suction device including a hanging member in order for a towel, toilet paper or the like to be hung on the hanging member, and more particularly, to a vacuum suction device, which enhances suction force so as to be coupled to a flat surface by means of vacuum suction more solidly and for a longer time, and enhances an assembling work between each of the elements configuring the vacuum suction device.
Generally, a vacuum suction device is a member which is adhered to a surface by means of vacuum suction in order for objects of various shapes such as a towel or toilet paper rack to be hung on a flat surface such as a glass or tile surface.
The vacuum suction device includes a hanging member and a suction plate, the hanging member is formed for a towel or toilet paper rack to be hung on the hanging member, and the suction plate is adhered to a smooth surface or a flat surface such as a glass or tile surface by means of vacuum suction.
In other words, if the vacuum suction device is, pushed to an adhered surface when the suction plate is being brought into contact with a smooth surface or a flat surface, that is, the adhered surface, air between the adhered surface and the suction plate gets out, and thus, the state of a space between the adhered surface and the suction plate is changed to a vacuum-applied state, whereupon the suction plate is sucked by the adhered surface, thereby fixing the vacuum suction device.
The suction plate may be adhered to the adhered surface by directly pushing the suction plate of the vacuum suction device to the adhered surface, or the suction plate may be adhered to the adhered surface by using another member for keeping a sucking state of the vacuum suction device.
Here, it is difficult that the vacuum suction device, which directly pushes the suction plate to the adhered surface to adhere the suction plate to the adhered surface, seals a space between the suction plate and the adhered surface, and suction force of the vacuum suction device between the suction plate and the adhered surface is weak. Therefore, the suction plate is easily separated from the adhered surface, and thus, it is difficult for the vacuum device to be fixed to the adhered surface for a long time, and the vacuum suction device separated from the adhered surface has to be repeatedly adhered to the adhered surface, and thus, it is inconvenient to use the vacuum suction device.
A vacuum suction device, which adheres a suction plate to an adhered surface by using another member, according to Korean Utility Model Registration No 0420964, applied and registered by this applicant, includes a cover, a height adjustment member and a suction plate, and if the cover is rotated clockwise, a spring is wound and at the same time, a height adjustment protrusion formed inside the cover moves along a height-adjustment inclined surface, and thus, the cover is lifted by a step height, and at this point, if the height adjustment member is inserted into a height-adjustment protrusion fixing groove, the spring maintains a wound state.
Therefore, a center part of the suction plate is lifted and an outer surface of the suction plate is tightly contacting an adhered surface, and thus, a state between the adhered surface and the suction plate is changed to a vacuum-applied state, whereupon the suction plate is adhered to the adhered surface.
Here, the spring always starts at an initial point to make a maximum vacuum suction force when vacuum suction is performed, and the height adjustment protrusion is fixed to the height-adjustment protrusion fixing groove so as to prevent the spring from being unwound.
Also, if the height adjustment protrusion is separated from the height-adjustment protrusion fixing groove by rotating the cover counterclockwise, the spring is unwound by an elastic restoring force of the spring for returning to the initial point, that is, an original position, and thus, because a vacuum-applied state between the adhered surface and the suction plate is released, the suction plate is separated from the adhered surface.
However, in the related art vacuum suction device, if the cover is rotated clockwise by using an elastic restoring force, the spring is wound, and at the same time, is moved to the adhered surface of the suction plate by the height adjustment member, and thus, the center part of the suction plate is lifted from the adhered surface and a vacuum-applied state is formed, whereupon the suction plate is adhered to the adhered surface. If the cover is rotated counterclockwise, the height adjustment protrusion is separated from the height-adjustment protrusion fixing groove, the vacuum-applied state is released by an elastic restoring force of the spring, the elastic restoring force making the spring restored to the initial point, and thus, the suction plate is separated from the adhered surface.
Because It is very inconvenient to assemble or combine the spring, which effectuates the suction plate being adhered to the adhered surface by forming the vacuum-applied state between the adhered surface and the suction plate by using the elastic restoring force of the spring, or making the suction plate separated from the adhered surface by releasing the vacuum-applied state between the adhered surface and the suction plate, to the vacuum suction device, a work efficiency is degraded, and because the cost of the spring is relatively high, a manufacturing cost increases.
Moreover, if the spring is used for a long time, an elastic force is degraded, and thus, a performance of the vacuum suction device is degraded, and because the spring, an elastic force of which is degraded, has to be replaced after the vacuum suction device is disassembled, a replacement is very inconvenient, and a replacement cost increases.
Also, because the cover coupled to the spring has to be rotated several times in the course of the initial assembly of every element configuring the vacuum suction device so as to generate an elastic force of the spring, unnecessary work has to be added, and thus, work efficiency is degraded, and work for combining the cover and the spring is inconvenient.
Furthermore, when the height adjusting protrusion formed in the cover of the vacuum suction device moves along a height-adjustment inclined surface of the height adjustment member to be inserted into the height-adjustment protrusion fixing groove, and the suction plate is adhered to the adhered surface, if the vacuum suction device is given an outer shock, the height adjustment protrusion is separated from the height-adjustment protrusion fixing groove. At the same time, a rotation of the cover of the vacuum suction device to an original position by a restoring force of the spring for returning to an original position may occur, and thus, a vacuum-applied state between the adhered surface and the suction plated is released, whereupon the suction plate is separated from the adhered surface, and thus, the vacuum suction device is so easily separated.
Accordingly, the present invention is directed to a vacuum suction device, which substantially obviates one or more problems due to limitations and disadvantages of the related art. An aspect of the present invention is directed to provide a vacuum suction device, which includes a plurality of fixing pieces formed inside a cover of the vacuum suction device, and a height adjustment member in which a plurality of elastic stoppers having a certain curved surface are formed, which enhances a suction force by moving the fixing piece along the curved surface of the elastic stopper with the fixing piece contacting the curved surface depending on a rotation of the cover to be hung on one side of the elastic stopper, and makes a suction plate of the vacuum suction device tightly contact an adhered surface to be securely adhered to the adhered surface. This enhances an efficiency of an assembly by making an assembly of every element be easily performed.
Another aspect of the present invention is directed to providing a vacuum suction device, which makes the suction plate be securely adhering to the adhered surface and prevents the suction plate from being easily unwound due to an outer shock by moving each of the fixing pieces formed in the cover along the curved surface of each of the elastic stoppers to be hung on a bent surface, moving each of stop protrusion parts of the cover along an inclined surface formed in a side plate of the height adjustment member to be inserted into each of fixing groove parts to be hung to form a double lock structure.
The other aspect of the present invention is directed to provide a vacuum suction device including an elastic stopper performing two functions, one of which restores a position to an original position, the function being performed by a conventional spring, and the other of which makes a fixing piece be fixed to a bent surface of the elastic stopper one more again.
To chieve these and other advantages and in accordance with the purpose of the invention, as embodied and broadly described herein, there is provided a vacuum suction device, which comprises: a cover which is rotatabiy mounted on an upper portion so as to be coupled to a flat surface by vacuum suction; a suction plate which is coupled to a lower portion of the cover to be sucked by vacuum to the flat surface; and a height adjustment member which is arranged between the cover and the suction plate to move the suction plate upward and downward according to the rotation of the cover, wherein a plurality of fixing pieces are formed in a top surface of inside the cover, and a plurality of elastic stoppers having a certain elastic force are coupled to inside the height adjustment member in order for the each of the fixing pieces to move by sliding with the fixing piece contacting the elastic stopper and in order for the each of the fixing pieces to be hung on an end portion to fix the cover so as to prevent a backward rotation of the cover from occurring.
In the present invention, the each of the fixing pieces of the cover is bent to be formed into a ‘V’ shape, and a bent outer surface of the each of the fixing pieces is formed into a round shape.
In the present invention, one coupling surface or a plurality of coupling surfaces are formed in the other side of the each of the elastic stoppers, a bent surface is formed in one side of the each of the elastic stoppers in order for the each of the fixing pieces to be hung on the bent surface to be fixed, and a curved surface, which the each of the fixing pieces contact to slide, is formed to be curved at a certain angle between the one side and the other side of the each of the elastic stoppers, the ones side of the each of the elastic stoppers being a free end.
According to the embodiments of the present invention, a plurality of fixing pieces is formed inside a cover of the vacuum suction device, a plurality of elastic stoppers having a certain curved surface is formed in a height adjustment member in order for each of the fixing pieces to slide and move to be hung to be fixed, each of the fixing pieces slides and moves along a curved surface of the elastic stopper with each of the fixing pieces contacting to the curved surface to be hung on one side surface of each of the elastic stoppers when the cover rotates, an outer surface of a suction plate of the vacuum suction device tightly contacts a adhered surface, a center part of the suction plate is lifted, and a vacuum-applied state is formed between the adhered surface and the suction plate, and thus, the suction force of the vacuum suction device is enhanced and the suction plate of the vacuum suction device is securely adhered to the adhered surface.
Moreover, according to the embodiments of the present invention, a spring used in a related art vacuum suction device is removed, a plurality of elastic stoppers are molded when a height adjustment member is being molded, and thus, the number of components configuring the vacuum suction device may decrease, and an assembly of each of elements configuring the vacuum suction device may be easily performed, whereupon an assembling work between each of the elements configuring the vacuum suction device, a work efficiency and productivity may be enhanced, thereby a manufacturing cost of manufacturing the vacuum suction device being saved maximally.
Also, according to the embodiments of the present invention, each of the elastic stoppers is molded to be manufactured integrally with a height adjustment member and protected from an outer shock by a cover, and thus, damage and breakage are avoided, thereby the vacuum suction device being used semi-permanently.
Moreover, according to the embodiments of the present invention, each of the fixing pieces formed in the cover of the vacuum suction device moves along the curved surface of each of the elastic stoppers to be hung on a bent surface to be fixed, and each of stop protrusion parts of the cover moves along an inclined surface formed in a side plate of the height adjustment member to be inserted into each of fixing groove parts to be hung to form a double lock structure. Therefore, a suction plate of the vacuum suction device is solidly adhered to a adhered surface, and thus, the vacuum suction device is solidly adhered to the adhered surface, and if the cover of the vacuum suction device is not rotated forcibly in an opposite direction, a fixing state is not easily released by an outer shock because each element of the double lock structure is hung on each other, thereby the suction plate being efficiently prevented from being separated from the adhered surface.
Moreover, according to the embodiments of the present invention, if the cover of the vacuum suction device is rotated backward forcibly, a double lock structure is released, and thus, a function of a conventional spring of automatically returning to an original position is maintained.
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiments of the invention and together with the description serve to explain the principle of the invention. In the drawings:
figref[FIG. 1] is a perspective view illustrating a configuration of a vacuum suction device according to a present invention;
figref[FIG. 2] is an exploded perspective view illustrating a disassembled vacuum suction device according to the present invention;
figref[FIG. 3] is a sectional view illustrating a longitudinally-sectioned vacuum suction device according to the present invention;
figref[FIGS. 4 and 5] are exemplary diagrams illustrating an operation of the vacuum suction device according to the present invention;
figref[FIGS. 6 and 7] are plan views illustrating an operation of a vacuum suction device according to the present invention;
figref[FIG. 8] is a sectional view illustrating a vacuum suction device according to the present invention before a suction plate is adhered to a adhered surface; and
figref[FIG. 9] is a sectional view illustrating a vacuum suction device according to the present invention after the suction plate is adhered to the adhered surface.
Reference will now be made in detail to the exemplary embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. Hereinafter, the vacuum suction device according to the embodiments of the present invention will be described in detail with reference to figref[FIGS. 1 to 9] .
The vacuum suction device 100 according to the present invention is adhered to an adhered surface (a), that is, a smooth surface or a flat surface such as a glass or tile by means of vacuum suction in order for a towel or toilet paper to be hung on the adhered surface.
The vacuum suction device 100, as shown in figref[FIGS. 1 to 3] , includes a cover 10 which is rotatably mounted on the upper portion, a suction plate 30 which is coupled to the inside of the lower portion of the cover 10 to be adhered to the adhered surface (a) by vacuum suction in order for the cover 10 to be adhered to the adhered surface (a), and a height adjustment member 20 which is coupled to the inside of the lower portion of the cover 10, is arranged between the cover 10 and the suction plate 30 to move back and forth to the adhered surface (a) according to the rotation of the cover 10, and makes the suction plate 30 adhered to the adhered surface (a) by vacuum suction and be separated from the adhered surface.
As shown in figref[FIGS. 1 and 2] , an insert hole 11, into which one end of a hanging member (not shown) is inserted formed in a center part of the cover 10 to penetrate the cover 10.
A plurality of rotation protrusion parts 12 are radially formed to protrude with respect to the insert hole 11 in a position, which is an inner surface of the cover 10 and is external to the insert hole 11, in order for the cover 10 and the suction plate 30 to be coupled, and a hook 121, which is inserted into a stop groove part described below of the suction plate 30, is formed in an end portion of each of the rotation protrusion part 12.
A plurality of stop protrusion parts 13, which moves along a top surface of a side plate 22 of a height adjustment member 20 described below, is inserted into a fixing groove part 223 to be fixed with the stop protrusion parts 13 being in contact with a stopper 221, and limits a range of rotation of the cover 10, are formed to protrude in an inner circumference of the cover 10.
A plurality of fixing pieces 14, the number of which is equal to that of an elastic stopper 23 described below, is formed in a top surface of inside the cover 10 to penetrate downward.
Each of the fixing pieces 14, as shown in figref[FIG. 2] , is bent to be formed into a ‘V’ shape, and a bent outer surface of each of the fixing pieces 14 is formed into a round shape in order to widen a contact area with a curved surface 233 of an elastic stopper 23 described below and in order for the fixing piece 14 to move smoothly by sliding along the curved surface 233.
As shown in figref[FIGS. 2 and 3] , the height adjustment member 20 includes a ring-shaped bottom plate 21 formed in a lower portion of the height adjustment member 20, and a side plate 22 formed in a top surface outside the bottom plate 21.
A plurality of coupling holes 21 a, into which each of coupling protrusions 34 of the suction plate 30 described below is inserted to be fixed, are formed in the bottom plate 21 in order for the height adjustment member 20 and the suction plate 30 to be coupled.
A plurality of stoppers 221, which contact each of the stop protrusion parts 13 of the cover 10, are formed to protrude in a top surface of the side plate 22 in order for the cover to rotate within a certain range. An inclined surface 222, which is inclined at a certain angle and which a bottom surface of the stop protrusion part 13 contacts, is formed between the stoppers 221 in order for each of the protrusion part 13 to slide to push the height adjustment member 20 to the suction plate 30. Also, a fixing groove part 223, into which a bottom surface of the each of the stop protrusion part 13 sliding along each of the inclined surface 222 to contact one side of the each of the stoppers 221 is inserted to be fixed, is formed in one end portion of the inclined surface 222.
The inclined surface 222 progressively inclined upward from one side to the other side at a certain angle in order for the suction plate 30 to be adhered to the adhered surface (a) or to be separated from the adhered surface (a) when the height adjustment member 20 is pulling the suction plate 30 coupled to the cover toward a center shaft 31 and thus a center part of the suction plate 30 is being lifted.
Here, a plurality of elastic stoppers 23, each of which has a certain elastic force, contacts each of the fixing piece 14 of the cover 10, and makes each of the fixing pieces 14 move by sliding with the fixing piece 14 contacting the elastic stopper 23, are coupled to inside the height adjustment member 20 such that the cover 10 rotates backward, that is, each of the fixing piece 14 moving by sliding so as to fix the cover 10 are respectively hung on an end portion.
As shown in figref[FIGS. 2 and 3] , a one end portion of each of the elastic stoppers 23 is formed into a free end, and the other end portion of each of the elastic stoppers 23 is coupled to the bottom plate 21 as well as the side plate 22 of the height adjustment member 20 so as to be solidly coupled to the height adjustment member 20.
That is, a bent surface 231 bent at a certain angle is formed in one side of the each of the elastic stopper 23 in order for each of the fixing pieces 14 of the cover 10 to be hung to be fixed, the fixing piece 14 making the outer side of the suction plate 30 tightly contact the adhered surface (a) by adjusting a height of the height adjustment member 20 and rotating in order for the suction plate 30 of the vacuum suction device 100 to be adhered to the adhered surface (a) by lifting the center part of the suction plate 30 to form a vacuum-applied state. Also, a coupling surface 232, which is coupled to the bottom plate 21 as well as the side plate 22 in order for the coupling force between the height adjustment member 20 and each of the elastic stoppers 23 to increase, and which may be one or may be formed in plurality, is formed in the other side of each of the elastic stoppers 23.
Moreover, a curved surface 233 is formed to be curved at a certain angle between one side and the other side of the elastic stopper 23, that is, the bent surface 231 and the coupling surface 232, such that the each of the fixing pieces 14 moves by sliding with the piece 14 contacting the curved surface 232 in order for each of the elastic stoppers 23 to return to an original position if the each of the fixing pieces 14 located at the bent surface 231 after each of the elastic stoppers 23 having certain elasticity is pushed outward by each of the fixing pieces 14.
As shown in figref[FIGS. 2 and 3] , a center shaft 31 is formed in a top surface of a center part of the suction plate 30 to stand widthwise, and a coupling groove 32, into which one end of the hanging member is inserted in order for the hanging member to be coupled to the center shaft 31 by a hot melting method, an ultrasonic waves melting method or the like, is formed in the center shaft 31.
A stop groove part 33, which makes a hook 121 formed in end portion of each of the rotation protrusion pars 12 of the cover 10 be inserted into the stop groove part 33 to be fixed, is formed in a certain position of an outer circumference of the center shaft 31 along the outer circumference.
A plurality of coupling protrusions 34 each of which is inserted into the each of the coupling hole 21 a so as to connect the height adjustment member 20 to the suction plate 30 to couple them, are formed in a top surface of the suction plate 30, and a holding part 35, which makes the suction plate 30 adhered to the adhered surface be separated from the adhered surface (a), is formed in an outer circumference.
An operating method of the present invention described above will be provided below.
First, when the height adjustment member 20 is being located at the top of the suction plate 30, each of the coupling protrusions 34 of the suction plate 30 is inserted into each of the coupling hole 21 a formed in a bottom plate 21 of the height adjustment member 20, and thus, the height adjustment member 20 and the suction plate 30 are coupled.
Sequentially, when the suction plate 30, to which the height adjustment member 20 is coupled, is being located under the cover 10, the hook 121 respectively formed in end portion of the each of the rotation protrusion 12 of the cover 10 is respectively inserted into the stop groove part 33 formed in an outer circumference, and thus, the suction plate 30 is coupled to the cover 10, thereby a process of making the vacuum suction device 100 being completed.
At this point, a bottom surface of each of the stop protrusion parts 13 of the cover 10 contacts the inclined surface 222 formed in the side plate 22 of the height adjustment member 20, and each of the fixing pieces 14 of the cover 10 contacts the curved surface 233 of each of the elastic stoppers 23 coupled to the height adjustment member 20.
Also, one end portion of the hanging member (not shown), on which various objects such as a towel, toilet paper are hung, is inserted into the coupling groove 32 formed in the center shaft 31 of the suction plate 30, and then, the hanging member is coupled to the center shaft 31.
At an initial state of the completed order of the vacuum suction device 100, the vacuum suction device is located as shown in figref[FIGS. 4 and 6] , and then, the vacuum suction device is adhered to the adhered surface (a) to be coupled to the adhered surface after the vacuum suction device 100 is located at the adhered surface (a) as shown in figref[FIG. 8] .
A process of adhering the vacuum suction device to the adhered surface to couple the vacuum suction device to the adhered surface will be described below. If the cover 10 of the vacuum suction device 100 is rotated clockwise as shown in figref[FIGS. 4 and 6] , each of the stop protrusion parts 13 moves along the inclined surface 222 formed in the top surface of the side plate 22 of the height adjustment member 20 by sliding, and because each of the stop protrusion parts 13 move only between the stoppers 221 formed in each side of the inclined surface 222, a range of rotation of the cover 10 is limited between the stoppers 221.
At the same time, each of the fixing pieces 14 of the cover 10 moves by sliding along the curved surface 233 formed between the bent surface 231 and the coupling surface 232 of the elastic stopper 23, which is coupled to the bottom plate 21 and the side plate 22 of the height adjustment member 20, and therefore, the cover 10 is progressively separated from the adhered surface (a).
Sequentially, a lower portion of each of the stop protrusion parts 13 is inserted into the fixing groove part 223, and if each of the fixing pieces 14 is located at the position of the bent surface 231 of the elastic stopper 23 to be hung, an outer surface of the suction plate 30 is pushed toward the adhered surface (a) by the height adjustment member 20.
Therefore, the outer surface of the suction plate 30 tightly contacts the adhered surface (a), and at the same time, the cover 10 is separated from the adhered surface by a step height of the inclined surface 222 formed in the height adjustment member 20, and thus, the center part of the suction plate 30 coupled to the cover 10 is lifted and the space between the center part of the suction plate 30 and the adhered surface (a) is separated at a certain interval, thereby a vacuum-applied state being formed and the vacuum-applied state being maintained.
Therefore, a strong suction force is maintained between the adhered surface (a) and the suction plate 30, whereupon the suction plate 30 is sucked by vacuum to the adhered surface (a), and thus, the vacuum suction device 100 is adhered to the adhered surface as shown in figref[FIG. 9] , and therefore, various objects such as a towel or toilet paper can be hung on the hanging member coupled to the vacuum suction device 100.
Moreover, if a separation of the vacuum suction device 100 from the adhered surface (a) is wanted, each of the stop protrusion parts 13 is separated from each of the fixing groove parts 223 of the inclined surface 222 formed in the side plate 22 of the height adjustment member 20 by rotating the cover 10 counterclockwise as shown in figref[FIGS. 5 and 7] , and at the same time, each of the fixing pieces 14, which is hung on the bent surface 231 of each of the elastic stoppers 23 to be fixed, is separated from the bent surface 231.
At this point, if each of the fixing pieces 14 is separated from each of the bent surfaces 231 of the elastic stopper 23, each of the fixing pieces 14 automatically moves to a position of an initial assembling state by an elastic restoring force of the elastic stopper 23, and thus, the cover 10 returns to an initial position, that is, an original position. That is, a lower portion of each of the stop protrusion parts 13 is separated from each of the fixing groove parts 223 by the cover 10 rotating to move along the inclined surface 222 by the elastic restoring force to the initial point, and at the same time, each of the fixing pieces 14 hung on the bent surface 231 of each of the elastic stoppers 23 is separated from the bent surface 231 to automatically move along the curved surface 233 to an initial position.
Therefore, when the fixing piece 14 of the cover 10 is returning to an initial position, that is, an original position by the elastic restoring force of the elastic stopper 23 of the height adjustment member 20, the center part of the suction plate 30 coupled to the cover 10 moves toward the adhered surface (a), and thus, the vacuum-applied state between the suction plate 30 sucked by vacuum and the adhered surface (a) is released, that is, the center of the suction plate 30 is flattened as shown in figref[FIG. 8] , and thus, the vacuum-applied state is released.
At this state, if the holding part 35 of the suction plate 30 is pulled, external air comes into a space between the suction plate 30 and the adhered surface (a), and thus, the suction plate 30 sucked by vacuum to be adhered the adhered surface (a) is separated from the suction plate 30, thereby the vacuum suction device 100 being separated from the adhered surface (a).
As described above, if the cover 10 of the vacuum suction device 100 is rotated in clockwise direction and in counterclockwise direction of the figure, the center part of the suction plate 30 coupled to the cover 10 by the stop protrusion part 13, the inclined surface 222, the fixing piece 14 and the elastic stopper 23 moves upward and downward with the respect to the adhered surface (a), and thus, the suction plate 20 is sucked by vacuum to be adhered to and is separated from the adhered surface (a), whereupon the vacuum suction device 100 is adhered to and is separated from a smooth surface or a flat surface such as a glass or a tile, that is, the adhered surface (a).
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the inventions. Thus, it is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.


Artist | Musician | Designer | Geek
I'm originally from San Luis Obispo and later the Monterey and Santa Cruz areas of California. I've lived in the Silicon Valley now for about ten years. I have had a talent for and love of creating art and music from a very young age. This has expressed itself in many ways, from drawing and painting to sculpture to writing (made 'zines in high school and was published in a poetry book at the age of 21), and with music (drums mainly, and a bit of guitar. I'm a former GSL and SubPop recording artist).
In my downtime I love spending time with family and friends and feel we live in the perfect part of San Jose, nestled in between Campbell and Los Gatos (in the Cambrian area) with good schools and close access to work. We regularly take short trips to Santa Cruz or Half Moon Bay when we need time at the beach, or short jaunts up to SF for all the City has to offer on the weekends.
In recent years I've developed a passion for collecting exotic succulent and cactus plants from around the world. I have an interest in plant identification and endeavor to memorize all the botanical names. Yes, it's nerdy, but I luckily have the good sense to not bore people talking about it, or at least when I can tell they aren't interested (haha)!
Thanks again for visiting my site. I hope you found it to be an enjoyable experience and liked what you saw. I'm ready to discover what new opportunities await on the horizon. Let's talk!
In recent years, when I wanted to build a new site, I would design and prototype it in HTML and then manually port it into a Drupal or Wordpress template. There's lot's of reasons and advantages for running a site on a CMS. There are tradeoffs though, and frequent maintenace and security updates must be applied.
So when I set out to build my new portfolio site in late 2015, I wanted to try a new approach. I have been studying and reading up on Google's Material Design Specification, and investigating Polymer + Paper Elements, and Web Components technology. In many ways I do believe Web Components are the future of the Web. However, there are still deep browser disparities with how certain Web Component technologies are handled (such as with Firefox and HTML imports support, not to utter a word about IE), but Polymer certainly seems to do a fine job at bridging that gap. I've experimented a bit with the .5 beta as well as the new version 1.0 release. So I initially thought I might take this approach, and use the chance to learn something new.
But then I stumbled upon a CSS framework called Materialize which is based on the Material Design spec. Now generally, I'm not the hugest fan of CSS frameworks. For one, I can get hung up on the lack of good semantics. For another, I don't need them to display things exactly as I want them, I'm good with CSS 3. But, they are widely used with development teams and it makes a lot of sense to know them from that perspective. It defines a safe framework that non-experts can play in. It's a way to do what you need to do, maybe even elegantly, and quickly. Time to market matters (even with personal projects).
So, I decided to download it and give it a try. It was fun and easy to pickup. I realized that jQuery was integrated, so I got the chance to work with the newest version, it had been awhile. Materialize also leverages Web Fonts, which I was familiar with but hadn't actually worked with much before. Even though I love making my own icons, it was fun to learn a new, lightweight way to display icons (or glyphs, really). I then expanded the set with the Socicon web font. I found it enjoyable and easy to make my own styled social networking icons with it.
My site logo and favicon are an homage to Adobe Creative Suite. Finally, I hand-coded the site using Brackets editor from Adobe. I'm picky with my text-editors, but I like this quite a bit, after enabling a few add-on plugins. I've been developing locally running a XAMPP server, and I plan to publish on Oct. 12, 2015. I hope you enjoy the site, and we get a chance to speak soon!


Life is where you find it. I moved to the Czech Republic in the fall of 2000 to work for a long-gone startup. When I left the states, I told my friends and family that I would be here "for a year or two".
I've spent a good chunk of the past 20 years hunched over a keyboard working on system architecture & design and web applications - most recently using Ruby on Rails and JavaScript.


Tidy evaluation is a bit challenging to get your head around. Even after reading programming with dplyr several times, I still struggle when creating functions from time to time. I made a small summary of the most common actions I perform, so I don’t have to dig in the vignettes and on stackoverflow over and over. Each is accompanied with a minimal example on how to implement it. I thought others might find this useful too, so here it is in a blog post. This list is meant to be a living thing so additions and improvements are most welcome. Please do a PR on this file or send an email.
library(tidyverse)
bare to quosure: quo
bare_to_quo <- function(x, var){
x %>% select(!!var) %>% head(1)
}
bare_to_quo(mtcars, quo(cyl))
## cyl
## Mazda RX4 6
bare to quosure in function: enquo
bare_to_quo_in_func <- function(x, var) {
var_enq <- enquo(var)
x %>% select(!!var_enq) %>% head(1)
}
bare_to_quo_in_func(mtcars, mpg)
## mpg
## Mazda RX4 21
quosure to a name: quo_name
bare_to_name <- function(x, nm) {
nm_name <- quo_name(nm)
x %>% mutate(!!nm_name := 42) %>% head(1) %>%
select(!!nm)
}
bare_to_name(mtcars, quo(this_is_42))
## this_is_42
## 1 42
quosure to text: quo_text
quo_to_text <- function(x, var) {
var_enq <- enquo(var)
glue::glue("The following column was selected: {rlang::quo_text(var_enq)}")
}
quo_to_text(mtcars, cyl)
## The following column was selected: cyl
character to name: sym
(edited)
char_to_quo <- function(x, var) {
var_enq <- rlang::sym(var)
x %>% select(!!var_enq) %>% head(1)
}
char_to_quo(mtcars, "vs")
## vs
## Mazda RX4 0
multiple bares to quosure: quos
bare_to_quo_mult <- function(x, ...) {
grouping <- quos(...)
x %>% group_by(!!!grouping) %>% summarise(nr = n())
}
bare_to_quo_mult(mtcars, vs, cyl)
## # A tibble: 5 x 3
## # Groups: vs [?]
## vs cyl nr
## <dbl> <dbl> <int>
## 1 0 4 1
## 2 0 6 3
## 3 0 8 14
## 4 1 4 10
## 5 1 6 4
multiple characters to names: syms
(edited)
bare_to_quo_mult_chars <- function(x, ...) {
grouping <- rlang::syms(...)
x %>% group_by(!!!grouping) %>% summarise(nr = n())
}
bare_to_quo_mult_chars(mtcars, list("vs", "cyl"))
## # A tibble: 5 x 3
## # Groups: vs [?]
## vs cyl nr
## <dbl> <dbl> <int>
## 1 0 4 1
## 2 0 6 3
## 3 0 8 14
## 4 1 4 10
## 5 1 6 4
quoting full expression
Although quoting column names is most often used, it is by no means the only option. We can use the above to quote full expressions.
filter_func <- function(x, filter_exp) {
filter_exp_enq <- enquo(filter_exp)
x %>% filter(!!filter_exp_enq)
}
filter_func(mtcars, hp == 93)
## mpg cyl disp hp drat wt qsec vs am gear carb
## 1 22.8 4 108 93 3.85 2.32 18.61 1 1 4 1
quoting full expression in a character: parse_expr
filter_by_char <- function(x, char) {
func_call <- rlang::parse_expr(char)
x %>% filter(!!func_call)
}
filter_by_char(mtcars, "cyl == 6") %>% head(1)
## mpg cyl disp hp drat wt qsec vs am gear carb
## 1 21 6 160 110 3.9 2.62 16.46 0 1 4 4
Edit notes
1) I mistakingly thought that rlang::sym(s)
created quosures. However, as pointed out to me by a reader, this creates a name
, not a quosure
. A name
however can also be unquoted. See this github discussion.
just_a_name <- rlang::sym("cyl")
class(just_a_name)
## [1] "name"
mtcars %>% select(!!just_a_name) %>% head(1)
## cyl
## Mazda RX4 6
2) Quoting expressions in a character was added roughly a year after the first apperance of this blog.
3) The quo_text
example used to be with ggplot2
. However, since v.3.0.0 it supports tidy evaluation. Therefore, the example was changed and now it uses glue
.


Disclaimer
This is an Alpha release. There may be bugs and the api may change moving forward. Thats the downside, the upside is that it's a great time to improve the library with community help and feedback . If you'd like to contribute please feel free to jump in and/or post
issues/features on github.
It's useful to get an overview of the development philosophy and how iobio is organized before building an app, so that all the pieces you'll need to interact with make sense.
How it works
At its core iobio is made up of an app and 1 or more web services. To do analysis or data manipulation, input data (via file or url) is passed through 1 or more web services and returned to the app for visualization. This requires somewhat complex websocket code on the app and socket code on the service to correctly analyze the data at each step of the "pipeline" and pass it onto the next webservice. To make all of this simplier we have created several libraries that manage creating the iobio commands/pipelines in the app (iobio.js), creating custom webservices (Minion), and visualizing the streaming data (iobio.viz).
Faster Developement, More Apps
Iobio is built around the philosophy of trying to make genomic web apps easier to build to encourage numerous more focused apps as opposed to big apps that do everything. Towards this goal we've built the back-end as a series of web-services that perform a specific atomic function (e.g. variant calling). These web services can be mixed and matched to support many different web apps. The goals is that when building a new web app, a developer would only need to build the UI/front-end and then simply select the web services they need to support it - no backend required! We are now offering these web services to the community to try to spur even more genomic web apps. Unrestricted the resources for this would be immense, so we have a queue system to ensure that we aren't overloaded with requests. See Queued Web Services to see how this works and how to inform the users where they are in the queue.


Simian is available with several licensing options depending on your intended use.
Below is a summary of each type of license. You may, however, wish to read the full license agreement which explains each particular type in greater detail.
I am an active supporter of the free software and open source communities. As such, I provide a free license of Simian for non-commercial and open source use.
Simian is also available for a period of 15 days for evaluation purposes.
However, if you intend to use Simian commercially or within government, ie. you are not using Simian to check free software, I ask you to buy a license. I believe a Simian license represents excellent value for money, when compared to other products on the market today.
A Personal/SOHO License for Simian is US$99. A personal/SOHO license entitles you to use Simian on one machine only. A Personal/SOHO License does not permit the generation of reports for distribution nor use by other than the licensee. A Personal/SOHO License also entitles you to email support by sending mail to Simon Harris and minor upgrades up to, but not including the next major version of the software.
A project/build server license for Simian is US$499 and entitles you to use Simian on any number of machines solely for the licensed project, or on a single machine for many projects. A project license also entitles you to phone and email support by sending mail to Simon Harris and minor upgrades up to, but not including the next major version of the software.
We also offer enterprise licensing for larger organisations where simple, per-project licensing is not appropriate. An Enterprise License entitles the licensee to use Simian on any number of machines across all locations and projects.
If you are a consulting firm and wish to use Simian as part of your service offering or you or your organisation have some other use of Simian that is not specifically covered by one of the standard license agreements, I am more than happy to arrange a license agreement and pricing specific to your needs.
For all licensing and sales related enquiries, please send emails directly to Simon Harris.
By downloading this version, you agree to the terms and conditions set out in the license agreement and you agree that, should you wish to continue using Simian for other than open source projects, non-commercial projects or evaluation purposes for a period greater than 15 days, you will purchase a license as described above.
simian-2.5.10.tar.gz
simian-2.5.10.tar.gz.MD5
Please use the supplied md5 checksum file to ensure the integrity of the download.
Java and all Java-based marks are trademarks or registered trademarks of
Oracle in the United States and other countries.
.NET and all .NET-based marks are trademarks or registered trademarks of Microsoft® in the United States and
other countries.
Copyright (c) 2003-2018 Simon Harris. All rights reserved.


Hollow Man * * * (out of * * * * )
Directed by Paul Verhoeven. Cast: Elisabeth Shue, Kevin Bacon, Josh Brolin, Kim Dickens, Greg Grunberg, Joey Slotnick, Mary Randle, William Devane. 2000 - 113 minutes Rated R (for violence, gore, profanity, nudity, and sexual situations). Reviewed by Dustin Putman, August 5, 2000.
In an age when computers and visual effects are cinematically at the top of their games, it's curious that a film hasn't been made sooner about a psychotic invisible man. Sure, there was 1992's big-budget fiasco, "Memoirs of an Invisible Man," starring Chevy Chase, but that was a black comedy, rather than a thriller that truly delves into the mind of a slightly unhinged human subject who has decided to become invisible. The possibilities for what could be done with this idea are seemingly endless, and "Hollow Man," directed by hit-or-miss director Paul Verhoeven (1992's "Basic Instinct," 1997's "Starship Troopers"), has taken advantage of this novel approach, offering up the type of state-of-the-art special effects that have never been seen on the big screen before. While problematic in more ways than one, the picture also holds the distinction of actually working as a spooky horror picture, albeit one that is particularly more gruesome and violent than most.
Slick hotshot Sebastian Caine (Kevin Bacon) is a self-titled genius, the head of an exclusive research team being financed by the Pentagon who has discovered the DNA formula with the ability to render animals invisible. Following experimentations that claim bringing the animals back to visibility are successful and relatively harmless, it is time for a human to become the next test subject, and Sebastian is determined to be that man.
Without authorization from the Pentagon and aided by fellow researchers Linda McKay (Elisabeth Shue), Sebastian's ex-lover; Linda's current flame, Matthew Kensington (Josh Brolin); veterinarian and animal specialist Sarah Kennedy (Kim Dickens); and assistants Carter Abbey (Greg Grunberg), Frank Chase (Joey Slotnick), and Janice Walton (Mary Randle), Sebastian injects himself with the invisibility serum, and although a rocky journey, the next quantum step works, leaving him exactly like the animals they had previously tested.
When bringing Sebastian back proves to be more difficult than all involved had expected, leaving him temporarily trapped in a world where no one can see him, he gradually begins to grow stir-crazy stuck in the underground lab, and begins to realize that he now has the ability to do anything, criminal or not, and could get away with it. Not helping matters is the discovery that Linda, whom he hasn't gotten over yet, is romantically involved with Matthew.
For the opening hour, "Hollow Man" is almost exclusively a psychological drama, and it isn't until Sebastian finally snaps that the proceedings turn ghastly. Whereas the biggest chunk of the film deals with the provocative question, "What would you do if no one could see you?," and gains notable mileage out of such a thought-provoking notion, the movie finally switches gears and, by the final thirty minutes, has become a gory slasher movie, where the central figures are knocked off one at a time until only two characters remain to fight for their lives against the killer.
The sudden switch in genres and tones is cause for both disappointment and celebration.  Verhoeven and Marlowe both could have undoubtedly thought of a more intellectually sound way to conclude the story, something that would have followed through more closely to what had come before, but scientific accuracy apparently was not on their agenda. Relatedly, when the murders arrive, the basic story is more or less forgotten about, in place of an "Alien/Friday the 13th" clone.
Despite what it may sound like, becoming a basic slasher film isn't necessarily a negative thing, however. The final thirty minutes are easily the most entertaining and tautly paced, and manage to even be a little frightening, a trait that is rare these days. The ingenious twist on the stalk-and-slash motions it goes through is that the menace can only be seen while wearing special goggles, or when something touches him, like water or steam. One particular sequence, set inside an elevator shaft, is especially nerve-wracking, and stands as proof that Verhoeven is a true filmmaking craftsman.
The visual effects in "Hollow Man," by Sony Pictures Imageworks Inc., are the true stars of the show, as they are rarely ever anything less than awesomely convincing. The process in which someone or something becomes invisible is superbly realized, as the skin is first stripped away, followed by the vital organs, and then the skeletal system. The computer-generated effects, which are another step forward in motion picture technology, makes everything that is happening believable, and therefore, more threatening.
Elisabeth Shue, who hasn't found much success following her Oscar-winning role in 1995's "Leaving Las Vegas," is effective and strong-willed as the heroine, a sort of Sigourney Weaver for the '00s. If any human actor steals the film away from the effects, it is Shue. Kevin Bacon, as Sebastian, is also very good, and easily has the most difficult role, as he must show emotions from only the sound of his voice (he is invisible for 3/4 of the movie). It is also nice to see the talented Josh Brolin (1998's "Nightwatch") here, as he is an almost constantly underrated thesp who deserves more recognition, and will hopefully get it with such a showy studio film here. Outstanding in a supporting part is Kim Dickens (1998's "Zero Effect"), who, with every appearance, is able to form a three-dimensional character, even when it isn't on the written page. Dickens is one of the most promising young actresses working today, and like Brolin, merits further exposure.
On the whole, "Hollow Man" stands as a tricky balancing act between deeper, existential ideas and a cliched monster movie.  Because the characters are deadly serious throughout the horrific goings-on, the viewer grows all the more involved. "Hollow Man" could have possibly graduated to being a great, subtle thriller, but that isn't the movie Verhoeven made. Instead, what we have is a bloody, gripping, gruesome, big-budget, popcorn-munching horror movie--and it works. Scientific logic, be damned!
- Copyright 2000 by Dustin Putman Http://www.young-hollywood.com Http://www.atnzone.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


{% extends "base.html" %} {% block title %}{% trans %}Try{% endtrans %} | {{super()}}{% endblock %} {% block ogtitle %}{% trans %}Try{% endtrans %} | {{super()}}{% endblock %} {% block ogurl %} {% endblock %} {% block ogdesc %} {% endblock %} {% block content %}
{% trans %}A few days ago when we've got some attention in the news, we were asked to provide a simple way to try out tsuru. So in a few weeks, we're planning to launch a public cloud PaaS powered by tsuru for you to test what we believe to be the best open source platform as a service in the world.{% endtrans %}
{% trans %}Better all, it will be entirely free during all the private beta testing period.{% endtrans %}
{% trans %}Use the form in this page to stay connected with us and to get a chance to be one of the first to try it out for free.{% endtrans %}
{% trans %}We're working hard hoping to get a seat for all of you.{% endtrans %}
{% trans %}Tsuru team{% endtrans %}


A 42-g ball is thrown upwards at a velocity of 5.2 m/s.
a) WIf the ball is initially 3.0 m above the ground, how long will it take the ball to hit the ground? b) What is the kinetic energy of the ball immediately before it hits the ground?


AJA Video Systems – Contact Support. AJA is dedicated to ensuring your success with our products. Technical Support is available free of charge and our team will work with you to help answer questions or resolve any issues.
Aja Fr1 Operation Manual and Scheppach Mtp860H Originalbetriebsanleitung.


If you look at the diagram, you see that the subkeys are shown as K1, K2, K3, ... K15, K16. As it turns out, there are 16 different 48-bit keys, which are generated deterministically from the initial 64-bit key input.
The 64-bit initial key undergoes an permutation: the first byte of the output is equal to the first bits of each input byte (backward); the second byte is equal to the second bit of each input byte; and so on. However, the 56-bit key itself is specified as two 28-bit halves — the second half works backward through the input bytes so that the first byte of the second half is the seventh bit of each input byte; the second byte is the sixth bit; and so on. Also, because the key halves are 28 bits each, there are only three and a half bytes; the last half byte follows the pattern but stops after four bits.
If you look carefully at this table, you see that bits 8, 16, 24, 32, 40, 48, 56, and 64 — the LSBs of each input byte — never appear. Early DES implementations used more fault-prone hardware than you are probably used to — the LSBs of the keys were used as parity bits to ensure that the key was transmitted correctly. Strictly speaking, you should ensure that the LSB of each byte is the sum (modulo 2) of the other seven bits. Most implementers don't bother, as you can probably trust your hardware to hang on to the key you loaded into it correctly.
Although the key input is 8 bytes (64 bits), the output of two 28-bit halves is only 56 bits. Eight of the key bits (the least-significant-bit of each input byte) are discarded and not used by DES. 笔记：这样也导致一个问题，如果key1和key2在只在最后1-bit不同的话，那么由key1加密的数据，可以由key2进行解密。
At each round, each of the two 28-bit halves of this 56-bit key are rotated left once or twice — once in rounds 1, 2, 9, and 16, twice otherwise.
Perform the left rotation operation on the key. This is made fairly complex by the fact that the key is split into two 28-bit halves, each of which has to be rotated independently (so the second rotation operation starts in the middle of byte 3).
One of the nice things about the way DES was specified is that decryption is the exact same as encryption, except that the key schedule is inverted. Instead of the original key being rotated left at each round, it's rotated right. Otherwise, the routines are identical.
These rotated halves are then permuted (surprise) according to the second permutation table.
This produces a 48-bit subkey from the 56-bit (rotated) key. Due to the rotation, this means that each round has a unique key K1, K2, K3, ..., K15, K16. These subkeys are referred to as the key schedule.
Notice that the key schedule is independent of the encryption operations and can be precomputed and stored before encryption or decryption even begins. Most DES implementations do this as a performance optimization.
DES specifies that the input should undergo an initial permutation. The purpose of this permutation is unclear, as it serves no cryptographic purpose (the output would be just as secure without this). It may have been added for optimization for certain hardware types. Nevertheless, if you don't include it, your output will be wrong, and you won't be able to interoperate with other implementations.
The specification describes this permutation in terms of the input bits and the output bits, but it works out to copying the second bit of the last byte into the first bit of the first byte of the output, followed by the second bit of the next-to-last byte into the second bit of the first byte of the output, and so on, so that the first byte of output consists of the second bits of all of the input bytes, “backward.” (Remember that the input is exactly eight-bytes long, so given an 8-bit byte, taking the second bit of each input byte yields one byte of output.)
First byte of output
The second byte of the output is the fourth bit of each of the input bytes, again backward.
Second byte of output
The third is built from the sixth bits, the fourth from the eighth bits, and the fifth comes from the first bits, and so on.
Fifth byte of output
Notice in the previous section that the subkeys are 48-bits long, but the input halves that are to be XORed are 32 bits long. Now, you can't properly XOR a 32-bit input with a 48-bit key, so the input is expanded — some bits are duplicated — before being XORed. The output of the expansion function is illustrated in the following figure.
After this has been XORed with the correct subkey for this round, it is fed into the s-box lookup. The s-boxes are what makes DES secure. It's important that the output not be a linear function of the input; if it was, a simple statistical analysis would reveal the key. An attacker knows, for example, that the letter “E” is the most common letter in the English language — if he knew that the plaintext was ASCII-encoded English, he could look for the most frequently occurring byte of output, assume that was an “E”, and work backward from there (actually, in ASCII-encoded English text, the space character 32 is more common than the “E”). If he was wrong, he could find the second-most occurring character, and try again. This sort of cryptanalysis has been perfected to the point where it can be performed by a computer in seconds. Therefore, the s-boxes are not permutations, rotations or XORs but are lookups into a set of completely random tables.
Each six-bits of the input — the expanded right-half XORed with the subkey — correspond to four bits of table output. In other words, each six bits of input is used as an index into a table of four-bit outputs. In this way, the expanded, XORed right half is reduced from 48-bits to 32. The s-boxes are described in a particularly confusing way by the DES specification. Instead, I present them here as simple lookup tables. Note that each six-bit block has its own unique s-box.
After substitution, the input block undergoes a another permutation.
All of this is performed on the right-half of the input, which is then XORed with the left half, becoming the new right-half, and the old right-half, before any transformation, becomes the new left half.


An Italian priest. He was once the secretary and good friend of Cardinal Spada, a roman prince. After Spada's death, Faria became the sole heir of the Spada's family fortune.
He was imprisoned in the Château d'If in 1811 where he became good friends with Edmond Dantès. During their stay, he educated Edmond on the subjects of language, culture, mathematics, chemistry, medicine, and science. He informed Edmond of the Spada treasure hidden on the Isle of Monte Cristo. Knowing that he would die from a cerebral apoplexy attack, he bequeathed the treasure to Edmond. He died in prison.


Enter your information in the form below:
Name:
Email Address:
Gender:
Male
Female
Age:
Under 30
Between 30 and 60
Over 60
Comments:


A vocab app that helps you remember everyday words
Highlight a word and right click to "Enlighten" it and search it's definition and relavant words!
These words are then stored at the link below for you to view and study later.
The words are then stored and can also be accessed at anytime from the side panel. The side panel can be accessed by clicking the edge of the panel peaking out of the edge or clicking the "E" at the top right of your screen.


--- ---
{% include head.html %} {% include head/custom.html %} {% include_cached skip-links.html %} {% include_cached browser-upgrade.html %} {% include_cached masthead.html %}{{ organizer.name }}
{{ organizer.institution }}
{{ entry.speaker }}
{{ entry.institution }}
{{ entry.title }}
{{ entry.summary }}
{{ entry.date }}
{{ entry.month_year }}
{{ entry.time }}
[Zoom link]


sweetpea.core.cnf module
This module provides the core data types used in SweetPea Core.
Fundamentally, SweetPea deals with Boolean logic formulas written in conjunctive normal form (CNF). Wikipedia says:
a formula is in conjunctive normal form (CNF) […] if it is a conjunction of one or more clauses, where a clause is a disjunction of literals; otherwise put, it is a product of sums or an AND of ORs.
In SweetPea, we refer to the “literals” as Vars
. These are
combined into Clauses
, which are then combined into
CNFs
. Most SweetPea functionality revolves around building and
manipulating CNFs
.
- class sweetpea.core.cnf.Var(value)
Bases:
object
A variable for use in a CNF formula.
This is essentially a wrapper for the builtin
int
type, but with a few advantages:It is semantically distinct from an
int
, so reading code is more sensible.Type aliases for
int
can be obnoxious to deal with because you may want to useint
-supported operations (like addition, negation, etc), but these are not cross-type compatible (e.g.,Var(3) + 2
produces an error in mypy).We can implement custom behavior as a sort of micro-DSL without much overhead or issue.
- Parameters
value (int) –
- class sweetpea.core.cnf.Clause(first_value=None, *rest_values)
Bases:
SimpleSequence
[Var
]A sequence of
Vars
. AClause
indicates a logical disjunction between the contained variables. For example,Clause(Var(3), Var(7))
encodes (3 ∨ 7).A
Clause
can also be instantiated with alist
ofVars
. This mode of instantiation will also accept rawints
in addition to instances ofVar
. For example,Clause([1, -2, 3])
corresponds to the formula (1 ∨ ¬2 ∨ 3).
- class sweetpea.core.cnf.CNF(*values)
Bases:
SimpleSequence
[Clause
]A conjunction of disjunction
Clauses
. For example,CNF(Clause(Var(3), Var(7)), Clause(Var(1), Var(13)))
corresponds to the CNF formula ((3 ∨ 7) ∧ (1 ∨ 13)).CNFs
can also be instantiated with alist
oflists
ofVars
, where each innerlist
represents aClause
and the outerlist
represents the CNF formula itself. Similar toClause
, this mode of instantiation will also accept rawints
in addition to instances ofVar
. For example,CNF([[1, 2, -3], [-2, 7, 1]])
corresponds to the CNF formula ((1 ∨ 2 ∨ ¬3) ∧ (¬2 ∨ 7 ∨ 1)).- static from_fresh(fresh)
Returns an empty
CNF
with the given number of freshVars
already allocated.Note
This method probably shouldn’t exist! The number of fresh variables should be deduced from the formulas themselves. This exists for legacy compatibility and should eventually be removed.
- static and_vars(a, b)
Returns a CNF formula encoding (a ∧ b).
- static or_vars(a, b)
Returns a CNF formula encoding (a ∨ b).
- static xor_vars(a, b)
Returns a CNF formula encoding (a ⊕ b) as ((a ∨ b) ∧ (¬a ∨ ¬b)).
- static xnor_vars(a, b)
Returns a CNF formula encoding (a ⊙ b) as ((a ∨ ¬b) ∧ (¬a ∨ b)).
Note
(a ⊙ b) is logically equivalent to (a ⇔ b), so this function replaces the original Haskell version’s
doubleImplies
function.
- static distribute(v, cnf)
Distributes the given
Var
across eachClause
of the given CNF formula, producing a new :class`CNF`.
- as_dimacs_string(fresh_variable_count=None)
Represents the
CNF
as a string in the DIMACS format.The DIMACS format is a standardized method of representing CNF formulas as strings. This implementation is based on the details given here.
- as_unigen_string(fresh_variable_count=None, support_set_length=None, sampled_variables=None)
Returns a string representing the CNF formula in the modified DIMACS format used by Unigen.
See
CNF.as_dimacs_string()
for details about the DIMACS format.Unigen adds an extra line at the top that describes the list of variables you would like to sample (instead of sampling among all variables). This line is given in the form:
c ind v1 v2 ... vn 0
where
v1
,v2
, …,vn
represent variables in the formula. This line is placed just below the “problem” line (the line beginning withp
).
- as_haskell_cnf()
Converts the
CNF
to atuple
whose first element is the number of fresh variables in the formula and whose second element is theCNF
represented as alist
oflists
ofints
.Note
This is the way CNF formulas were encoded in the original Haskell code. It only exists for consistency checks across the two code bases.
- append(other)
- prepend(other)
- set_to_zero(variable)
Zeroes the specified
Var
by appending its negation to the existing CNF formula.- Parameters
variable (Var) –
- zero_out(in_list)
Appends a CNF formula negating the existing CNF formula.
- set_to_one(variable)
Sets the specified variable to
1
by appending it to the existing CNF formula.- Parameters
variable (Var) –


29 references to RunspaceFactory
Microsoft.PowerShell.ConsoleHost (2)
host\msh\ConsoleHost.cs (2)
1674
consoleRunspace =
RunspaceFactory
.CreateRunspace(this, DefaultInitialSessionState);
1696
consoleRunspace =
RunspaceFactory
.CreateRunspace(this, DefaultInitialSessionState);
System.Management.Automation (27)
engine\CommandCompletion\PseudoParameterBinder.cs (1)
340
t_bindCommandRunspace =
RunspaceFactory
.CreateRunspace(minimalState);
engine\hostifaces\HostUtilities.cs (1)
762
remoteRunspace = (RemoteRunspace)
RunspaceFactory
.CreateRunspace(connectInfo, host, typeTable);
engine\hostifaces\MshHost.cs (1)
16
/// passes it to the <see cref="System.Management.Automation.Runspaces.
RunspaceFactory
"/> CreateRunspace method.
engine\hostifaces\PowerShell.cs (4)
873
result.Runspace =
RunspaceFactory
.CreateRunspace(initialSessionState);
1820
SetRunspace(
RunspaceFactory
.CreateRunspace(), true);
5462
runspace =
RunspaceFactory
.CreateRunspace(_settings.Host);
5466
runspace =
RunspaceFactory
.CreateRunspace();
engine\hostifaces\PSTask.cs (1)
947
runspace =
RunspaceFactory
.CreateRunspace(iss);
engine\hostifaces\RunspacePoolInternal.cs (1)
1255
Runspace result =
RunspaceFactory
.CreateRunspaceFromSessionStateNoClone(host, _initialSessionState);
engine\InitialSessionState.cs (1)
2616
using (Runspace tempRunspace =
RunspaceFactory
.CreateRunspace())
engine\parser\Parser.cs (1)
2950
Runspaces.
RunspaceFactory
.CreateRunspace(Runspaces.InitialSessionState.CreateDefault2());
engine\parser\TypeResolver.cs (1)
878
builtinTypeAccelerators.Add("runspacefactory", typeof(
RunspaceFactory
));
engine\remoting\commands\EnterPSHostProcessCommand.cs (1)
240
RemoteRunspace remoteRunspace =
RunspaceFactory
.CreateRunspace(connectionInfo, this.Host, typeTable) as RemoteRunspace;
engine\remoting\commands\newrunspacecommand.cs (3)
1100
remoteRunspaces.Add(
RunspaceFactory
.CreateRunspace(connectionInfo: sshConnectionInfo,
1127
remoteRunspaces.Add(
RunspaceFactory
.CreateRunspace(connectionInfo: sshConnectionInfo,
1152
remoteRunspaces.Add(
RunspaceFactory
.CreateRunspace(connectionInfo: connectionInfo,
engine\remoting\commands\PSRemotingCmdlet.cs (3)
1467
var remoteRunspace =
RunspaceFactory
.CreateRunspace(sshConnectionInfo, Host, typeTable) as RemoteRunspace;
1491
var remoteRunspace =
RunspaceFactory
.CreateRunspace(sshConnectionInfo, this.Host, typeTable) as RemoteRunspace;
1564
remoteRunspace = (RemoteRunspace)
RunspaceFactory
.CreateRunspace(connectionInfo, this.Host,
engine\remoting\commands\PushRunspaceCommand.cs (2)
1090
RemoteRunspace remoteRunspace =
RunspaceFactory
.CreateRunspace(connectionInfo, host, typeTable) as RemoteRunspace;
1271
_tempRunspace =
RunspaceFactory
.CreateRunspace(sshConnectionInfo, this.Host, typeTable) as RemoteRunspace;
engine\remoting\commands\StartJob.cs (1)
666
RemoteRunspace remoteRunspace = (RemoteRunspace)
RunspaceFactory
.CreateRunspace(connectionInfo, this.Host,
engine\remoting\fanin\InitialSessionStateProvider.cs (1)
1721
Runspace.DefaultRunspace =
RunspaceFactory
.CreateRunspace();
engine\remoting\server\ServerRunspacePoolDriver.cs (3)
164
RunspacePool =
RunspaceFactory
.CreateRunspacePool(
2706
RunspaceFactory
.CreateRunspace(remoteHost) :
RunspaceFactory
.CreateRunspace();
engine\runtime\ScriptBlockToPowerShell.cs (1)
906
var rs =
RunspaceFactory
.CreateRunspace(InitialSessionState.Create());


The Increment method takes the name of a counter, adds 1 to the current value of the counter, and returns the counter's new value. If the counter doesn't exist, the method creates it and sets its value to 1.
Counters.Increment(CounterName)
Increment the value of a counter with <% Counters.Increment(CounterName)
%>
. Increment and display the value of a counter with <%=
Counters.Increment(CounterName) %>
.
To retrieve the value of a counter, use Counters.Get. To set a counter to a specific value, use Counters.Set.
The following code implements a one-line page-hit counter.
<P>There have been <%= Counters.Increment("hits") %> visits to this Web page. </P>
In this example, Counters.Increment increases the counter by one each time the client requests the page from the server.
Counters component


I laser cut a box, a glass jar and a book mark.
I cut the box 3 times and the first two failed. The first time was because I didn't hairlined the ouzzle outline so I couldn't take the pieces off. The second time I didn't set the triange thing right and the cutter was too shallow that I could barely see the cut. The third time was successful but I dropped the triangle thing inside the machine before that.
It turns out good, but it did not smell good.
I printed a glass jar using the rotary attachment for the laser. It went very well. I actually wanted to hairline the picture but the glass would definitely be broken.
I designed the bottle by the inspiration of the Lord of the Rings that I watched 10 times during mid-winter break. I combined the tree of Gondor and a Latin word "exerunt", which means "they lived". Because I hope those characters really lived.
The only disatisfaction is that the pattern is a little bit off-centered because the jar is not exactly a cylinder, but it's cool any way. I will put light bulb in the jar and make it to a lamp.
I made a leather bookmark for the third project.


Pegaesys is so easy to learn, trainees can produce marketable graphics within a week. Smart ones in a day. Say goodbye to the computer gurus who hang out in cyber space. Anybody can run Pegaesys, even the CEO.