text:
Who Moved My Elections?
Leave a Comment on Who Moved My Elections?
As of today, Hostel Elections for the academic year 2018-19 have not been notified by the Student Election Commission (the organization charged by the Students' Constitution to conduct elections) and it seems likely that hostel elections shall be conducted only in mid-August 2018. The potential ramifications of this move are numerous, and the manner in which the decision to postpone the elections was taken raises many important questions. Varun Sridhar, Venkataraman Ganesh, and Kaushik Viswanath report.
Who conducts the elections?
In 2015, the responsibility of conducting student elections in the institute was transferred from the Speaker of the Student Legislative Council (SLC) to a body called the Student Election Commission (SEC). A three-member student team was to conduct the elections under the guidance and support of the Chief Election Officer and the Deputy Election Officer, and after some confusion, the student members of the newly formed Student Ethics and Constitutional Commission (SECC) were given the mandate to conduct the elections under the banner of the Student Election Commission (SEC) starting from the 2017-18 academic year.
The members of the Student Election Commission (SEC) 2017-18 are:
Prof. Benny Raphael, Chief Election Officer (CEO)
Prof. Thyagaraj T, Deputy Election Officer (DEO)
The three student members of the Student Ethics and Constitutional Commission (SECC). As of today, the SECC has only one student member – YVV Aditya, (EP14). Reported lack of communication between the admin and SECC led to the two remaining posts remaining vacant for a considerable amount of time. Selections for the two posts have now been completed — one has been sent to the SLC for ratification, but the other candidate has reportedly been rejected by the Dean (Students) because the candidate is not a postgraduate student (reportedly to promote diversity, despite no such provision existing in the Students' Constitution).
An analogy: This is like a Saarang Core candidate's confirmation being blocked by the Dean (Students) despite having been selected by the CulSecs and Cultural Advisor because he doesn't happen to be a postgraduate student.
Why are the elections being postponed?
The system in insti till date: Until 2016, every student in a hostel at the time of elections had the right to vote in the elections in his/her hostel. However in an emergency meeting in 2017 chaired by the Dean (Students), and attended by the Chief Election Officer, Executive Council, SEC, and SLC legislators: the student representatives accepted the Dean (Students)' demand to exclude final year students from their hostels' electorates and include incoming 1st year students (from freshie hostels).
However, the proposal by the Dean (Students) to permanently postpone all hostel elections to the following odd semester was opposed by the student representatives. Finally, as a compromise, the student representatives agreed to postpone elections in seven hostels (three freshie hostels and four tower hostels) that expected to see the greatest flux in residents, on a one-off basis, given that it was promised that it will not become a permanent feature in hostel elections.
What is happening this year? Due to an admin delay in releasing the hostel re-allocation list for freshies and some PG batches, and the room crunch that insti is facing, the SEC postponed hostel elections to next semester, as the delays have led to unconfirmed electorates in many hostels.
The SEC was late in pushing the admin to finalise the allocation list as the SEC mistakenly thought that the Litsoc allocation list was the final hostel allocation list. Once they realized their error in mid-January, Prof. Benny, Prof. Thyagaraj and Aditya pressured the admin to share the final allocation list. The admin couldn't prepare the list by the deadline for the election notification, and so the notification was released without hostel elections.
At this time, we are not aware of the reasons for the administration's delay and when the final hostel allocation will be done. We are also not aware of the reason why the LitSoc allocation list (which was made after looking at room capacities) is not the final allocation list. We also don't know why the elections could not have been postponed by a few weeks, by which time the administration could come up with an allocation list. Furthermore, we do not know why the administration has not been able to prepare the list till date despite being informed about the need for the same more than a month ago. Given that the list was prepared last year on time, the delay in making the same this year is curious.
YVV Aditya told us that he and the SECC came to the current decision after considering many other ways to have elections that would minimise the disruption to institute activities.
Is this decision legal or democratic?
Prima facie, it does not appear as if this decision is constitutional. Concerns also exist about the manner in which this decision was taken.
1. Unconstitutional: The chapter on institute elections (Chapter 8, Section 5, Clause 18) in the latest version of the Constitution available on smail clearly states that elections to department, hostel and institute posts must be held simultaneously.
Chapter 8, Section 5, Clause 18 from the Students' Constitution
In November 2017, YVV Aditya (in consultation with the Chief Election Officer) proposed a list of amendments to the chapter on Elections, one of which was to delete this stipulation. The proposal, however, has not been accepted yet by the Student Legislative Council or the Board of Students, and this means that moving the elections at this time, more so without informing the GSB well in advance, is unconstitutional and illegal. It is clear that due process has not been followed by any of the student representatives or the administration when taking this decision.
2. Lack of transparency: Of the institute secretaries, only the Speaker, SGS and HAS were aware of the issue. The SGS and HAS are student members of the admin's hostel allocation committee. The CulSecs were informed only one week before the election announcement. The IAR Secretary, Sports Secretary, CoCAS, AAS, and RAS were never informed. In the SLC, a formal agenda point was never raised; the issue was discussed only informally. The GSB too was not informed or consulted about this decision – it came to light only when GSB members noticed that hostel elections were not notified.
The omission of notification, and not a communication about the same, was how half of the Executive Council, Hostel Councils and the General Student Body, came to know about this decision.
What are the implications of this decision?
This decision has important ramifications for student activities in the institute. Some of them are given below:
1. Impact on student and hostel activities: The earliest possible date for conducting hostel elections next semester is the 3rd week of August, according to a former member of the SEC. This being the case, actual work can start only after Quiz 1, around mid-September. This is a huge delay and affects hostel activities. While the current CulSecs have assured T5E that the Litsoc calendar will not be affected, it is evident from the regular dates of the GBM (in mid-August) that the GBMs will happen only post elections, delaying them by at least one month. During this time, the hostel will have to function without a budget, meaning that no funds can be allocated to important expenditures like washing machine repairs and water dispensers. While there are provisions to use hostel funds without a GBM, there are restrictions on how much money can be utilised pre-GBM.
2. Effect on work done during even semester: Students who currently hold hostel posts and wish to take up new positions next semester (example: contest in elections, positions in Saarang or Shaastra, semester exchanges etc.) will not be in a position to complete their tenures effectively. Practically, work at the hostel level will come to a stand-still by mid-March when current hostel secretaries' priorities justifiably move to new positions that they want to pursue. For example, a hostel secretary selected as a Saarang Core will most definitely not be in a position to concentrate on any hostel work in the summer and even semester. In addition, final year students who hold these posts (as is the case in many PG hostels) will not be able to complete their tenures.
3. Effect on the Student Legislative Council (SLC) and student activities: The SLC acts as a crucial check on the Executive Council and the SLC's opinion is considered the legitimate opinion of the GSB. The postponement of hostel elections affects SLC in a few ways:
a. Speaker, SLC Election: The Constitution clearly states that the Speaker shall be elected by the elected legislators (Chapter 3, Section 3, Clause 8). However, given that only a little over half the legislators comprising SLC will be elected in March (assuming no unanimous legislator candidate is rejected), the SLC cannot elect its Speaker till after the Hostel Elections are complete. Since campaigning time has to be provided, even if Hostel Elections are conducted by 20th of August, the earliest that the Speaker elections can be held is the last week of September.
b. Without a Speaker, the SLC cannot carry out any of its functions till October 2018.
This means that SLC shall start functioning effectively only from the first week of October – halfway into the odd semester.
This means that important functions of the SLC, such as the ratification of Core members and the T5E Executive Editor, passing of Executive Council budget etc. cannot happen in summer as is the norm. For example: in the event of a non-ratification, a selected Core team member can be blocked from continuing in his/her position in as late as October. It is detrimental to the fest and to the student to have all his/her work from April to October deemed invalid.
Postponement of the ratification of the T5E Executive Editor will have a considerable impact on T5E's freedom: The basis for non-ratification of a selected student is not clear in the Constitution when compared with the strict conditions for removal/impeachment of a ratified candidate. With a ratification vote now likely to happen only in September, the delay gives room for possible manipulation of the T5E ExecEd ratification vote. Essentially, this means that the selected Executive Editor cannot freely function in his/her role until October 2018, many months after being selected.
The SEC informed T5E that it has informally asked Nikhil Namburi, the current Speaker, if he could hold office till September 2018. The implications of this are many. If the current Speaker holds office in the summer, after the new SLC 2017-18 is elected in March, he will be convening an SLC that has not elected him to office and be exceeding the tenure for which he was elected, and hence should not hold any administrative powers. Moreover, the SEC does not have the authority to extend the tenure of an elected representative past his/her end-of-term.
Unsustainable model: Furthermore, even if we accept SEC's proposal at face value, this model is not sustainable over the years. A final year Speaker, if elected, will not be able to complete his/her tenure due to graduation. In such cases, for 5 whole months, SLC will necessarily be defunct. This proposal hence has the potential to erode the power and significance of SLC considerably.
c. Incoming 1st-year students' voting rights: There has not been any information if 1st-year students will have the right to vote in their freshie hostels' elections in August, after only a few weeks of their time in insti.
Given that the decision to push hostel elections is unconstitutional and affects a number of student activities adversely, it is surprising that the GSB has not heard from student representatives about the decision. The Student Legislative Council is yet to release a statement, and as far as we know, Hostel Councils have not sent mails to their electorates about the changes
Note from the Executive Editor: The above list is non-exhaustive; if readers would like to contribute to this discussion, please email T5E at [email protected]. We hope that the administration, SLC, and SECC provide clarification on how to resolve the above list of issues that insti will face next semester and the precedent this is setting for years to come.
21:30, 16th Feb: We've corrected the following line – "The SEC informed T5E that it has informally asked Nikhil Namburi, the current Speaker, to hold office till September 2018″ to "The SEC informed T5E that it has informally asked Nikhil Namburi, the current Speaker, if he could hold office till September 2018″. The error is regretted, and we thank Aditya for bringing it to our attention.
Mental Health in IIT Madras, Article 2: Psychiatrist Speaks
What Pain Is This: On-Duty Leave
Queen of Sheeba Results
Up in a Flurry: The Chaos Behind Natural Flight
Unraveling Uncertainty


I've decided to try putting together a concept I had for navigation. The idea was to have navigation buttons that appeared to come out from underneath another element. I wanted to try and combine a number of the CSS tips and tricks that are available into one well-implemented example.
The navigation on the site as of this writing uses the Sliding Doors technique. It works well and definitely adds something to the look of the site. But I want funk! So, time to funkify!
Using the Pixy 'No preload' rollovers technique, I've put together the first example.
The HTML is pretty straighforward. My opinion is that CSS should be practical and shouldn't require additional span and div tags to achieve the design you require.
The header 'bg' div is simply for applying the background in the example. The background could just as easily be applied to the body tag. There's a header div and a navigation div. Inside our navigation div we have our unordered list of items within our navigation. Finally, we have an empty div with a clear class which I'll get into later.
These are some initial styles that aren't really all that special. I've set the text to Arial for the page, set the background color in my 'bg' div to blue and set up my clear class. The clear class just removes any floats that may be going on. This class should be applied on the first object after your floated object to ensure the proper spacing.
The list is set to inline, the list markers are removed and each listed item is floated to the left so that the navigation appears left-to-right.
The links themselves do all the fun stuff! The margin is set to -10 to shift the navigation up. The position is set to relative to allow the navigation to actually "appear" under the header. If you do not set the position to relative, as you shift the margin up, it'll appear to cut off your navigation.
The background image is declared and its position set to 0. Foreground and background colours are set to match.
The width is set to show enough of the background with padding and text alignment set so that the text appears in a decent location on the button. The bold section at the bottom is the box model hack which is applied to allow the navigation to appear correctly in IE5 and 5.5.
We could pretty much leave it at that but where's the fun in that? I've decided to add :hover and :active states as well.
The hover state shifts the background so that the green button is now visible and appears slightly lower than before. The padding on top is adjusted to move the text down together with the button.
The active state maintains the same padding but the background is now shifted to show the orange button. The text colour is changed to provide enough contrast against the orange.
While this looks okay, it has some drawbacks. Number one of which is it's ability to handle more or larger text. It's a fixed background so as more text is added or if resized too big, it will no longer fit within the graphic. The trick would be to come up with a Sliding Doors technique that could allow for the shifting. In addition, since the text is at the bottom, if the text is resized, it'd be nice to have to resize up and to the left instead of down and to the left as it is currently.
This was tested on Windows 2000 in IE5, IE5.5, IE6, Firebird 0.7 and Opera 7.
As it turns out, Sliding Doors of CSS, Part II details how to accomplish the resize issue that I mentioned above. It works in IE, however, with extra span tags to accomplish the feat. Don't like the extra span tags? I think there's a way around it: behaviours.


Objective: Given an array of integer write an algorithm to find 3 elements that sum to a zero. In short a+b+c = 0.
Use 3 nested loops and find the 3 elements which sum to 0.
Use the other loop to fix the one element at a time, say its 'a'.
Use the other loop to fix the one element at a time.
Now required_sum is (with two elements) = -fixed element.
Create a HashSet, Iterate through rest of the array.
For current_element, remain_value = required_sum – current_element.
Check if remain_value in the HashSet, we have found our triplets else add current_element to the hashset.
249 queries in 0.986 seconds.


text:
The Republic Motor Truck Company was a manufacturer of commercial trucks circa 1913 - 1929, in Alma, Michigan. By 1918, it was recognized as the largest exclusive truck manufacturer in the world, and the maker of one out of every nine trucks on the roads in the United States. It was one of the major suppliers of "Liberty trucks" used by American troops during World War I.

History
The precursor to Republic Motor Truck Company was the Alma Manufacturing Company, founded by Frank Ruggles, which began producing trucks in 1913 for the Maxwell Motor Company under the Hercules name. Not long afterwards, Ruggles reorganized the company, first as the Alma Motor Truck Company and then (after changing the truck's name from Hercules to Republic) as the Republic Motor Truck Company .

The company got some early publicity from two firsthand accounts of cross-country trips using Republic trucks. One trip was taken by two men, Lester Poyer and H. L. Dewey, and their adventures were later published as a book, 4080 Mile Haul By Republic Dispatch Truck. This trip was later confused with one taken by the author Edgar Rice Burroughs (creator of Tarzan) and his family, whose adventures were chronicled in the pamphlet "An Auto-Biography" that was distributed by the company.

The company was already doing well by 1916, but the entry of the United States into World War I gave the company a further boost when it won one of the government's contracts to build several thousand of the so-called Liberty trucks. In 1917, Republic purchased a major supplier, Torbensen Axle Company.

By 1918, Republic was advertising in such national publications as the Saturday Evening Post, declaring that one goes to "Damascus for swords, Teheran [sic] for rugs, Lynn for shoes, Rochester for cameras, Dayton for cash registers, Alma for trucks." Over 3,000 dealers served the United States, with additional dealers in at least 56 foreign countries and colonies.

At the end of the war, Republic, which now had an annual capacity of 30,000 trucks a year, decided to expand and financed this expansion by issuing $3 million in gold notes. However, a postwar depression combined with the return of thousands of Liberty trucks to the United States led to a major reduction in demand for new trucks. Republic's output dropped to 1,453 in 1921. Selling Torbensen Axle in 1922 (later Eaton Axle and Spring, now Eaton Corporation) was insufficient to meet cash demands, and Republic was forced into receivership. After reorganization, the company attempted unsuccessfully to regain its former status as a preferred manufacturer, buying the Linn Manufacturing Company, makers of the heavy-duty Linn tractor, in 1927.

After the sudden death of its president, Oliver Hayes, in 1928, the company merged with the American LaFrance Company to become LaFrance-Republic. LaFrance-Republic in turn was purchased by the Sterling Motor Truck Company in 1932, which was purchased by the White Motor Company in 1951. A parts depot for Republic existed in Alma until 1957.

See also
 G-numbers (list of World War I trucks)
 Sterling Trucks

References and notes

Further reading
 Gabrick, Robert. Lost Truck Legends: An Illustrated History of Unique, Small-Scale Truck Builders. Hudson, Wisconsin: Enthusiast Books, 2012.
McMacken, David. Flash and fizzle : the rise and fall the Republic Motor Truck Company of Alma, Michigan. Michigan: Alma Public Library, 2011.

External links
 http://www.johncolemanburroughs.com/mag0/0030.html
 http://www.eaton.com/us/en-us/company/about-us/our-heritage.html
 https://web.archive.org/web/20081227112626/http://www.transchool.eustis.army.mil/Museum/LIBTrucks.htm

Defunct truck manufacturers of the United States
Defunct manufacturing companies based in Michigan

redpajama_set_name: RedPajamaWikipedia


text:
A Step-by-Step Guide on Writing an Obituary
by John L. Ziegenhein and Sons Funeral Home
Writing an obituary can be daunting. It's an exercise that requires a clear mind, which can be challenging when you're mourning. And while funeral homes in Arnold, MO, can always write one for you, many people prefer to compose the words of remembrance themselves.
To help you do that, here's a short guide on how to write an excellent obituary.
Collect The Key Facts
On a basic level, an obituary is a compilation of specific biographical facts about the deceased person. That is name, birthplace, age, location, cause of death (optional), and date of birth. Other facts worth adding include marriage information, career history, and achievements.
This collection of facts comes after a standard sentence announcing the passing. They provide a necessary context for the identity of the deceased in the obituary.
Describe The Person
By weaving in the collected facts in short sentences, paint a picture of the deceased's life. This section includes their personality, career achievements, passions, and contributions to their community.
Essentially, here is where you answer the questions: how would they want to be remembered, and how will those who knew them remember them?
Whatever tone you choose to strike while describing the person's life is up to you. It's okay if you want a more serious and traditional obituary that cuts straight to the point. But a bit of humor and playfulness is fine too.
There's no "right" way to write an obituary. The tone and style you use is up to you.
Include Surviving Family Members
A good obituary strikes a balance between the traditional and unconventional. In service of the former, include a section of the surviving family members and those whose death preceded your loved one's.
This doesn't mean you have to list every family member by name. Focus on listing important or closest relatives by name while you mention other members by title or group.
Sample: "His death was preceded by his father, Robert, and his mother, Janet. James was survived by his wife, Jessica; his three children: Charles, Lisa, David, and three grandchildren; his sister, Alice; two nieces and a nephew."
Share Funeral Information
To wrap up, provide the necessary information for those who wish to attend the funeral. This includes the date, time, and location of the service.
You can also include additional information that may be useful to those who want to pay their respects to the deceased. That includes dress code, donations, or flower preference.
This is the standard structure of an obituary, and it can be as long or short as you want it to be. But remember, local newspapers charge per line, word, or inch. Do your best to squeeze enough words in to fit your budget.
Also, don't hesitate to share your draft obituary with family members and close friends for different perspectives. Doing so can help you pick out mistakes.
Contact us if you need a funeral home in Arnold, MO, to help you write one and other aspects of the funeral. We understand this is a difficult time for you, and our team is here to lighten your burden.

redpajama_set_name: RedPajamaCommonCrawl


Be sure your spelling and grammar are correct. Spell Check won't catch every mistake, so ask a friend to review your cover letter and resume to check for accuracy. Some employers will screen out applicants if their cover letters or resumes have grammatical or spelling mistakes.
Your cover letter should have a professional tone and be specific to the job you're applying for. Research the company on the Internet. Explain how you can fill the employer's needs.
Keep the letter brief. Describe your qualifications and skills and state why you're a good match for the job. What value can you bring to a company? What do you know about the company?
Your resume is your ticket to getting an interview with a prospective employer. This document creates an opportunity to make a great impression on a hiring manager. It's a written record of your qualifications, work history, skills and education. It is critical that your resume be well-written, clear and concise while including all the necessary details.
Almost all employers use electronic applicant tracking software, so it's important that your resume is "scannable," regardless of how it's submitted. When submitting a resume to DeC 9 Career Management Service,apply online or email your resume as an MS Word attachment.
Use "concrete" key words and phrases to describe your job titles such as: Receptionist, Biologist, Case Clerk, Programmer, Manager, Law Librarian.
If you decide to include an "objective" section, make sure it's specifically targeted to the job you're applying for. It should not include vague statements like, "I'm seeking a position where my people skills can be utilized."It's better to say, "Seeking a bookkeeping job in a medium to large accounting firm." You might consider substituting a "qualifications" section under which you list items like, "excellent customer service skills," etc. Qualifications that match the specific job opening should be listed first.
Don't forget to include any volunteer work that you''ve done.
Before starting your job search, be sure that you've represented yourself professionally on any social or professional networking sites like LinkedIn, Facebook, etc. Potential employers frequently check these sources to aid them in forming an impression of a candidate.


text:
Çalıdağı is a village in the Bayramiç District of Çanakkale Province in Turkey. Its population is 85 (2021).

References

Villages in Bayramiç District


text:
Мария Андреевна Дмитриева (21.09.1923 — 05.10.1999) — ткачиха Киржачского шёлкового комбината, Владимирская область, Герой Социалистического Труда (09.06.1966).

Родилась 21 сентября 1923 года в селе Терское ныне Мичуринского района Тамбовской области, девичья фамилия Утешева.

В 1940 г. приехала в Киржач по приглашению старшего брата, который работал помощником мастера на Киржачском шелковом комбинате. Получила профессию ткачихи.

После начала войны добровольцем записалась в РККА, некоторое время служила в зенитной части, но потом её комиссовали по болезни. Вернулась в Киржач на прежнюю работу. Несмотря на то, что уже не была новичком в профессии, стала брать уроки у опытных ткачих.

За счёт изыскания внутренних резервов постоянно увеличивала выработку, ежегодно вырабатывая сверх плана тысячи метров шелковых тканей. Приходила в цех на 15-20 минут раньше, чтобы у сменщицы выявить особенности в работе каждого станка.

Указом Президиума Верховного Совета СССР от 9 июня 1966 года за выдающиеся заслуги в выполнении заданий семилетнего плана и достижение высоких технико-экономических показателей по производству тканей, трикотажу, обуви, швейных изделий и другой продукции легкой промышленности присвоено звание Героя Социалистического Труда с вручением ордена Ленина и золотой медали «Серп и Молот».

Делегат XXIII съезда КПСС (1966). Депутат Верховного Совета РСФСР 8-го созыва (1971—1975).

Перед выходом на пенсию работала инструктором производственного обучения в профтехучилище.

Жила в Киржаче. Умерла 5 октября 1999 года. Похоронена на городском кладбище.

Почетный гражданин Киржачского района (1978).

Награждена орденами Октябрьской Революции (05.04.1971), Отечественной войны 2-й степени (11.03.1985), медалями.

Источники
 http://www.warheroes.ru/hero/hero.asp?Hero_id=21188
 http://www.kirzhach33.com/publ/ludi/geroi/dmitrieva_marija_andreevna_tkachikha_shelkovogo_kombinata_geroj_socialisticheskogo_truda/6-1-0-42
 http://www.kirzhach.su/about/freeman/?base=&news=21
 Кротов, Сергей Алексеевич. Киржач [Текст] : Очерк истории. - Ярославль : Верх.-Волж. кн. изд-во, 1975. - 128 с. : ил.; 16 см.
 Наши знатные земляки [Текст] : сборник очерков о людях, жизнь и деятельнеость которых обогатили славную историю Киржачского края / Сергей Кротов. - Киржач : С. А. Кротов, 2014. - 104 с. : фот.; 20 см.; ISBN 978-5-9904769-4-3

Депутаты Верховного Совета РСФСР 8-го созыва
Делегаты XXII съезда КПСС


We will usually satisfy our respected shoppers with our superior good quality, fantastic selling price and good company due to we're a lot more expert and far more hard-working and do it in cost-effective way for Techno Pack Machines , techno pack machines , Stretch Packing Machine , We are wanting ahead to setting up cooperative associations along with you. Please call us for more information and facts.
We have now numerous great personnel members good at advertising, QC, and working with kinds of troublesome dilemma from the creation course of action for Techno Pack Machines , techno pack machines , Stretch Packing Machine , We are sincerely looking forward to cooperate with customers all over the world. We believe we can satisfy you. We also warmly welcome customers to visit our company and purchase our products.


Concentrate – in a specialized market niche, it's possible you'll keep away from competitors with giant companies. Stomp your competitor and concentrate on one services or products with other services and products beneath that essential umbrella. I can even see a few of you are not positive about the ideas I current. Certainly, too easy concepts are often seem silly. You may need to find extra acceptable" ideas from different websites… no worries, mate! Any business ideas from any reputable enterprise web sites are great, positively. What's vital is that this: Make sure that you're taking action on the concepts you have an interest in. No action, no reaction. That's the legislation of physics that also applies in business.
The first IBM system to include Intel´s 80386 chip, the corporate ships greater than 1 million units by the end of the first year. IBM released a new operating system, OS/2, at the same time, permitting the use of a mouse with IBM PCs for the primary time. Many credit score the PS/2 for making the three.5-inch floppy disk drive and video graphics array (VGA) customary for IBM computers. The system was IBM's response to shedding management of the LAPTOP market with the rise of widespread copying of the unique IBM PC design by clone" makers.


Moving can be overwhelming, as you juggle packing up your things and setting up home services in your new home. Movearoo can do the heavy lifting for you. You'll find moving guides and checklists, plus help discovering great deals on Internet and TV from the top home service companies in Bigelow. With Movearoo on your side, you'll keep more money in your wallet as well as save time and limit stress during your move.


On Monday, the producers of 2.0 revealed that the movie had already made Rs 400 crore worldwide.
The latest sci-fi movie by Shankar, sequel to the popular movie Enthiran, has taken the global box office by storm. Starring Rajinikanth and Akshay Kumar, 2.0 has been making waves at the Indian box office as well. The Hindi version of 2.0 has already collected Rs 111 crore, and is competing with the biggest Bollywood releases of the year.
Even though the collection of 2.0 in the Northern states is surprising, what is even more unexpected is the collection the movie has made in the international markets. To begin with, 2.0 had already made Rs 26.92 crore in USA alone. That is a great figure for a movie competing with Fantastic Beasts: The Crimes of Grindelwald, which is a Harry Potter franchise.
In UK too, 2.0 becomes the highest-grossing Tamil/Telugu movie. Shankar's 2.0 made Rs 4.46 crore in the opening weekend.
Similarly, in Australia, 2.0 became the first Tamil movie to make Australian $1 million.
According to trade analyst, Ramesh Bala, 2.0 is the highest-opening Indian movie of 2018 in international markets. It has overtaken Sanjay Leela Bhansali's Padmaavat, starring Deepika Padukone, Shahid Kapoor and Ranveer Singh.
On Monday, the producers of 2.0 revealed that the movie had already made Rs 400 crore worldwide. However, 2.0 still needs to withstand the weekdays. Sara Ali Khan's debut Kedarnath with Sushant Singh Rajput is scheduled to release in the coming weekend. Considering the amount of interest in Khan, Kedarnath is likely to give some tough competition to 2.0.
Shankar's 2.0 takes place in Chennai where cell phones are flying off people's hands and shelves. No one is quite sure how to locate them or where they are heading. Even the revered Dr Vaseegaran is confounded. Gradually things take a turn for the worse with people associated with cell phone business dying rather mysteriously and a monstrous, predatory bird attacking cell phone users. As such, only one thing can save them all - Chitti, making it imperative for the scientist to bring him back to life.


text:
module Globalize # :nodoc:
  class DbViewTranslator
    include Singleton

    # The maximum size of the cache in kilobytes.
    # This is just a rough estimate, the cache can grow bigger than this figure.
    attr_accessor :max_cache_size, :save_default

    attr_reader :cache_size, :cache_total_hits, :cache_total_queries

    attr_accessor :cache_monitor

    def fetch(key, language, default = nil, arg = nil, namespace = nil) # :nodoc:

      # use argument as pluralization number, if number
      num = arg.kind_of?(Numeric) ? arg : nil

      # if there's no translation, use default or original key
      real_default = default || key

      result = fetch_from_cache(key, language, real_default, num, namespace)
      if num
        return result.sub('%d', num.to_s)
      # following code inspired by Jürgen Feßlmeier, see:
      # http://www.nabble.com/Monkey-patch-td16830484s17045.html#a16830484 .
      # It doesn't work well with pluralization as stated by Sven Fuchs (
      # http://www.nabble.com/Re%3A-subsituting-multiple-strings-numbers-in-translated-strings-p9597407s17045.html )
      # but one can always refactor his translation keys, example:
      # "%s has %d dogs" / ['Nicola', 1]
      # becomes
      # "%s has %s" / ['Nicola', '%d dogs' / 1] .
      # If order of string substitution matters then use an Hash
      elsif arg.kind_of?(Array)
        # exploit Ruby built in format method
        return result % arg
      elsif arg.kind_of?(Hash)
        arg.each { |_key, value| result = result.gsub(/\%\{#{_key}\}/, value.to_s) }
        return result
      else
        return arg.nil? ? result : result.sub('%s', arg.to_s)
      end
    end

    def set(key, language, translations, zero_form = nil, namespace = nil) # :nodoc:
      raise ArgumentError, "No language set" if !language
      if translations.kind_of? Array
        translations = [ zero_form ] + translations
      else
        translations = [ zero_form, translations ]
      end

      idx = 0
      translations.each do |translation|
        set_pluralized(key, language, idx, translation, namespace)
        idx += 1
      end
    end

    def set_pluralized(key, language, idx, translation, namespace = nil)
      invalidate_cache(key, language, idx, namespace)
      ViewTranslation.transaction do
        old_tr = ViewTranslation.pick(key, language, idx, namespace)
        if old_tr
          old_tr.update_attribute(:text, translation)
        else
          ViewTranslation.create!(:tr_key => key,
            :language_id => language.id, :pluralization_index => idx,
            :text => translation, :namespace => namespace)
        end
      end
    end

    # Returns the number of items in the cache.
    def cache_count
      @cache.size
    end

    # Resets the cache and its statistics -- for testing.
    def cache_reset
      cache_clear
      @cache_total_hits = 0
      @cache_total_queries = 0
    end

    def cache_hit_ratio
      @cache_total_hits.to_f / @cache_total_queries.to_f
    end

    private
      def fetch_view_translation(key, language, idx, namespace = nil, real_default = nil)
        tr = nil
        ViewTranslation.transaction do
          tr = ViewTranslation.pick(key, language, idx, namespace)

          # fill in a nil record for missed translations report
          # do not report missing zero-forms -- they're optional
          if !tr && idx != 0
            if save_default
            tr = ViewTranslation.create!(:tr_key => key,
              :language_id => language.id, :pluralization_index => idx,
              :text => nil, :namespace => namespace, :default_text => real_default)
            else
            tr = ViewTranslation.create!(:tr_key => key,
              :language_id => language.id, :pluralization_index => idx,
              :text => nil, :namespace => namespace)
            end
          end
        end

        tr ? tr.text : nil
      end

      def cache_fetch(key, language, idx, namespace = nil)
        @cache_total_queries += 1
        _cache_key = cache_key(key, language, idx, namespace)
        @cache_total_hits += 1 if @cache.has_key?(_cache_key)
        @cache[_cache_key]
      end

      def cache_add(key, language, idx, translation, namespace = nil)
        if @cache_size > max_cache_size * 1024
          # useful to monitor cache usage
          @cache_monitor.on_full_cache(self) unless @cache_monitor.nil?
          cache_clear
        end
        size = key.size + (translation.nil? ? 0 : translation.size)
        @cache_size += size
        @cache[cache_key(key, language, idx, namespace)] = translation
      end

      def invalidate_cache(key, language, idx, namespace = nil)
        tr = @cache.delete(cache_key(key, language, idx, namespace))
        size = key.size + (tr.nil? ? 0 : tr.size)
        @cache_size -= size
      end

      def cache_key(key, language, idx, namespace = nil)
        [ key, language.code, idx, namespace].compact.join(':')
      end

      def cache_clear
        @cache.clear
        @cache_size = 0
      end

      def initialize
        @cache = {}
        @cache_size = 0
        @cache_total_hits = 0
        @cache_total_queries = 0

        # default cache size is 8mb
        @max_cache_size = 8192
        @save_default = false
      end

      def fetch_from_cache(key, language, real_default, num, namespace = nil)
        return real_default if language.nil?

        zero_form   = num == 0
        plural_idx  = language.plural_index(num)        # language-defined plural form
        zplural_idx = zero_form ? 0 : plural_idx # takes zero-form into account

        cached = cache_fetch(key, language, zplural_idx, namespace)
        if cached
          result = cached
        else
          result = fetch_view_translation(key, language, zplural_idx, namespace, real_default)

          # set to plural_form if no zero-form exists
          result ||= fetch_view_translation(key, language, plural_idx, namespace, real_default) if zero_form

          # cache default in case
          result ||= real_default

          cache_add(key, language, zplural_idx, result, namespace)
        end
        result
      end

  end
end

redpajama_set_name: RedPajamaGithub


Wall Street: Money Never Sleeps topped the weekend box office charts with a logy estimate of $19.5 million. The new batch of national releases generally underperformed based on tracking including second place Legend of the Guardians: The Owls of Ga Hoole, which hooted up $16.3 million.
Though The Town was clearly out-pacing its competition in advance ticket sales, tracking pundits pegged the latter day Ridgemont High antics of Easy A as the box office leader for the frame. Devil was expected to be very close behind the duo.
A trio of new national releases did little to bolster the overall picture with The American topping the charts with an estimated $13.1 million (all figures are for the 3-day portion of the holiday). It entered the weekend with an additional $3.1 million from a Wednesday pre-weekend launch.


text:
Archive for the 'Sample manipulation' Category
Sample Manipulation 4 – Databending
Categories: Sample manipulation and Software/MIDI
Tags: Sample Manipulation, Software
I started talking about manipulation of samples by describing The Black Widow, a PureData patch for controlling up to 4 samples using a flight simulator-type joystick control, and the Black Widow II, with improved features and an automatic mode. I also described two other applications by Karlheinz Essl and Kevin Holland (Sineqube) which work similarly, manipulating 4 samples in real time. The third post in the series described two applications which work in real time to manipulate a single, longer sample.
This post covers some non-real time methods of working on samples, often known as 'Databending'.
The basic idea of databending is very simple: open a sound file with an application it's not meant to be opened with, change the file in a semi-random way, then save it. When you play it again as a sound file, it will sound different from the way it sounded originally. Often quite a lot different. Some good advice on how to do this can be found at http://www.intelligentmachinery.net/?page_id=29.
First of all, what sort of files does it work on? I'd say you should always start by trying different formats of the same sound file – certainly an uncompressed format like aiff or wav, and a compressed format like mp3 or flac. There can be a big difference in the results. Once you've tried a particular technique on two or more formats, you might decide it generally works better on one of them, and then concentrate on that one; the next technique you try might work more effectively on another type.
Secondly, try some files with different musical content: one file with, say, fast percussive content, another with slow, sustained passages. A particular technique might suit one style, but not another.
Next, what 'other' applications could you try?
Text applications are always good. All files can be displayed as text, as you will have noticed if you've ever had occasion to read one – trying to open a pdf in Word by mistake, for example. It generally looks like gobbledygook most of the the way through, although there's occasionally a 'header' at the beginning with some readable stuff in it.
Sometimes, even the mere act of opening a sound file in a text program and immediately saving it can make significant changes to the way it sounds when you play it back again. Notepad in Windows or Text Edit on a Mac can be used in this way. Provided you save the file as 'text' and keep the extension (e.g. '.wav' or '.mp3') the same, you'll be able to play it back.
The first example shows this. The first extract is from the original sound file I used; the second extract is the file opened and saved in Notepad on a PC; the third extract is the file opened and saved in Wordpad.
Once you've got the file in a text editing application, however, there are many things you can do with it. I've tried the following and got some interesting results: changing all lower case letters to uppercase; changing all zeroes to 1's; changing 1's to zeroes; cutting and pasting text from other places into the middle of the file; and swapping bits of the file around. Occasionally you'll end up with a file that won't play at all, occasionally a file that sounds exactly the same as it did before – which is particularly disappointing – but usually you'll have changed something about it in a hopefully interesting way.
Incidentally, I normally use 'Save As . . .' rather than 'Save', and give the new file a name which reminds me what I've done to it. This has the double advantage of helping me to achieve the same effect again by working out what I did to the file, and ensuring that I don't lose an original which I might need again – either in its original form, or as the source for more experimentation.
Some of these files that you end up with can be rather unstable and may sound different depending on which application you choose to play them back in. So my next piece of advice would be to try some different applications to audition the results of your work – Windows Media Player, Audacity, VLC, Quicktime, and so on.
If you have a way of re-recording them as you play them, this would be good, as you can then save a stable file which will sound the same whenever you use it.
The second example illustrates this. The first extract is the original sound file I used; the second extract is this file after processing in BBEdit Lite, played back using Videolan VLC; the third extract is exactly the same BBEdit Lite file played back using Apple Quicktime, producing a significantly different result.
Both files were re-recorded to preserve these differences permanently, as described above. I use an excellent application called Wiretap Studio for this, but it isn't freeware. There are ways to do it without having to buy extra software – free applications like Soundflower (which I think only exists for Mac) or Jack will enable you to route the output of one application, which plays the sound file, to the input of another (like Audacity, for example), which records it.
Another, less obvious, way to 'bend' sound file data is to open the file in a picture editor like Photoshop, apply an effect and save the file.
This is slightly more complicated; I don't know about other applications, but Photoshop won't recognise sound files as pictures, so you have to do a couple of things to persuade the application to try opening it.
First of all, make sure to choose 'All Documents' (as opposed to 'All Readable Documents') from the 'Enable' list. This makes all files, even sound files, potentially openable.
In my experience the 'Format' option was greyed out, but make sure it shows 'Raw' to enable a dialogue box like this to open up:
Clicking 'OK' should enable Photoshop to open the sound file, and give you a visual representation of it. It'll look something like this:
If it doesn't open and you get the dialogue box at the top of the following picture – which happened to me a lot – reduce the numbers indicated until you get the dialogue box at the bottom, then it will open.
After that, you can apply some effects to the file, then save it. As mentioned above, I would keep the suffix – usually .aif or .mp3 – the same, but change the file name to reflect the process it had been subjected to. I had some success with Gaussian Blur, Noise and Despeckle, but any one of the many effects could do something to the sound.
The first example here shows the original sound file; this file with a Gaussian Blur filter applied; then this file with a Despeckle filter applied.
The second example shows an original .aif file with a Noise filter applied; and an original .mp3 file with a Noise filter applied, to show the different effect an identical filter may have on a sample which was identical in every way except the file format.
If you have problems opening a sound file saved by a graphics application such as Photoshop, the free Audacity can probably help. Even if you get the dialogue box shown at the top of the following picture, you can still use 'Import'/'Raw Data…' to open the file, and then save it in the format of your choice.
Using the above methods you should be able to make some random, unpredictable and interesting changes to your sound files.
Sample Manipulation 3
Categories: Sample manipulation
In an earlier post in this series I passed comment on the program 'REplay PLAYer', mentioning its creator, Karlheinz Essl, and describing it as ' a multi-featured program for manipulating a single sound sample'.
I was talking in that post about programs suitable for manipulating a group of four short samples, so I didn't go into 'REplay PLAYer' in more detail. However, I thought it would be worth adding a post on programs for manipulating a single longer sample.
'REplay PLAYer' is my favourite of these – it costs a bit to buy it, but I've found it very useful in the past, and it has a couple of features which make it particularly versatile in use.
It's described on its webpage, http://www.essl.at/works/replay.html, as a 'generative sound file shredder . . . based on the paradigms of granular synthesis. The program de-constructs a given sound file and re-composes it by using realtime composition algorithms [and] can be used as a tool to generate an infinite and every-changing sonic stream from a single sound file for artistical, compositional or mere recreational purposes. It can also be regarded as a computer based instrument for live performances, as an interactive sound installation or a generator for ambient music.'
The following screenshot indicates some of the program's important features:
First of all, the sound file of your choice can be imported into the program, via the 'Shredder' menu, and settings can be adjusted affecting changes to the samples' volume, pitch, EQ, panning and stereo spread which are automatically made, tailoring the way in which the file is 'shredded'.
Better still, three of your favourite VST or Audio Unit plug-ins can be imported and used alongside the built-in effects – the picture shows two that I often use, brainworx bs_solo (Stereo imaging) and GSi TimeVerb (Reverb).
In this way you can allow your sample to run while small or large changes are made to it. At any time you can change, for example, the range of pitch, volume or panning variations, turn them off or set them to move randomly from one value to another.
In addition to this, what makes 'REplay PLAYer' – as described – a 'computer based instrument for live performances' is the ability to control a number of the parameters in real time via MIDI.
I didn't feel I needed to control all the possible features, but programmed my trusty Korg NanoKontrol to alter Volume, EQ, crossfade, glissando (i.e. pitch) and the amount of signal sent to the three plug-ins. All knobs and sliders had to be set to CC#7; the following parameters could be set by assigning the knobs and sliders to the following MIDI channels:
Channel 1: granularity
Channel 2: density
Channel 3: glissando
Channel 4: minimum pitch
Channel 5: maximum pitch
Channel 6: crossfade between original and shredded sound
Channel 7: volume range
Channel 8: mix into plug-in 1
Channel 10: mix into plug-in 3
Channel 11: EQ low
Channel 12: EQ mid
Channel 13: EQ high
Channel 14: panning
Channel 15: spread
As the Menu suggests, 'REplay PLAYer' will also record the results of its work to a file (aiff, ulaw, wav or raw data) on your hard drive. It's important to note that the program is set to start or stop working in the 'Shredder' menu, and recording is set to start or stop separately in the 'Record' menu; audio is turned on or off in the 'Audio Status' window.
This is a recent track created using REplay PLAYer, and a picture of my set-up in action:
Another program I've used on occasions for manipulation of a single file is 'Metamix'. This program gives the user less control than 'REplay PLAYer' – a deliberate choice on the part of the designer, Jason Freeman – but works well with some sound files.
As described here: http://www.generativeart.com/on/cic/papersGA2003/b16.htm, the way 'Metamix' works is that a 'simple generative process remixes an audio track, using an infinite integer sequence to reorder and layer chunks of the original audio . . . The program includes twelve such sequences, chosen from Sloane's exhaustive collection, The On-Line Encylopedia of Integer Sequences.'
These three screenshots of 'Metamix's control windows shows the elements you can choose – the twelve number sequences are given names, as can be seen, such as 'Wide Exponential Slow', 'Up and Down' and (my favourite) 'Joy Ride'.
As the document above explains, 'To remix the audio track based on an integer sequence, the software first marks the audio track at equal-length time intervals and labels those markers with the natural numbers. Each time it obtains the next number in the integer sequence, it begins audio playback at the correspondingly-numbered marker.
'When a new number from the integer sequence triggers audio playback at a marker, one or more previous layers of audio playback may continue uninterrupted. This layering renders the discrete generative process in a smoother, more fluid manner. To further this effect, MetaMix also gradually fades each playback layer in and out over the course of its lifespan, creating gradual crossfades between old and new playback layers.'
In other words, 'Metamix' can create quite a dense sound, with short, overlapping sequences, or a more spacious sound with longer extracts from the original source file.
The following example is typical of the way I've used Metamix. At the beginning is a short extract from an existing piece, beginning with assembled street sounds and continuing with a repeating marimba theme. Other instruments were omitted from the old piece in creating the new one. This is followed by an extract from the new piece, after the old one has been worked on by Metamix:
I haven't yet attempted to produce a Pure Data patch which will work on a single file in these ways. If I do, you can be sure I'll be writing about it here!
UCreate Music, Part 3 – the software
By andymurkin 10 Comments
In Part 2 of this series I dealt with the UCreate hardware. Now we come to the software.
The issue of the UCreate software is a contentious one, as the software to allow users to swap around the sounds and effects in their UCreate could only be used by connecting to the UCreate website; but after a couple of years Mattel took down the website and it was no longer possible to do this.
There is a long and very interesting discussion on the subject – from which many of the ideas below originate – at http://nomeist.com/ucreate-music/199.
The way it originally worked was this: the first time you plugged in your UCreate it automatically connected to the website, and downloaded a program, which – on the Mac at least, looked like this:
This confirmed that your device was connected, and gave you the Firmware version (I think version 9 was the last one) and the individual number of your device. Each time you plugged in your UCreate and opened the program, this is what you would see. As the instruction at the top suggests, if you rested your cursor on various parts of the picture, you were given an explanation of the function of the various controls, for example:
However, more importantly, if you clicked the tab on the right, 'Music portal', you were able to log onto the website:
As you can't do this now, I've had to rely on an old screenshot from a Windows PC. I don't have any screenshots of what you would find when you got there, and even the Wayback Machine only shows a background image, presumably because the site operated via a Flash app; but you were able to download some alternative sounds directly to the UCreate device, and move the effects around. What users anticipated was, as time went on, more sounds and new effects would appear, perhaps even a community of users sharing their own creations.
Instead, the site was closed, and you now see only this:
Not only was access to the existing sounds and effects withdrawn, but, worse still, also the means of loading them into the UCreate devices; and everyone who used one was stuck with whatever sounds they currently had installed.
For most, this was the original sounds the UCreate came with, or one of the extra packs that had been available on the website. I had the extra packs, but couldn't use them because there was no separate software available to install them on the machine.
Some astute users had observed that the downloading process occurred in two parts: first the sounds were downloaded from the website to the host computer; then they were transferred from the computer to the UCreate. The time-lag between these two operations allowed their own sound files, suitably renamed to match those being downloaded, to be quickly substituted between downloading and transferring. The timing of this was crucial, and could be a bit hit-and-miss, so one proficient user, 'scragz', even wrote a routine for Macs that automated the task (https://github.com/scragz/ucreate-loader); but if these were still in the machine when the site was taken down, these were the sounds you were left with.
The following article describes how samples can now be loaded into the UCreate, and furthermore how you can create and use your own samples in the device.
First of all, I should say that this isn't entirely straightforward, but there are basically 3 steps to getting your UCreate to accept new sounds. These are:
Step 1. Get your computer to recognise your UCreate device;
Step 2. Create the right kind of sound files for the device to use; and
Step 3. Load the sounds into the device.
Fortunately, there is now a step by step video tutorial on YouTube at https://www.youtube.com/watchv=Ehh1fn6D2Lk&list=PLJSvyfpaaK7ESfsIWcdwDMCS-YhIw1xc4 which tells you exactly how to do it. This was made by Krimzon Ninja, who's done some marvellous work in sorting this problem out, following on from a user by the name of 'marbs' who created a program a couple of years ago (http://marbs-online.blogspot.co.uk/) which he called 'u-load'.
[Edit: the YouTube link no longer works. You can download Krimzon Ninja's tutorial here]
Part 1 of the tutorial lists the programs required, and setting up the folders you need on the computer.
Part 2 describes how to get your computer to recognise the UCreate.
Following the instructions in the videos is the best way to do it, but these are my original notes from the first version of this article, which may help:
Step 1. Getting the computer to recognise your UCreate device.
If you just plug your UCreate into the computer and run u-load, you'll get this:
which is no help at all. What you need to do is install a USB driver to communicate with the device.
The way to do this is as follows:
a. Download the driver installer program 'Zadig' from here: http://zadig.akeo.ie/ (choose a version according to whether you're using XP, Vista or Windows 7), and unzip it with a program such as '7-Zip'.
[Edit: Now, what I've been told is that not every version of Zadig will do. There are different versions for XP and Vista or later. I used this one: http://sourceforge.net/projects/libwdi/files/zadig/zadig_v1.1.1.137.7z/download which worked fine].
b. Start Zadig, go to the 'Options' menu, and select 'List All devices'. marbs' instructions said 'choose GENERALPLUS-MSDC from the drop-down list'. I didn't have this on the list, so I used the 'Edit' function to rename the one item that was there – I don't know if this was necessary or not, but as there was only one file in the list, and only one USB device plugged in – the UCreate – I knew it must be the right one. Just make sure you identify the correct device or terrible things might happen!
c. Then click the 'Install Driver' button.
This picture shows the Zadig window, with the 4 actions to take:
1) Choose 'List All Devices' from the 'Options' menu.
2) Only one item appeared on the list, which is the long box partly hidden under the drop down menu. Probably a good idea anyway to make sure the UCreate is the only USB device connected, to avoid confusion. I checked the 'Edit Name' box so I could rename it 'GENERALPLUS-MSDC'.
3) Actually, I can't remember what was selected here. I didn't change what it already said, which is probably what is showing here.
4) Clicking this button starts the installation.
d. The installation wasn't instant: it took a couple of minutes, and some messages came up about restarting devices. I switched the UCreate off, restarted the computer, switched the UCreate back on, and started u-load.
This time I got the following message:
which was a whole lot better, indicating that u-load now recognised the UCreate, and was ready to load sounds and effects into it.
You only have to do this once, then your device is set up.
One final thing: I think it only fair to point out what marbs says at the end of the README file: 'To use the original application delivered with your ucreate, you have to deinstall the [USB] driver in the device manager.'
In other words, you won't be able to use the UCreate's original software now, unless you can do this deinstall. I'm not sure whether Zadig does this or not; but I believe it's designed not to remove existing drivers, so it would be possible, I presume, to restore the UCreate to its original state with this or with the Windows Device Manager. It's a moot point whether it would worth doing it, of course, since the website on which the original software depends no longer exists.
(Doing this on the Windows computer, incidentally, didn't stop the original software from running on the Mac when I later connected the UCreate to that).
This is what you see when you press 1, then ENTER for 'Help':
This tells you exactly what u-load can do: 'Make' = group your sound files together into a big file which can be used by the UCreate; 'Write' = load these file groups onto the UCreate.
Step 2. You need to create some sound files of the type that u-load and the UCreate can use (with the extension '.lop').
Part 3 of the tutorial video describes how to create your own samples with the program Audacity.
Part 4 shows how to convert your samples to the format used by the UCreate with the programs Lopgen_a – Lopgen_e.
The 5 Lopgen programs can be downloaded from: https://drive.google.com/file/d/0B_ZkjKZUhAHQbWVsSWhuZXBFOFE/view?pli=1
There are some restrictions on the samples you create – principally making sure the files are not more than 5 seconds long. There were reports in the past of some UCreate devices being irreparably damaged by not doing this.
The Lopgen programs don't require the UCreate to be plugged in, they just work on sound files stored in a particular location on your computer.
All you have to do is create '.wav' sound files with the correct attributes, and then have LopGenerator turn them into files the UCreate can recognise.
Edit the files in Audacity, to ensure:
a. they're mono and 5 seconds long:
b. The project rate is 8000:
c. They're saved as 'Other uncompressed files' and, by clicking 'Options', the header is set to 'WAV (Microsoft)' and they're encoded as 'Unsigned 8 bit PCM'.
d. Finally, you need to remove all Metadata before saving the file.
Once the file or files are done, copy them to the folder with the appropriate version of Lopgen in it, and run Lopgen.
Step 3: The final step is to load the sound files into the UCreate.
Part 5 of the tutorial video shows how to do this using the program 'u-load'.
To do this, you'll be typing 2, then ENTER ('Make SamplePackage', as the Help screen tells you), which will create a file which you can load onto the UCreate with a 'Write' command.
But first, you need to rename the sound files you created, and put them in particular directories. There are 12 buttons on the UCreate for sound files – not including the two at the bottom for your own recordings – so u-load will be expecting to see 12 files with the names 'sample_0.lop', 'sample_1.lop', 'sample_2.lop', etc., up to 'sample_11.lop'.
So, find the 12 sounds you want to load, rename them like this, and put them in a folder called 'Samples'.
Type 2, then ENTER, and u-load will ask you to give a name for the file it's going to create from your samples. Type in the name, press ENTER, and it will gather the 12 samples together and create the file.
I wasn't sure whether the file required the extension '.upload' or not, so I created one with and one without. The first screengrab shows the name 'Beats' being entered, then ENTER:
At this point, I had to close u-load, switch the UCreate off and on again, and reopen u-load.
Type 4, then ENTER ('Write SamplePackage'): u-load will ask you which file to upload. Give it the name of the file you just asked it to create, it will load the samples onto the UCreate, and you're ready to go!
To add files to the two spaces originally used on the UCreate for your own recordings, create .lop files as above, and put them in a folder called 'Recordings'. They can be loaded into the two special spaces by typing 5, then ENTER ('Write RecordPackage'). u-load will ask you for the name of the first file to load: tell it the name, and press ENTER. It will then ask you for the name of the second file: give it that, too, press ENTER, and the two files will be loaded onto the UCreate.
[Particular thanks to KrimzonNinja. He acknowledges his influences at the end of the video tutorial].
UCreate Music, Part 2
Categories: Modification and Sample manipulation
In my first post on the Radica/Mattel UCreate, I mentioned adding In/Out connectors to enable the UCreate to be operated by external controls – e.g. joysticks – or the UCreate Button to be used to control other devices.
This post describes two of my devices which I modified for this purpose: the StyloSim and the Black Widow.
The StyloSim is a two-joystick controller, used for simple flight simulation games. It has two medium-sized joysticks, which are very nice to operate, but no buttons. Examining the controls using the [hid] object in PureData suggested that the chip it uses would support the use of buttons, but this function is not implemented.
The essential task, then, with the StyloSim was to add two DB9 connectors, matching the connectors on the UCreate, so the UCreate's effects could be controlled by the StyloSim, and whatever the StyloSim was used to control (at the moment, just one PureData program I'd written to add volume, filter and panning effects to an audio input) could also be controlled by the UCreate Button.
I checked to see that the 'high' and 'low' ends of the potentiometers in the StyloSim were both the same: they would have to be connected together to control the UCreate, but would also have to be left in a state where they correctly controlled the StyloSim chip. They were connected, so I snipped the 6 wires between the circuit board and the potentiometers of the right-hand joystick (which I called 'VR1′ and'VR2').
The wires from the potentiometers were connected to the 'Out' socket, and the wires from the circuit board were connected to the identical pins of the 'In socket'. In this way, whatever else I connected, a DB9 lead connecting these two sockets would allow the StyloSim to function as normal.
In fact, I had another addition to make: the potentiometers would have no effect unless the UCreate 'Hold' switch was on. As with the UCreate itself, I added a 3 way toggle switch, centre off, momentary in one direction, latching in the other, and connected this to the appropriate pins on the DB9 'Out' socket.
These connections were enough to ensure that, with the use of DB9 leads, the StyloSim could control the UCreate effects, and that the UCreate Button – which had only one joystick – could control at least some of the things the StyloSim could control.
However, the UCreate also now had a 'Volume Pedal' output, which just required a potentiometer connected via a 3.5mm stereo socket. As I had two more potentiometers available in the StyloSim, I connected one of these to a switched socket. I used 'VR4', the up/down potentiometer of the left-hand joystick, as this was set not to return to centre when released, so would be very suitable for setting a volume level and then leaving it. When nothing was plugged in, the joystick would remain connected to the circuit board inside the StyloSim; when a lead was plugged in, it would control the UCreate volume.
(In practice, unlike the volume pedal, the joystick – because of its limited travel, presumably – didn't take the volume right down to zero, so was less effective than the pedal, but useful as long as complete silence wasn't required).
I also made two more modifications, which weren't strictly necessary, but which were not too difficult and, I felt, enhanced the design.
First of all, I chopped off the USB lead and added a socket instead. This is only because I find it annoying to have fixed leads hanging off devices – it makes them awkward to carry about and store away. Sometimes USB leads are small and fiddly, but at least they're colour-coded.
(There is some variation in exactly which colours are used, however. There's supposed to be a convention, but as you can imagine, manufacturers find plenty of opportunity to use colour combinations of their own. Those who are colour-blind – like me – have to be especially careful, but more often than not you can work out which lead is which. Looking into a socket from the outside, 1, on the left-hand side, is +5v, and should have a red or orange wire connected to it; 2 is 'Data -', and has a white or sometimes a yellow/gold wire; 3 is 'Data +' and has a green or sometimes grey wire; and 4 is Ground, with a Black or sometimes Blue or Brown wire. I have come across other combinations, unfortunately, of which those using white or yellow for ground are the most annoying. Often there are 5 wires, with an extra connection – frequently black – for the shield around the cables.
Looking into a plug, 4 is on the left-hand side and 1 is on the right.
I've mentioned before that I shouldn't be using Type A sockets as the output of a device that's being connected into a Type A socket – on, for example, a computer. I should be using a Type B or mini USB socket; but this rule is to avoid connecting two devices together that both supply power, which might cause excess currents and start fires, and this isn't going to happen with the devices I'm using – the StyloSim, for example, receives 5V from the computer, but doesn't provide power of its own).
Finally, partly as an indicator that the connection with the UCreate had been properly made, partly because flashing lights are always good, I also added blue and red LEDs to the front of the StyloSim, and connected these to the relevant pins on the 'Out' socket. These flash in time with the rhythm of the sounds from the UCreate, when the 'Hold' switch is on, so you can tell if the UCreate is ready to receive instructions.
These pictures show the new additions to the circuitry:
and this one shows the StyloSim in operation, controlling the UCreate, with the DB9 and 3.5mm connectors in place, the volume set fairly low, the 'Hold' switch on, and the LEDs flashing:
Essentially, I did exactly the same to the Black Widow. The big joystick on the right-hand side was connected to the DB9 'Out' socket, and the 'throttle' on the left-hand side to the 3.5mm volume socket.
In this case, however, there were buttons available, so I was able to use the 'F4' button on the top of the joystick as a momentary 'Hold'; for a latching Hold, I added an SPST switch at the bottom of the front panel, plus the two LEDs, which are illuminated when either Hold switch is activated.
And this is the rear of the instrument – not that neat, but it all works:
As for the UCreate itself, I made three further changes – but these were more additions, rather than modifications:
1. External power supply. I was pretty certain the UCreate would work with a 5v supply, and was about to use an old mobile phone charger for this purpose; but while I was looking through things I had lying about, I found a better quality one which I'd been given and which was rated at 5.5v, 350mA. I replaced the connector with a 3.5mm mono plug to match the socket I'd installed in the UCreate, and it seemed to work perfectly, cutting out the battery supply when plugged in, and powering the device.
2. Switch box. It occurred to me that there might be occasions when, if I was using the Black Widow and the UCreate at the same time, it might be handy to be able to swap the joysticks quickly from controlling one thing to another, and a way of switching the DB9 leads from one device to the other would be useful.
I was looking into buying a DB9 switch box, which would have been about £5 – £6, but in the end I decided to be stingy and bought three DB9/DB25 adapters for about £4, as I found an unused two-way DB25 switch box amongst my stuff. I had bought this for an as-yet-unrealised MIDI project: as this will probably remain unrealised for some while, I thought I might as well use it in the meantime.
I did find a diagram on the internet to show how the DB9 pins were, according to the RS232 standard, allocated to pins on the DB25 connector, but it doesn't really matter, as all 3 connections (in/out, A and B) will be the same.
The Black Widow 'Out' is connected to the 'In/Out' socket on the switch box; 'Out A' is connected back to the Black Widow 'In' socket; 'Out B' is connected to the 'In' socket of the UCreate.
3. Feedback circuit. As the UCreate has input and output sockets next to one another on the back, I thought a circuit that connected part of the output signal back into the input, in conjunction with some of the effects – for example, the filter or flanger – could potentially produce some interesting sounds. Having just finished the modifications described in my first post and put everything back together, I decided to do this externally, so added two 3.5mm splitters to the line in and out, and connected them with a lead containing a volume control:
This allows some feedback sounds to be added to the linked samples or to sounds at the line or mic in sockets, and the amount can be limited by the volume control.
In Part 3 of the series, I look at the UCreate software.
Tags: Modification
This post concerns a very interesting device which was made a few years ago by Radica, a Mattel company. It was manufactured for a very short time between 2009 and 2010, and supported only until 2011, but examples still appear on eBay, sometimes for very reasonable prices. I got mine for less than £10, which I thought was pretty good for a comparatively sophisticated machine.
The way it works is by playing loops, which you can choose from its memory – one each from 4 banks of 3 loops, in the categories 'Back Beats', 'Riffs', 'Licks' and 'Runs' – and apply effects to. You can also record two of your own samples to add into the mix.
This is how you would normally use it (ignore the toggle switch and sockets on the left-hand side: this and other modifications I made are described later):
There are two reasons why the UCreate captured the imagination of electronic music-makers. First of all, you could connect it to your home computer via a USB socket on the back and make use of software that would allow you to save recordings of songs, reorganise the loops and effects and download new loops from Mattel's UCreate website. I'll return to this topic later.
The second thing was the range of 8 special effects, and the fact that these are available not only to the loops played back by the UCreate, but also to any audio source connected to the Mic or Line in sockets. The effects – referred to as 'FX and Filters' – comprise Tremolo, Distortion, Flanger, Phaser and Echo, a variable low-pass filter, and two unique and unusual effects called Forward/Reverse Looper and Rewind Spin Looper. These work by recording very short samples and replaying them in various ways controlled by the user.
The way the effects are controlled is also highly unusual: a large Button on the front panel can be pushed and tilted left/right and up/down to vary two parameters of the effect – for example left/right controls the speed of the flanger, up/down controls the depth. If you find a setting you want to leave for a while, a 'Hold' button fixes it where you've set it until 'Hold' is pressed again. The fact that the whole Button is lit up when in use with flashing blue LEDs is just the icing on the cake.
Leaving aside the loop playback feature for the moment, this effectively makes the UCreate an inexpensive, but versatile multi-effects unit, playable in real time. Although only one of the effects is available at a time, the Forward/Reverse Looper and Rewind Spin Looper in particular, together with the ability to control these in real time with the Big Button, makes the UCreate a useful and unconventional device to have.
I began by using the UCreate in this way, making just a couple of small modifications to it.
First, I added a socket for an external power source; then, as I had done with a number of my other instruments, I added banana sockets for connecting a larger external 8ohm speaker and a DPDT switch to cut out the internal speaker when this is in use. There is a headphone/external speaker socket on the back of the Ucreate (which also cuts out the internal speaker when a plug is inserted), but this is a 3.5mm stereo socket, as you would find on a PC or mp3 player and is more suitable for use as a Line out.
These are the audio and USB sockets on the back of the device:
Next, imagining a situation when both hands might be occupied in operating the loops and effects and not able to control the volume, I added a socket for an external volume pedal. This was a 3.5mm stereo socket with internal switches, like the Line out socket. I used a small size socket purely because of the lack of space inside the case.
On the small circuit board attached to the on/off/volume control, I broke the connection to the centre of the volume potentiometer and rewired it to the socket so that when nothing was plugged into it, it was connected directly to the main Ucreate circuit board, as originally designed; when the volume pedal was plugged in, the potentiometer in the volume pedal was added into the circuit. This would enable the maximum volume to be set by the original volume control and the pedal to move between this and zero volume.
The pedal itself was simply a cheap second-hand Bespeco volume pedal. I removed the original sockets and the circuit board inside and connected the potentiometer to a 3.5mm socket, wired in a similar way to the socket inside the Ucreate. The tip was connected to the input from the Ucreate and the 'high' end of the potentiometer in the pedal, the sleeve to Ground and the 'low' end of the potentiometer, and the ring to the potentiometer wiper, the centre tag. (I should have built this before, as it would have been useful with many of the instruments I had made or modified, and I'll have to consider retro-fitting sockets to them so it can be used).
I then decided to take a closer look at the big control Button. I tried dismantling the mechanism, but couldn't seem to get it completely apart. This may have been because it was pressed or glued together after the circuit board was wired in, and I wasn't going to risk breaking it by trying to prise it apart if it wasn't meant to do that.
However, I got it apart far enough to see that it used a joystick for the left and right and up down movement. This was mounted on a small PCB, and on the bottom of the PCB there were three momentary switches, set out in a triangle. These were like the ones you often get on game controllers: they're soft and squishy, and when you press them they join two contacts on the PCB; when you take your finger off, they spring back into shape and the connection is broken.
All three switches were connected the same, and later experimentation showed that they had exactly the same function as the 'Hold' button, except they were momentary instead of latching.
This gave me two thoughts: first of all, with essentially a joystick and a momentary switch under it, it would be possible to use the UCreate's Big Button to control another instrument or effect that normally used a joystick or two separate potentiometers; and secondly, there was no reason why the UCreate couldn't be controlled by two potentiometers or an external joystick.
The way to do this would be to put the Button back and separate the connection between the UCreate's main PCB and the Button PCB, and then route these connections elsewhere.
The link was made with a 9 way ribbon cable; the names of these 9 connections were printed on the main PCB, and even where this didn't mean a lot, it was easy to follow the the tracks on the Button PCB and see what their functions were. So I cut the cable.
From top to bottom, the connections were:
VCC_33 – which connected to one side of all three switches
IOA15 – connected to the other side of the three switches
GND_ADCVCC33 – connected to one end of the two joystick potentiometers (the 'low' end, presumably)
LINE 3 – the centre tag of one of the potentiometers (the 'up/down' one, which I called 'Pot 2')
ADCPVCC33 – the other end ('high' end) of both potentiometers
LINE 2 – the centre tag of the other ('left/right') potentimeter which I called 'Pot 1'
R154_1 – one side of one of pair of surface-mounted blue LEDs on the Button PCB
R68_1 – one side of the other LED
V BAT – the other side of both LEDs (+6v, presumably)
Essentially what I did was to connect the end of the ribbon cable that came from the main PCB directly to a DB9 connector on the back on the case. This was marked 'In'. The other end of the ribbon cable, the one from the Button PCB, was connected to another DB9 connector, marked 'Out'.
In this way, if you wanted to control the UCreate from another device – a larger joystick, perhaps – all you would need to do was connect it to the DB9 'In' socket; if you wanted to control another device with the Big Button, you would connect the other device to the DB9 'Out' socket; and to use the UCreate as normal, just connect the two sockets together with a DB9 cable.
In order to make space for the DB9 sockets, which are quite big, I had to remove part of the bottom half of the case, which stuck up inside:
I think this was probably a carrying handle, but I didn't think I needed it, so I sawed it off and created a lot more space in the back of the case.
In fact, I didn't connect the Button directly to the 'Out' socket. Although the Button works brilliantly well for the Reverse and Rewind 'stuttering' or 'scratching' effects, there was a lack of precision when it came to such things as the filter cut-off frequency, speed and depth of flanging, and so forth. Apart from anything else, joysticks don't usually use much of the possible travel of an ordinary potentiometer, so there was also a restricted range over which the Button was operating.
So I decide to squeeze a couple of potentiometers into the case, which would be selectable in place of the Button. The two connections for the centre tags of the potentiometers ('Line 2' and 'Line 3') coming from the Button PCB went to one side of a DPDT switch, and the poles went to the DB9 'Out' socket. The wires from the other side of the DPDT switch went to the centre tags of two potentiometers, which I squeezed in the front of the case. The two connections for the ends of the potentiometers went to the potentiometers and to the socket.
In the event, I also added a 10k preset, set at about halfway, in the circuit at the potentometers' 'bottom' end: it seemed to me that some parameters – e.g. the filter cut-off frequency, and the volume pot when using the tremolo effect – were going too low, at the expense of effects that could be obtained with higher resistance.
The way the UCreate works, the potentiometers – and the potentiometers under the Button, come to that – have no effect unless one of the 'Hold' buttons is pressed, so I needed to add a momentary button, preferably somewhere near the potentiometers. There was just about room, and what I decided to use was a toggle switch with a centre off position, momentary on in one direction, latching on in the other. This would enable me to engage the momentary switch, adjust a potentiometer, then when I had exactly the sound I wanted, latch the switch on. So the two connections for the switch went both to the DB9 socket and to this new switch.
In fact, they went to a third place: a standard (1/4″ or 6.35mm) mono jack socket to which a 'Hold' footswitch could be attached. I used a standard size jack in this instance because I had some nice ready-made footswitches: they're apparently sold for use with tattoo machines, but come with standard jacks attached, which is very handy.
So that's how I modified my UCreate, producing a versatile and quite easy to use multi-effects device. This picture summarises most of the changes I made:
I don't know if they're all the same, but the grille on the front of mine came off very easily, so I took the opportunity to remind myself of what the 8 effects are, and what order they come in.
The front and back of the device now look like this:
and here's what it looks like in operation:
Read the UCreate User Manual here: N9496 UCreate Music Manual 1L-English
In Part 2 of this series of articles I describe modifications made to some other devices in order to work with the UCreate.
The Black Widow MkII and more on sample manipulation
I recently came to use the Black Widow sample manipulator again and decided to make some improvements to it.
Initially, I improved some of the existing features: what I had at first perceived as 'unreliability' in its responses to button commands was really only a difficulty in making the required number of presses to 'fix' volume, filter or pan settings on a sample. This involves making one, two or three quick presses on the hatswitch button – like making a single, double or triple mouse-click reliably – not perhaps one of my best ideas, and a little difficult to execute, especially without any feedback as to whether the fix had been made or not. So I added indicators to show if the fixes were on or off.
I then moved the sample arrays onto the same page, so there was no need – as there had been in the original – to move from page to page on screen to see what was happening with the samples being played. This screen also now has the various indicators for volume, filter, playing position within the sample, etc., visible next to the representation of the waveform in the array:
Above each array are also indicators 'REVERB ON/REVERB OFF' and 'ECHO ON/ECHO OFF'. I thought simple versions of these two effects would be useful, and added them to each of the output stages. Having run out of buttons on the Black Widow, these effects are manually turned on and off by using the 'W' and 'E' keys on the computer keyboard. (Although 'E' makes sense for echo, 'W' doesn't for reverb, but I chose these two letters so as not to conflict with another program I commonly use, where 'R' and 'V' have particular functions; and 'W' happens to be next to 'E').
Also, on the right-hand side, indicators for 'Auto Speed' and 'Number of sections done' refer to the next change I made: a function to allow the Black Widow program to run automatically. It's designed to do this in a similar way to the way it's operated manually: one sample at a time is operated on, and there are built-in delays between stages to allow a particular selected combination of settings to play for a while before being changed.
The particular settings are chosen by random numbers generated by the program. In normal operation this will allow them to range between minimum and maximum values in each case. In the event that this wide range is not required (for example, turning the filter to minimum usually has the effect of turning the sound off, as does turning the playback speed to zero), there is now a page on which minimum and maximum values can be set for each parameter of each sample:
It's possible here to fix any parameter, so it cannot be changed during 'auto' mode; and to fix any sample to play back at normal speed, full volume, average filter setting and centre panned.
Finally, I added a third section in which samples can be recorded into the arrays, rather than loaded from existing sound files. This could be useful for variety in a 'live performance' in which short samples (90 seconds is PureData's default maximum) could be recorded and almost immediately loaded and manipulated, manually or automatically.
The screen that opens automatically when the app is run has had to be expanded, and now looks like this:
It looks a bit complicated, but I haven't mastered the method of producing a neat GUI; however, it works fine, and is easy to use if the numbered steps are followed.
A link to the PureData patch for the Black Widow Sample Player and manipulator can be found in a later post in this series. The next one is here.
Here's an example of the Black Widow in operation:
The 4 short samples used here are a recording of a park, birdsong, running water and a live performance of the Cracklephone.
It's perhaps worth mentioning here, as I haven't done so anywhere else, a very handy little device I used, not wanting to have a full-sized keyboard in the way when I was trying to use the Black Widow controller. This is the so-called iPazzport, a miniature keyboard and trackpad, which connects to the computer by USB. It looks like this:
If you imagine that the trackpad is slightly smaller than the trackpad on a laptop, this gives you an idea of just how tiny the keys are – but I was still able to press the correct key when required. In case of difficulty it comes with a stylus and a small attachment which fits on the end of the finger, with a point underneath it.
Mine was about £10 off eBay, but I don't know how readily available they are now: the one you see these days is a wireless version which costs a bit more, between £15 and £20. There are now some similar items – also wireless – styled rather more like TV remote controls, which look as if they might have larger keys.
Also worth mentioning here, if you're interested in this kind of thing, is the work of Karlheinz Essl. You can read about him here: http://en.wikipedia.org/wiki/Karlheinz_Essl_junior and on his website at http://www.essl.at/.
Of particular relevance in relation to the Black Widow project is one of the various programs Essl has created for sample manipulation, fLOW, which is described like this: 'fLOW . . . generates an ever-changing and never repeating soundscape in real time that fills the space with flooding sounds that resemble – metaphorically – the timbres of water, fire, earth, and air. This ambient sound scape generator adjusts itself through various parameters and controllers that are represented in real time on your screen.' It comes with four samples, which are are loaded and manipulated automatically via a comb filter, ring modulation, frequency shift and a flanger, but you can also load your own samples into it for a more personalised experience.
You can read about fLOW and download it from http://www.essl.at/works/flow/download.html. I don't remember how much it costs, but it isn't very much, and well worth the money.
This is an extract from a track created with fLOW. The source file was an edited recording I made of a boat passing through a lock in Earith, Cambridgeshire:
It's well worth reading more about Essl, too. His main preoccupation is one that I've become interested in in recent years: 'music that is created at the moment of its sounding ("realtime composition")'. Improvisation, looping and manipulation of sound and music samples are all part of the same field, and chance can play a significant role. In a later post I'll be mentioning another his programs, REplay PLAYer (found at http://www.essl.at/works/replay.html), a multi-featured program for manipulating a single sound sample.
[Edit: that post is here]
Finally, a very nice freeware program with similar features which I've used is Sineqube's Sapling, which is described here: http://www.sineqube.com/blog/?page_id=157. Sapling provides an easy means to load 4 samples and vary – manually or automatically – the speed and volume of playback, and the length of a loop created within each sample. It works well with short samples and allows a very useful combination of automatic and manual adjustments to be made in real time as the samples are played, and a facility for recording the output to disk.
This is an extract from a track created using Sapling. The source file was an edited version of some recordings I made on my iPhone of a windmill in Burwell, Cambridgeshire:
With all of these programs, including the Black Widow in Auto Mode, I enjoy setting up the conditions and listening to the samples play, although for a more permanent record of what was created, I normally edit the recorded results.
[Edit: more modifications have been made to the Black Widow Controller (although not for sample manipulation). See this post.
MIDI controls have been added to the Black Widow MkIII, described here].
The Black Widow – Sample Manipulator
I was lucky enough to get a decent joystick for a good price from eBay, a Speedlink 'Black Widow':
Obviously, this is a bit more sophisticated than the controller with small joysticks which I used for the StyloSim, and the kind of thing used for semi-realistic flight control programs, having a throttle on the left-hand side and joystick on the right, and a nice feel to it.
As for musical applications, it connects to a computer via USB, as can be seen in the photo, so is very suitable for use with PureData's 'hid' (Human Interface Device) function.
I thought at first of designing an instrument, but felt this would be less easy to operate than the Cybersynth or Theresynth, which used gamepad-type controllers. An effects device like the StyloSim would be possible, but at the moment would seem like going over old ground: something I might come back to later.
Instead, I decided on a device for manipulating samples. At the time I thought this was an original idea, but I have subsequently discovered someone who does this – in quite a different way, but using the same kind of device: http://www.youtube.com/watch?v=9wdb6-QLnQ0.
That was Johannes Kreidler, a very interesting contemporary German composer making music with cutting edge electronics. Check out his website at http://www.kreidler-net.de/english/index.html or type 'Johannes Kreidler' into YouTube. Kreidler is also an expert on PureData, as it happens, and wrote the very good tutorial 'Programming Electronic Music in Pd', translated into English at http://www.pd-tutorial.com/english/index.html.
So, I used PureData to create a simple device for manipulating samples with the Black Widow.
There are 4 buttons on the front of the Black Widow:
These are used to control up to 4 separate samples: when the Black Widow Pd app is first opened, the buttons are pressed one by one to load the 4 samples; when in use, the throttle, joystick and other controls operate on the sample whose button was last pressed.
As for the other controls, these are: on the left, the throttle, which includes two buttons on the reverse,left and right:
Pressing the left-hand button on the back of the throttle and moving the throttle forward from the central position increases the sample playback speed; moving the throttle backwards from the central position increases the playback speed, but plays the sample backwards. When the button is released the speed and direction are fixed. Pressing the right-hand button on the back of the throttle toggles the playback direction.
Moving the joystick to the left pans the sample to the left; moving it to the right pans it to the right. Moving the joystick forward from the central position increases the playback volume; moving it backwards from the central position increases the centre frequency of a bandpass filter.
The other buttons on the joystick have the following functions:
The button F3, when pressed as the sample is playing, sets the start point of a section within the sample; F4 sets the end point.
The hatswitch has 4 functions: RIGHT cycles playback from the start point to the end point of a section set with the F3 and F4 buttons; DOWN pauses playback; UP Restarts playback; LEFT fixes a volume or filter setting.
F2 restarts playback at normal speed from the beginning of the sample.
This is the control window, in the process of loading a sample:
There are some problems with it: it doesn't always seem to respond to instructions, particularly the 'Fix' command from the hatswitch, don't quite know why. Also, the interface isn't very practical: if you want to look at what you're doing as well as listen, there are separate windows for each sample which you have to bring to the front.
However, it mostly works as described, and is quite entertaining to play with! I'll post a sound file shortly.
[Edit: the Black Widow has been superseded by the Black Widow, MkII, described here].


This is a cellphone case that I designed and built for myself. It is made with 20g 4mm ID stainless steel rings. It took about 10 hours for me to complete (partially because I had to re-start the des... This pendant was suggested by my wife while she was playing with a small section of full persian that I had made. I call it the Persian Flower. It is 16g 3/8ID BA with a pearl floated in the center. ... I made this hauberk, coif and mantle to fit a 12" modeling dummy for display on my table. It is made of 20g 3mmID stainless steel rings.