text:
Before I go any further, YES, I know adoption is better than buying. However, our local animal shelter didn't have any hypoallergenic breeds that were okay with children and other dogs....Both of these criteria are absolute musts, and we were not willing to budge there.
I have horrible, awful allergies to most animals. And I don't mean allergies that taking some Claritin will even touch. I mean allergies that will send me to the emergency room with an allergy-induced asthma attack. It has happened before many times. I am allergic to most dogs, even shorter haired, all cats, and most other animals bearing fur. This is why a hypoallergenic "designer breed" was necessary. Plus, I like small dogs. Small dogs=small poop. Plus, a large dog might accidentally overpower my toddlers.
Also, we not only have our kids, we also have my 12 year old son's dog, Chloe. So any dog we welcomed into our family had to get along not only with our kids, but with other dogs, too.
Anyway, Saturday, we went on a puppy hunt. We visited a reputable pet store in our area called Pets Plus. This shop microchips their animals and has extensive history on all of their pets. They do not deal with puppy mills. So as soon as we arrived, I saw several adorable puppies. There were a few Yorkies, a Peke-A-Poo, Malti-Poos, some Rat Terriers, and more smaller dogs. As I was looking at a male Yorkie, they brought a female in. When I saw her, I fell in love. She has gorgeous coloring, a sweet personality, and the cutest little white poof on the top of her head. We took her into a "play room" for about an hour, determined she would be good with the kids, and decided she would be the ideal pet for our family.
So for 3 hours, we drove around in the rain looking for another Western Union location. We found several. Most either didn't have enough money available, the printers were down, or the stupid employees didn't know the passwords to work the system. The pet store closed at 8:00PM, so we were on a time limit. We finally found a Western Union that cashed us out, but we got back to the pet store at 8:20PM. They were just locking up and the registers were closed. We had to go back in the morning. Thankfully, they held the puppy for us.
Anyway, here is our newest family member. Because of the ordeal we went through getting her, and her mischievous personality, we decided to name her Trouble. She's such a sweetheart!


text:
Jesús Fernández, Ed.D., is the associate provost of curriculum at DeVry University and has served in educational management capacities at DeVry University. Prior to his role as associate provost, Fernández acted as the national dean of curriculum and instruction, national dean of academic quality and assessment and was the founding dean of academic affairs for DeVry University's Miramar Campus in Florida.
While at DeVry University, he has spearheaded the implementation of DeVry's national colleges as well as the development of a several new bachelor's and master's degree master's degree programs in the areas of liberal arts and sciences programs. He has also been active in accreditation activities including the development of an application for DeVry University to offer undergraduate and
Fernández has more than 10 years of educational management experience and has participated in numerous educational conferences, acting as a peer reviewer as well as an invited speaker and participant. He is a NSHMBA Executive Circle Honoree and Founding Member, a member of the American Educational Research Association and a member of the editorial board for the Business Journal of Hispanic Research. He has held numerous roles with the National Society of Hispanic MBA's, serving as National President and CEO from 1996 to 1997.
He holds a doctorate of education in adult education and human resource development from Florida International University in Miami, Florida and a master's of business administration from Barry University's Andreas School of Business in Miami, Florida and a bachelor's degree in psychology from Northwestern University in Evanston, Illinois.

subset: commoncrawl


text:
Home |
Batteries |
TV Transmitter |
Digital Name |
Shipping |
Throw Bag Kit with 150' Slick Line | |
Throw Bags are the way that professional arborists place messenger lines into trees so they can pull up their climbing lines. With a little pratice you can throw a line up to 50 feet into a tree branch. Accurate throws of up to 75 feet are possible.The throw bag is high visibility pink, weighs 16 oz. and is filled with steel shot. The weighted bag drops easily through branches and leaves. When pulled back through branches it's less likely to wrap around branches than fishing weights. Unlike fishing line, the Slick Line included in the kit pulls easily through tree branches and can be used to support the full weight of an antenna. It's an ideal support for temporary antennas. It resists tangles and can be stuffed into a bag or coffee can for easy deployment. | |
The kit includes:
| |
Only $29.95 |
Extra Slick Line
| |
Only $14.95 |


text:
MembershipProvider.ResetPassword Method (String, String)
Resets a user's password to a new, automatically generated password.
Assembly: System.Web.ApplicationServices (in System.Web.ApplicationServices.dll)
- username
The user to reset the password for.
- answer
The password answer for the specified user.
Takes, as input, a user name and a password answer and generates a new, random password for the specified user.
Note |
The random password created by the ResetPassword method is not guaranteed to pass the regular expression in the PasswordStrengthRegularExpression property. However, the random password will meet the criteria established by the MinRequiredPasswordLength and MinRequiredNonAlphanumericCharacters properties |
The ResetPassword method updates the user information in the data source with the new password value and returns the new password as a string. A convenient mechanism for generating a random password is the GeneratePassword method.
ResetPassword ensures that the EnablePasswordReset flag is set to true before performing any action. If EnablePasswordReset is false, a NotSupportedException exception is thrown.
ResetPassword also checks the value of the RequiresQuestionAndAnswer property. If RequiresQuestionAndAnswer is true, ResetPassword checks the value of the supplied answer parameter against the stored password answer in the data source. If they do not match, a MembershipPasswordException exception is thrown.
For an example of a MembershipProvider implementation, see Implementing a Profile Provider.
Available since 2.0


text:
A plan to move previously public material into a "members only" section of the British Go Association's (BGA) website has sparked controversy. BGA president Jon Diamond recently announced that the the Association's policies, minutes, and ratings would be moved to the new Members-Only section of the site, which would also include material not previously available on the site, including online versions of recent editions of the quarterly British Go Journal (BGJ) and annual accounts. The announcement of the plan to increase the value of BGA membership was made in an article in the BGJ's latest issue, sparking a heated discussion on Gotalk, with the ratings move clearly the most hotly-debated. One poster characterized making the ratings list accessible only to members as "counter-productive," another appealed for the Organisers' Handbook to remain public, while another pointed out that much of the data about British players is already readily available on the European Go Database. Others, however, thought the move didn't go far enough, suggesting that full tournament results should be available only to members. The "explosion of correspondence" prompted BGA Treasurer Toby Manning to appeal to participants in the debate to send him a brief summary of their views so that he can prepare a condensed report for the BGA Council's consideration. Diamond tells the E-Journal that he expects to have a final determination this week about what will be moved to the Members-Only section. While American Go Association currently has no similar plans, AGA President Andy Okun says that the question of how to maximize membership value has been discussed previously, noting that, for example, game commentaries are distributed only in the E-Journal's Member's Edition.
- Tony Collman, British correspondent for the E-Journal
American Go E-Journal
Brits "Members-Only" Website Move Sparks Debate
Sunday July 21, 2013


text:
10% Off Weekday Stays!
Includes unlimited golf on Alec's Nine and one round per night stay on The Lakes 18-hole championship course, range balls, and lodging in a traditional unit. 10% off weekday stays.
AnneMN Expert since 2003
Want to know the best spots in Minnesota? How about tips on how to make the most of your time in a specific city? Our Minnesota experts can answer your questions, offer advice, or plan the perfect Minnesota trip for you. For free.


text:
Believe me, Larry NEVER notices stuff like that. Something to do with that y chromosome, I'm thinking...
Anywhoo, I did okay until the second reading. Paul, to the Corinthians. I listened attentively as the lector read aloud:
The unmarried man is anxious about the affairs of the Lord, how to please the Lord; | |
33 | but the married man is anxious about worldly affairs, how to please his wife, |
And I laughed. Out loud. A literal LOL, people - in a completely quiet sanctuary full of fellow parishioners who apparently weren't raised on Borscht Belt marriage humor.
I mean, that was funny, wasn't it? "How to please his wife..." Ba-da-bum! That Paul! He WAS Jewish, you know...
I spent the next 5 minutes snorting into my scarf, while Larry pretended he didn't know me. I'm betting that next Sunday? He leaves me home.
[Bible image: St. Cuthbert's]


text:
The next wave of popular musicians isnât made up of guitar heroes and searing Les Paul leads. Instead, they come equipped with computers and sequencers and a sound to make people move.
Electronic dance music, with its throbbing beats, synthesized sounds and throngs of dancing fans has joined the ranks of the power ballad, guitar solo and flicking a Bic at a big rock show, like at this weekendâs Coachella Valley Music and Arts Festival in Indio.
âIt replicates the heart and the way the body pulsates,â said Rick Dominguez, an electronic music deejay who goes by the name DJ Ickee and has been performing in the area for the last two decades.
The Riverside native started a weekly residency called I Love Dubstep at the Mission Tobacco Lounge more than a year ago that has attracted people from as far away as Bakersfield and Victorville.
Dubstep is the latest flavor in electronic music, with a wub-wub-wub sound melded with fast beats and distorted synthesizer sounds.
Electronic music has been around for decades, but it is reaching a fever pitch as the artists hit the mainstream.
So what made this music that made clubbing so popular become a force in music? The leading theory is the Internet, explained Kerri Mason, a contributor to Billboard magazine who writes about electronic music.
âSocial media has really allowed this music to get momentum thatâs really driven by the people who are listening to it and sharing it with each other,â Mason said in a telephone interview from New York City. âItâs replaced the usual from-on-high structure of radio, which doesnât really have as much influence as it used to, and itâs given the power to the people.â
Nowhere will that be more evident than this weekend at Coachella, which has become ground zero for electronic music in California. The festival, which kicks off today and runs through Sunday, will have a second edition with the same artists April 20-22.
And inside the the Empire Polo Club, the Sahara Tent stage has played host to some of the biggest names in the genre while tens of thousands of fans dance with the light show.
âCoachella and the Sahara Tent was one of the only places you could go and really see this quality electronic music for years and years,â said Gary Richards, an LA-based electronic music events promoter and electronic producer who will perform at Coachella as Destructo this weekend and next.
Electronic dance music has been popular in the Inland region for decades, with large-scale events like Beyond Wonderland and Nocturnal turning the National Orange Show in San Bernardino into themed playgrounds with throbbing beats.
The genre was even included as part of the mix of Coachella from the festivalâs first year in 1999, said Paul Tollett of Goldenvoice, the promoter who puts on the massive festival, and not just in the Sahara Tent. The first year, 90s electronic powers The Chemical Brothers headlined the main stage and more recent editions have seen electronic music pioneers Kraftwerk directing the beats for a sea of thousands.
âWe were pretty heavy on the electronic in the beginning. Those small tents were pretty much 100 percent electronic,â Tollett said in a telephone interview from the festival grounds.


text:
Here at Magnus Outdoor Products are priorities are the quality of our product and the quality of our customer service and to provide you – the customer – with top-quality gear, excellent customer service, and a diverse line of products. We believe our products will make your hunting adventures the best they can be.
We are the leader of Cut on Contact broadheads and we produce one of the most reliable and deadliest broadheads in the archery industry, like all good manufacturers, the best move is to expand our product line to meet our customers needs, in a effort to further address the needs of the archer we have added a range of products you will see on our website.
Magnus products offer superior quality, outstanding performance, versatility, and that means you can focus on what is important, your hunt!
Thank you for your business and Good Luck Hunting!!
Mike SohmCEOMagnus Outdoor Products
All prices are in USD Copyright 2017 Magnus Broadheads. Sitemap |
Note: Online orders may take 24 to 48 hours to process. Freight costs apply to the Lower Contiguous 48 States. Call us for freight costs to Alaska, Hawaii, Canada and foreign countries. If your order is urgent, please call us at 1-800-720-5341.
Beware of Chinese counterfeit broadheads! If you buy from anyone and the broadheads are not in a Magnus package they could be counterfeit broadheads!


text:
Sci fi/Fantasy image by
Dawn BursonA reclusive young mage is brough into a fiery princess's quest to free the Ancient Winged Ones from their prison within the Glass Dome. The Glass Dome had been erected at the end of the last great war between the races of Coren. It has fallen upon a chosen few, the Children of the Legends Old, to once more free the Winged Ones from their prison. From the heart of the Elf King's kingdom, his granddaughter sets out on her quest with her cousin by her side. In a chance encounter in the Wild Woods of her grandfather's kingdom, the princess and her cousin are best upon by the Immortal's men. It is only when they encounter the mage in a small village known as Grekan, as a trial is underway for the punishment of a crime committed long ago, does the mage realize exactly what he is being drawn into? A savage attack by the Speaker of the Wild Woods leaves the princess on death's door. Her only hope for survival is that of the reluctant mage. Will he do what is right? Will he turn her over to the Immortal? Find out what happens......... Read more here
Published More than a year ago
Category Fantasy
Be the first to favourite this image.


text:
Aruddha devi dasi (email@example.com) and her husband Anantarupa dasa are both disciples of H.H. Gopal Krishna Goswami. They began practicing Krishna consciousness in Chicago in the early 1980's, and started the ISKCON Temple in Boise, USA, in 1986 as a small weekly program in their home. Now twenty years later there is a beautiful mid-size Vedic temple for Their Lordships Sri Sri Radha Bankebihari. Aruddha and Anantarupa home-schooled their children and ran
the Govinda's restaurant in Boise for 6 years. Her older son, Radhika Raman Das (Dr. Ravi Gupta), holds a Ph.D in Hinduism from Oxford University in England. He entered Boise State University at the age of 13, where he completed dual
B.A. degrees in Philosophy and Mathematics with highest honors. He also wrote the "India's Heritage" column for Back to Godhead for several years. He is now Assistant Professor of Religious Studies at the College of William and Mary, and his first book, The Caitanya Vaishnava Vedanta of Jiva Goswami, has been published by Routledge, a reputable academic press. Gopal Hari Das (Gopal Gupta) is currently working towards his Ph.D in Science and Religion at Oxford University. He entered Boise State University at the age of 12 where he completed a bachelors and masters degree in Electrical Engineering with highest honors. Currently, Aruddha is traveling to various temples in North America and doing weekend seminars on homeschooling. She also runs a Yahoo group on the Internet for devotee parents interested in homeschooling their children www.krishnahomeschool.com
Aruddha devi dasi (Author&Teacher)
Posted on


text:
Celeste M Brabec, MD
Reproductive Endocrinology Infertility
Reproductive Resource Center of Greater Kansas City
Reproductive Resource Center of Greater Kansas City 12200 West 106th St Ste 120
Overland Park, KS 66215
Accepts most insurances. Please call the office to confirm your specific plan.
- Reproductive Endocrinology Infertility - Primary - Board Certified
- Gender: Female
- Graduate Degree: Medical School - University of Texas Health Science - Houston
- Residency: Creighton University - 1995
- Fellowship: Harvard Medical School – Brigham and Women's Hospital
- English
- Centerpoint Medical Center
- Overland Park Regional Medical Center


text:
NETGEAR Introduces Three Smart NeoTV Streaming Players
Internet users are increasingly using the web to access multimedia content using online streaming services such as Netflix and Hulu. Keeping this in view, networking equipment maker NETGEAR has unveiled three new NeoTV streaming players which can connect with a multitude of online streaming services. And, these players are smarter than most smart TVs in the market.
NETGEAR Releases N750 Dual Band Gigabit WiFi Router Premium Edition
NETGEAR has released a feature-rich high performance dual brand WiFi router. The model number of the product is NETGEAR N750 Premium Edition (WNDR4300). The company has combined major wireless features in the device. Due to blaze fast 750Mbps (300 + 450 Mbps) speed, the router can stream HD video effectively. It also support multiplayer gaming and can transfer large file in blazing fast speed. NETGEAR has used its secure ReadyShare Cloud service that is compatible with Apple Time Machine. The cost-effective and easily manageable router makes home networks faster and more reliable.
NETGEAR WNCE2001 Universal Wi-Fi Adapter
Introducing the NETGEAR WNCE2001 Wi-Fi adapter. Now connect any device you like such as the Xbox 360, PS3, TiVo, Blu-ray player, and more to your home cloud. This device is elegant, compact and saves space. That means, you don't need to buy a Wi-Fi adapter that only works with one type of device. Freedom to place your home entertainment center anywhere and still connect to the Internet.
Netgear Introduced IEEE802.11ac Compatible R6300 Router And A6200 USB Adapter
Netgear has introduced a R6300 WiFi router and an A6200 USB adapter to 802.11ac product line for Next-Generation Wi-Fi. The company claims that the R6300 Wi-Fi Router is the industry's first 802.11ac router. The R6300 Wi-Fi Router supports combined Wi-Fi speeds up to 1750 Mbps. The A6200 Wi-Fi adapter is a first-to-market 802.11ac dual band Wi-Fi USB adapter. By using it, a consumer can easily upgrade their existing wireless networks to 802.11ac performance. The NETGEAR R6300 WiFi Router is priced at $199.99 which will be available in May 2012 and the NETGEAR A6200 WiFi adapter is priced at $69.99, it will be available in the third quarter of 2012.
Netgear Gigabit Speed Wireless Router With IEEE 802.11ac Coming In May
The extraordinary growth in the number and type of Wi-Fi devices, coupled with the increasing popularity of bandwidth intensive activities such as high definition video streaming, has created the demand for better wireless network performance with greater reach. Netgear is supposed to be the first networking company with a next-generation router, promising to deliver higher speed than IEEE 802.11n, in the market. With the IEEE 802.11ac standard router, it dramatically leaps forward in the speed, reliability, and quality of wireless communications.
NETGEAR MCAB1001 MoCA Coax-Ethernet Adapter Kit
Turns coaxial cable outlets into a high-speed Ethernet network connection; Advanced Quality of Service (QoS) supports uninterrupted HD video, gaming and high-speed networking; For use with both wired and wireless routers and gateways; Delivers up to 270 Mbps transfer speed; Connect an Xbox360, PlayStation 3, Blu-ray player, Apple TV, VUDU box, TiVo, Slingbox, DVR, NETGEAR ReadyNAS storage, desktop, or notebook PC; Works with DSL broadband in homes wired for cable; Data encryption ensures privacy and security; Not compatible with satellite television installations (e.g., DIRECTV, DISH Network).
NETGEAR SPH200W WiFi Skype Phone
Netgear's SPH200W WiFi Phone with Skype makes and receives Skype phone calls wherever you have Wi-Fi access, also works with most leading Wi-Fi hotspot providers including T-Mobile USA. The SPH200W lets you talk for free to other Skype users without a PC, calls any phone worldwide at low SkypeOut rates with no monthly fees and works with security protected home WiFi networks.
Netgear N900 Wireless Dual Band Gigabit Router
The NETGEAR N900 Wireless Dual Band Gigabit Router delivers the ultimate performance and range, with a fast, reliable and secure wireless connection to the Internet. Create a powerful home network for applications such as streaming 3DHD video and multiplayer gaming. New N900 wireless provides up to 450 + 450 Mbps speed and with simultaneous dual band technology avoids interference ensuring top WiFi speeds. Two USB ports enable connections to external hard drives and printers.
NETGEAR XAVB101 Powerline AV Ethernet Adapter Kit
The award-winning NETGEAR XAVB101 Powerline AV Ethernet Adapter Kit includes everything you need to extend a network connection using the electrical wiring in your home. With this kit, you can network your game consoles, PCs, DVRs, network storage devices, and other components without suffering from weak wireless signals or unsightly cables running through your home. If you're looking for a fast, easy, and reliable way to provide Ethernet connectivity to the farthest reaches of your home, then this kit is the perfect solution.
Netgear PUSH2TV HD PTV2000 1080P Adapter For Wireless Display
The NETGEAR Push2TV HD enables you to view whatever is displayed on your laptop screen on your HDTV, wirelessly, in full HD up to 1080p video resolution. With an intuitive setup and using standard Wi-Fi technology, your laptop screen is displayed on your TV without the need for cables stretching across your room.
NETGEAR ReadyNAS Ultra 6 Network Attached Storage(Latest Generation)
The NETGEAR ReadyNAS Ultra 6-Bay (Diskless) offers an ideal network storage solution for multimedia enthusiasts. Simple to set up and operate, this network attached storage device allows multiple users to access shared music, movies, and more–from one centralized network location. Media shifting capability, easy Internet access to files, X-RAID2 technology, and bay space for six drives all add capacity, security, and flexibility to your media setup.
NETGEAR Push2TV TV Adapter for Intel Wireless Display
With the NETGEAR Push2TV (PTV1000) TV Adapter for Intel Wireless Display, you'll be able to project the entire screen and audio of your Intel Wireless Display-enabled laptop in HD on your big screen HDTV, wirelessly. Instead of crowding around a small laptop screen and squinting, you and guests will now be able to sit back and relax on the couch while enjoying videos, music, pictures, and more from the Web, your computer, or home network.
NETGEAR Push2TV TV Adapter For Intel Wireless Display
With the NETGEAR Push2TV (PTV1000) TV Adapter for Intel Wireless Display, you'll be able to project the entire screen and audio of your Intel Wireless Display-enabled laptop in HD on your big screen HDTV, wirelessly. Instead of crowding around a small laptop screen and squinting, you and guests will now be able to sit back and relax on the couch while enjoying videos, music, pictures, and more from the Web, your computer, or home network.
NETGEAR N600 Wireless Dual Band Gigabit Router
NETGEAR has released a dual-band N router with built-in cloud file sharing and the The WNDR3800 N600 Wireless Dual Band Gigabit Router – Premium Edition is the first to support the company's new ReadySHARE Cloud service. First is the Clear Channel Selector, which analyzes the wireless traffic and switches to the quietest channel to prevent dropouts and second is ReadySHARE Cloud, using the router's USB port, you can attach an external HDD and access the data anywhere there's an internet connection. In addition to cloud sharing, USB storage is also supported for UPnP / DLNA media serving and TiVo expansion storage and the WNDR3800 is available now with street pricing around $150………….
Netgear N600 Wireless Dual Band Gigabit Router
The NETGEAR N600 Wireless Dual-Band Gigabit Router (WNDR3700) offers unprecedented speed and performance for home and small offices. It features the most powerful processor of any consumer wireless router on the market, dual-band Wireless-N, USB storage access, ultra-fast gigabit Ethernet ports, video quality of service, guest networks, business-class wireless security, and much more. The WNDR3700 is the ultimate networking machine for serious gamers, small businesses, and anyone who requires the highest level of throughput and performance from their wireless network.


text:
NEPAL HIMALAYA Everest Base Camp Treks 4 Peaks in 4 Weeks Makalu High Altitude Traverse
TIBET Treks Everest Base Camp, North face
MOUNTAINEERING EXPEDITIONS Cho Oyu (8,201m) Sept. 2004/05 BCabaret Diosatse (7,129m) October 2004/05
SO. AMERICA's Highest Peak Aconcagua Polish Traverse December2004 & January 2005
EUROPE'S Highest Peak Mt. Elbrus July 2005
AFRICA Climbing & Safari


text:
I suppose this was inevitable.
Archive for February, 2011
I Guess That's Why He's Super Mario
Wednesday, February 23rd, 2011Defensive Driving
Wednesday, February 23rd, 2011I am taking an online defensive driving course. I signed up for a comedy defensive driving course. Because, as the advertisement said, why not have a good laugh while spending six hours of my life being educated about proper driving habits.
Well it turns out that the people who write the advertisements for comedy defensive driving schools are FILTHY FUCKING LIARS!
It's as if someone decided that reading the jokes on the side of a happy meal package made him a stand up comic. And then, unfortunately, nobody beat him to death.
Tuesday, February 22nd, 2011If this game stands up to the trailer, I want to play it ever so badly.
Granted this is the first video game trailer that made me sad enough that I wasn't sure if I wanted to play it.
Oh The Places You'll Actually Go
Tuesday, February 22nd, 2011I'm sure Dr. Seuss would approve.
Creating Drama
Thursday, February 17th, 2011Educational Video
Thursday, February 17th, 2011For real this time.
History Lesson
Monday, February 14th, 2011Nothing says Valentine's Day like a musical lesson over the history of the Soviet Union.
Valentine's Day
Sunday, February 13th, 2011I know that somewhere out in the world, at least one of my readers has just remembered what day it is. And that reader is currently scrambling to figure out how to get an appropriate Valentine item for their significant other, without risking their career by abandoning work.
Don't worry. Skippy's got your back.
Solving Everything
Thursday, February 10th, 2011Human society is a series of interconnected complex systems, with so many deferring layers of information and interaction that any attempt to find simple and elegant solution seems naive.
But I'm going to do it anyways.


text:
Airbnb highlights the history of Linus Bike and its close ties to the Venice Beach community.
November 17 2016
Explore Northern California by day on a Linus and sleep in a classic Airstream at night.
October 31 2016
Technical Manager Tom Tolhurst gives us the scoop on what makes a Linus a Linus.
Active Junky
October 29 2016
Linus Bike founder Adam McDermott shares a few of his favorite spots in Los Angeles.
The Window
July 05 2016
At $429, the Roadster Classic is one of Cool Material's best city bikes under $500.
Cool Material
June 10 2016
Taylor Sterling, editor of Glitter Guide, shares her warm weather wish list - with a special shout out for the Dutchi 1.
Glitter Guide
June 06 2016
Maintain style throughout your daily commute with the Gaston & Office Bag.
Issue Magazine
June 01 2016
Commuting to work by bike? Dappered suggests a few essentials, including the Linus Office Bag.
May 11 2016
Reporter John Brandon explores a change in perspective with the help of the Avanti 2.


text:
SMS integration in virtual dialer
- Status Closed
- Budget $30 - $250 USD
- Total Bids 9
Project Description
We have a virtual dialer on a VoIP server and want to integrate SMS to it connecting the dialer to a third party server that will receive and terminate the SMS.
The script that needs to be added to the dialer is in essence a GET/POST type script. For example,
[url removed, login to view] , or
[url removed, login to view]
The SMS message is routed through a default Inbound URL which we have set up.
If you require more information please ask your questions.
Thank you,
Get free quotes for a project like thisLooking to make some money?
- Set your budget and the timeframe
- Outline your proposal
- Get paid for your work
Hire Freelancers who also bid on this project
Looking for work?
Work on projects like this and make money from home!
Sign Up Now- Forbes
- The New York Times
- Time
- Wall Street Journal
- Times Online


text:
And all things, whatsoever ye shall ask in prayer, believing, ye shall receive. —Matthew 21:22
God wants us to come into the place where we will never look back. God has no room for the man who looks back, thinks back, or acts back.
The Holy Ghost wants to get you ready for stretching yourself out to Him, believing that He is a rewarder of them that diligently seek Him. You need not use vain repetition. Ask and believe.
Jesus, I come to Thee asking, not begging, to receive all
that You have for me. Give me the patience to faithfully
wait to receive what You have promised to me. Amen.
Draw closer to God. Experience the presence of the Holy Spirit every month as you read Charisma magazine. Sign up now to get Charisma for as low as $1 per issue.
Get to know the Holy Spirit and how to interact with Him on a daily basis. Learn to enter God's presence and hear His voice clearly for yourself! Go deeper in your faith with Life in the Spirit and change your life and destiny. Are you ready to start your journey?


text:
Homer News file photo
Before personal-use fishermen dipnetted for red salmon on the Kenai River, people harvesting salmon long ago set nets in Kachemak Bay a tradition that dates back to before statehood. Now called the Kachemak Bay personal-use coho salmon fishery, at times it's also been called a subsistence fishery. While Kenai River reds have become more popular in recent years, those who'd rather boat to, hike or drive to local beaches for fish once again can seek sea-bright silver salmon starting 6 a.m. today. Openings are 6 a.m. Thursday to 6 a.m. Saturday and 6 a.m. Monday to 6 a.m. Wednesday until Sept. 15 or the fishery reaches the guideline harvest range of 1,000 to 2,000 coho, or silver, salmon. Restricted to Alaska residents, a household can only fish one personal-use fishery a year, meaning any family that has dipnetted on the Kenai can't fish the Kachemak Bay fishery. Nets can be no more than 210 feet long and have to be 600 feet from another set net. As with the Kenai River fishery, the limit is 25 salmon per head of household and 10 for every family member.
Homer News file photo
The fishery is restricted to the bay south of Anchor Point and to a line running east of Hesketh Island and south to the easternmost point of Jakalof Bay. Other restrictions apply to areas like the Homer Harbor. Unlike the Kenai River personal-use fishery, the Kachemak Bay fishery has a striking difference: It's established in Alaska Statutes and not by regulation. "Which means the Board of Fish could eliminate them with one stroke at a meeting," Larry Smith, a longtime defender of the Kachemak Bay personal-use fishery, said of other fisheries. "Not that they would dare." Smith remembered the Kachemak Bay Subsistence Group taking the state all the way to the Alaska Supreme Court to affirm the right of fishermen to take salmon by set net for subsistence use. In 1976, the state had closed Kachemak Bay, Port Graham and Nanwalek to subsistence gillnet fishing. Homer people signed a petition and sent it to the Board of Fish. "Geez, you made an awful mistake. This is like gardening and coaling to us," Smith said. Listening to tapes of the Board of Fish meeting, "They laughed at us. They literally laughed at us," he added. The Kachemak Bay Subsistence Group won in the Alaska Supreme Court and got the fishery restored. Over the years the Board of Fish would try to eliminate the fishery and locals would sue to get it restored. "We never lost a day's fishing, but we did lose a lot of time quarrelling with the suckers," Smith said. Silver salmon runs are a mix of wild and hatchery salmon. The early run generally peaks by now, with the midpoint of the late run falling at the end of August, according to a press release from the Alaska Department of Fish and Game. How long the fishery goes varies. In 2004, with 91 permits issued, it took 96 hours to reach the harvest limit. In 2005, with 108 permits issued, it took 213 hours over four 48-hour periods to reach the limit. Fish and Game uses daily catch reports to help determine harvest limits. Even if fishermen don't work nets, they're encouraged to call daily. Permit holders are requested to remain on site while gear is in operation. Unattended gear can be confiscated. Oh, and as in other years, if setnet owners put nets closer than 600 feet and call Fish and Game or Alaska Wildlife Troopers to sort it out, they will by seizing both nets. Fish and Game encourages setnetters to work out territorial disputes. Owners of beachfront property don't have an inherent right to the navigable waters near their property and it's first-come, first-fish. Placing dry nets on the beach doesn't constitute claiming a site, Fish and Game said in its release. Michael Armstrong can be reached at firstname.lastname@example.com. Kachemak Bay Personal-Use Coho Salmon Fishery when: Aug. 16-Sept. 15 openings: 6 a.m. Thursday to 6 a.m. Saturday; 6 a.m. Monday to 6 a.m. Wednesday where: Kachemak Bay south of Anchor Point to a line running east of Hesketh Island and south to the easternmost point of Jakalof Bay; restrictions apply locally in some bays and around the Homer Harbor and the Nick Dudiak Fishing Lagoon on the Homer Spit. catch limit: 25 salmon per head of household; 10 per each household member who can fish: Alaska residents who haven't fished in other personal-use fisheries, including households. net limit: 210 feet long and no more than 45 net meshes deep. other restrictions: Nets cannot be within 600 feet of other nets. report catches: Call Homer Fish and Game, 235-8191 or 235-1738 evenings and weekends. for more information: Visit Homer Fish and Game, 3298 Douglas Place, or www.adfg.alaska.gov.


text:
Lifecell All-In-One Anti-Aging Cream
#1 All-In-One
Anti-aging Cream
Anti-aging Cream
- Eliminates appearance of fine lines and wrinkles
- Improves your skins firmness and elasticity
- Evens out your skin tone
- Makes your skin smoother
- Improves appearance of photo-damaged skin
- Brightens your skin to produce a glow
- Protects your skin from future signs of aging
- Diminishes appearance of age spots
- Revitalizes and re-energizes your skin
- Reduces appearance of dark circles and puffiness around your eyes
- Improves your skins firmness and elasticity
- Makes your lips look plump and healthy
| 400 reviews | Try if FREE at wwww.lifecellskin.com |
Why We Love LifeCell
By Lisa Montero
August 20th 2012
Almost nobody knows this…but…the human eye cannot "see" a wrinkle. What the eye sees is actually the shadow made by the wrinkle.
The manufacturers of LifeCell state that it uses new technology that 'magically tricks' the eye to make wrinkles appear to disappear in as little as 17 seconds.
Well it's not exactly a "magic trick." It's science called light-reflecting micro-technology, which makes use of microfillers to smooth and soften the appearance of wrinkles and fine lines, to where they are almost invisible.
After testing this product out for myself, I can honestly say LifeCell does provide instant results, and the long-term results are amazing. The instant result is what they call the "17 Second Effect". Personally, I didn't count up to 17 but I'd say that within less than a minute I immediately saw the difference. My crow's feet were almost seamless and the lines around my lips (I used to be a heavy smoker) were nearly nonexistent.
Now for the long-term use results! Within just a couple weeks of following the manufacturers suggested use of LifeCell, I saw a major reduction in wrinkles, fine lines, deep forehead wrinkles, and even a few dark spots were gone because of the all-natural de-hyperpigmentation agent in this product! My skin felt much more supple and looked plumper and firmer. I believe the elastin producing agent in LifeCell is one of the most potent on the market.
Healthy, youthful looking skin is achieved by providing moisture, maintaining elasticity and protecting it from free radicals that accelerate the skin's aging process. I've found that LifeCell targets these 3 main points and more. It keeps the skin moisturized and hydrated by working from the inside-out. When the product is fully absorbed into the skin, it's still hydrating deep from within and promoting collagen reproduction and maintaing skin elasticity. Wrinkles and sagging skin were addressed with its potent cocktail of clinically tested anti-wrinkle and skin firming ingredients. Infused with some of the most potent anti-aging ingredients such as DMAE and Retinol, LifeCell was gentle enough to use on the sensitive skin surrounding my eyes and decreased the appearance of puffiness, dark circles and those prominent crepey lines.
One of my favorite things about LifeCell is its ability to dry completely matte and become the perfect primer. I wear foundation, kohl eyeliner and cream blush almost every single day. This product keeps my makeup smudge free and in place throughout my entire 16 hour day by reducing pore size.
I must admit, I once considered getting filler injections, but after using LifeCell, that idea has gone out the window! While I am completely in love with LifeCell and will probably never look at anti-aging products the same way again, no product is perfect, the only thing that's missing is SPF. I contacted the manufacturer's customer support number to see if they could explain why they marketed it as an all-in-one but lacked sun protection. They informed me that the SPF would cancel out the antioxidants in LifeCell, which makes sense. So while this product didn't replace my entire 6 step skincare regimen, it did reduce it significantly to a 2 step regimen, in turn saving me plenty of time and money! Negatives: Doesn't include sunscreen. *SPF would cancel out the antioxidants in the product. Positives: Replaces 5 products and is very cost effective. One tube contains 2.54 oz, the highest amount available for the best price. Some of the leading anti-aging creams only come with 1.2 oz and are over $100 per ounce. Can be used as an alternative to facelifts and cosmetic injections. Active Ingredients: DMAE, Dithiolane-3-Pentanic Acid, Retinol, Hydroquinone, Idebenone, Ascorbyl Palmitate (Vitamin C ester), Deanol, Acetyl Hexapeptide-3 (an alternative to cosmetic injections)
No Responses to "Lifecell All-In-One Anti-Aging Cream"
* Comments on Skincare Search are genuine. As with all skincare products, results vary by consumer.


text:
Quorum Patches
This is a list of patches pushed to live. For small patches pushed by the team, we sometimes write notes for the last several. This should be considered an abridged list of changes.
Quorum 4.0.6 January 21st, 2017
This patch includes a variety of small changes as we continue with Quorum 4. Besides the fixes below, this version includes a new version of the website, which should bring us one step closer to web support for many of Quorum's features.
- Fixed an but pointed out by Amanda Rodda+Tyler with the JavaScript converter causing it to not properly popup input dialogs.
- Fixed a minor issue with the compiler causing generics to be slightly less strict than intended.
- Added SetInput and Empty actions to the textbox class.
- Fixed an issue with the textbox causing it to sometimes delete two keys instead of one.
- Fixed a spelling mistake in one of the package names.
- Continued working on the documentation for the various new systems.
- Rewrote the the web library generator for the standard library.
- Fixed a variety of bugs in the JavaScript converter.
- Fixed a grammatical issue in one of the compiler errors.
- Fixed another issue with rotation in the game engine.
- Fixed a minor compiler bug causing an exception to be thrown on invalid input.
- Fixed a bug pointed out by Pete Lamonica where carriage return and line feed were flipped in the JavaScript converter.
- Made some additions to the game engine that will help toward running it on the web.
- The website has now been rewritten from scratch. A vast majority of it is now written in Quorum.
- Many of the web tutorials have been rewritten from scratch and are now runnable on the web. Some lessons are now runnable online as well.
- Made a significant number of accessibility improvements on the website, including with the development environment and in general.
- Added an option to compile Quorum to JavaScript from the options window. The feature should be considered Beta until Quorum 5.0
- Added several options for changing the screen resolution both in windowed and full screen mode.
- While not yet complete, finished a great deal of the new work on running games on the web.
Quorum 4.0.5 September 9th, 2016
This patch includes a variety of small changes as we continue with Quorum 4:
- We have finished the 3D collision system for Quorum 4. This system now works similarly to how 2D collision works.
- Added a new feature allowing fonts to have colors other than black. We had planned this feature for some time and are glad to finally have it in the build.
- Fixed a bug causing SetVolume to set the volume for all sounds, not the individual instance.
- Fixed a bug causing models to scale incorrectly if the object has been rotated.
- Added a way to rotate children embedded in a model, which is called RotateChildren in the Item3D class. An example use case might be if we want to do things like spin spheres around a model.
- Added an action to Item3D allowing the user to Rotate Around a point in space. This new action is in Item3D and has the following signature: action RotateAround(Vector3 point, Vector3 axis, number degrees).
- Added a way to obtain a unique key for each loaded 3D model on the system. To get it, we call GetBlueprintKey in the model class.
- Fixed several small bugs causing an error to be thrown for certain keys inside of a text box.
- Fixed a bug with streamed and non-streamed audio, causing them to share the same ID. This was causing some programs to have side effects if both were used.
- Added an action called GetSource to Mouse Events, which allows the user to determine what fired the event.
- We adjusted the SetVolume and SetBalance actions in audio so that they properly clamp values to between -1 and 1.
- Many of the examples for SetListenerPosition were incorrect in the online documentation. These have been fixed.
- Added a way to connect the game engine into a Java Canvas.
Quorum 4.0.4 August 6th, 2016
This patch fixes a variety of issues found at EPIQ 2016 and after by users. This patch includes:
- Made Several fixes to the sound system, including a case where we accidentally flipped the axis in 3D sound for certain helper actions (e.g., rotation).
- Increased the number of sounds that can be played at the same time in the game engine.
- Fixed a bug causing rotation in the z-axis to rotate counterclockwise instead of clockwise. The other axes had the intended behavior.
- Fixed a bug causing rotation hierarchies (e.g., children several levels deep) to not properly rotate.
- Fixed a bug causing projects loaded on a networked drive in Windows 7 or 10 to not load game engine projects correctly.
- Finished more documentation for the game classes. There is still more left to complete, but this adds quite a bit. Many examples are now included where they were previously missing.
- Added actions to get and set the cursor position in a text box.
- Fixed a bug in text box causing an exception to be thrown if the user typed a space.
- Fixed a minor bug in the compiler causing the system to throw an exception if casts are used incorrectly in a particularly peculiar way.
- Fixed a bug causing layers to not properly handle event listeners if a listener is added directly to the item.
- Added sphere primitives.
- Fixed a usability issue with the Camera class. Its parameter lists were inconsistent, which is now corrected.
We would like to thank Sina Bahram, Pranav Lal, and DJ Prater for their help in identifying some of the problems in the above list.
Quorum 4.0 July 5th, 2016
Quorum 4.0 is the next major update to the programming language. In it, we have provided a variety of new features and improvements for many systems. The highlights of this release include support for 3D gaming (audio + visual), mobile support (iOS only), and significant improvements across the board to the development environment (e.g., navigation, folding). Besides these larger changes, we have spent considerable time making improvements to a large number of systems in Quorum and have expanded on many. This includes the addition of linear algebra libraries, improvements to the existing LEGO libraries, and significant improvements to the design of the game engine. Finally, we have added many new tutorials on a variety of systems.
3D Gaming
One of the major features in Quorum 4.0 is a new 3D gaming system. On the backend, Quorum uses OpenGL, one of several standard gaming engines for commercial games. On the user level, however, we have spent significant effort working with people writing games in Quorum to try and iterate on our design. Overall, the 2D system has been improved and simplified in a variety of ways, the overall libraries have been unified, and accessibility support is now baked in in ways we think are easier to understand.
Besides this, 3D support itself has been modeled similarly to 2D. In other words, with 2D, you could load an image or sound and move it around. With 3D, while traditional modeling applications in OpenGL or Direct3D require quite a bit of knowledge about computer graphics, our libraries try to simplify those aspects of the system that we can. The idea is, besides the added dimension, to make the 2D and 3D systems feel as similar as possible to the programmer to aid in learning. Here are some additional highlights for the new engine:
- We added a linear algebra library. The linear algebra libraries include: Matrices Vectors Affine Transformations Frustrum Calculations Planes Quaternions Ray calculations Generally, students do not need to use the underlying mathematical libraries unless they need something specific in their game. However, the full stack is there if people need it.
- Matrices
- Vectors
- Affine Transformations
- Frustrum Calculations
- Planes
- Quaternions
- Ray calculations
- Games can now be compiled to mobile platforms. In Quorum 4, we are starting with iPhone support, but hope to add Android support in a patch.
- Games now consist of a system of layers. Each layer can contain either 2D, or 3D, content, but may not contain both. Each layer is controlled separately and includes support for both visuals and sound. The application of this approach is that it makes it easier to create independent visuals or aural components, like a user interface on top of a 3D game. Many users will have no need of layers and their use is not required.
- Changed the Item class considerably in order to work for both 2D and 3D. Many actions have been slightly altered or moved to either an Item2D class or Item3D class. We tried not to make changes that broke previous games, except in the case where usability testing revealed a system was difficult to use.
- Collision system: In focus groups and interviews for Quorum 3.0, users consistently had difficulty with the collision system. For Quorum 4.0, we rewrote the system from scratch. It is now, we hope, significantly easier to use. In addition, we have rewritten the technical side from scratch, now using standard approaches from the scientific literature. More enhancements are planned for the future.
Visual Games
The visual aspect of Quorum has now been significantly improved. We now support 3D games, built on our linear algebra library. We have also conducted significant user testing on creating games with our libraries and have spent considerable time re-tooling them in order to make them easier to use. This was conducted for both the 2D game system and the newer 3D one. To make things easier, we have also unified the libraries for 2D and 3D games, so that the way you interact with them is as similar as possible. Below are some highlights from the visual part of the system.
- Cameras: Quorum has now integrated a camera system for both 2D and 3D games. This includes the standard perspective and orthographic modes and the interfaces are unified to make it simpler across dimensions or systems.
- Models: We are supporting two different kinds of modeling formats in this first release, namely g3db, the format used by the well known libGDX library, and wavefront's .obj and .mtl format's. We hope to support more formats in the future.
- Added in a lighting system. Currently, we support: Ambient lights: In graphics, these lights indicate the overall lighting of the scene. Directional lights: In graphics, these lights indicate the overall lighting coming from a particular direction. Point lights: Point lights are those that can be added to the engine and moved around like any other object. You can also attach them other game objects and they will adjust automatically (e.g., a sphere that emits light).
- Ambient lights: In graphics, these lights indicate the overall lighting of the scene.
- Directional lights: In graphics, these lights indicate the overall lighting coming from a particular direction.
- Point lights: Point lights are those that can be added to the engine and moved around like any other object. You can also attach them other game objects and they will adjust automatically (e.g., a sphere that emits light).
- Adjusted many internal classes to account for multiple operating systems (e.g., various mobile platforms).
- Added support for 3D textures and materials.
- Adjusted the input system to account for changes to all of the others.
- Primitives: Like with 2D, we wanted to simplify making basic images and shapes. For 3D, we continued this by providing a variety of 3D shapes that can be loaded easily and by default.
- After conducting some internal and informal pilot tests, we adjusted OpenGL's coordinate system to be left-handed instead of right-handed. We then unified this across all systems in Quorum. This has no impact on, but is consistent with, the 2D system.
Auditory Games
In addition to broad gaming features, we have expanded on the auditory system in Quorum. Here are the features we now support.
- Added in support for creating 3D scenes. This includes making an "Item" version of sounds that you can attach to the game engine and manipulate in real-time. The application is that it allows you to make a character and walk around a 3D environment.
- Added in support to change the listener position in a scene.
- Added in the ability to have doppler shift on sounds.
- Fully tied the auditory system with the visual system so that the libraries match. This make it easier to create games where, once characters are setup, the sounds automatically set themselves up logically without much input from the programmer.
Development Environment Improvements
This update adds a variety of development environment features. This includes brace matchers, highlighters, a rewrite of the navigator, efficiency improvements, and a variety of other features.
- Added brace matching into the development environment. This feature existed in a previous version of Quorum, but was removed in 3.0 temporarily. It is now back and significantly improved.
- The navigator system has been rewritten from scratch. The new version now includes: Significant improvements to user behavior like sorting. Improvements to keyboard accessibility. The addition of control structures into the navigator window. The reason this change was made is due to the study run by Baker, Milne, and Ladner. The design of this new system is not identical to StructJumper, but it hits on the key properties and allows you to easily obtain much of the same information accessibly. A fix to an issue that was causing the navigator to be unresponsive when the development environment boots for a short time. A few new visual icons for control structures.
- Significant improvements to user behavior like sorting.
- Improvements to keyboard accessibility.
- The addition of control structures into the navigator window. The reason this change was made is due to the study run by Baker, Milne, and Ladner. The design of this new system is not identical to StructJumper, but it hits on the key properties and allows you to easily obtain much of the same information accessibly.
- A fix to an issue that was causing the navigator to be unresponsive when the development environment boots for a short time.
- A few new visual icons for control structures.
- Added code folding into the system. By default, the folds are open.
- Added semantic coloring into the environment. This includes coloring fields green, bolding action and method names, and other features common to programming languages.
- Added occurrence marking. This includes highlighting components that are semantically related (e.g., variables in the same scope).
- Included a number of improvements to code completion. This includes: Better responsiveness overall. Primitive types now correctly show code completion values. Types involving parent variables now correctly walk you through a call. For example, if you type parent:, it will provide you what words are legal next. Similarly, once a parent is chosen, the actions and fields from that parent will be shown.
- Better responsiveness overall.
- Primitive types now correctly show code completion values.
- Types involving parent variables now correctly walk you through a call. For example, if you type parent:, it will provide you what words are legal next. Similarly, once a parent is chosen, the actions and fields from that parent will be shown.
- Quorum 4.0 now includes editor hints. When a user makes a mistake, like having a compiler error or other problem, in some cases Quorum can detect what the problem was and automatically fix it on request. This does not work for all possible types of errors that can be made, but is useful for common situations. In all cases, editor hints have the keyboard shortcut of ALT + ENTER. Some examples of the hints provided by the system are: Automatically Find Use Statements: If you want to use a library, but do not remember the correct use statement, you no longer have to. For example, if you type Game game, and get a red line, Quorum will ask if you want to "fix" the error, which will put the correct "use" on the top of the file. Automatically Compute Return Types: If you have an action that is called, like MyAction(), but you don't remember its return type, Quorum will now automatically fill in the left hand side of that expression. So for example, it may convert "MyAction()" to "text value = MyAction()"
- Automatically Find Use Statements: If you want to use a library, but do not remember the correct use statement, you no longer have to. For example, if you type Game game, and get a red line, Quorum will ask if you want to "fix" the error, which will put the correct "use" on the top of the file.
- Automatically Compute Return Types: If you have an action that is called, like MyAction(), but you don't remember its return type, Quorum will now automatically fill in the left hand side of that expression. So for example, it may convert "MyAction()" to "text value = MyAction()"
- Fixed a wide variety of bugs involving parsing. Some of these caused red lines to show up in inappropriate times.
- Added accessibility support for most of the new development features. The two exceptions in this release are improved accessibility support for GIT/version systems and code folding. Both systems are possible to make accessible, we think, but the way they are integrated into NetBeans. We plan to focus group the known issues this summer to evaluate whether the fixes should prioritized over other potential features.
General Improvements and Bug Fixes
This section includes a variety of improvements or bug fixes the team worked on for this release.
- Added support for the LEGO Gyro sensor.
- Significantly reduced the delay on booting up LEGO robots in Quorum
- Made significant improvements to the documentation generator in Quorum. These include: Updated the look and feel to try and make it easier to read. Added a summary table for actions. Added a summary table for variables.
- Updated the look and feel to try and make it easier to read.
- Added a summary table for actions.
- Added a summary table for variables.
- Significantly filled out the backend of Quorum in regard to how it tracks source code. This should make it easier to add support for other development environments in the future, if we decide to do so.
- Significantly re-tooled Quorum's web support. This is part of a long-term project on the team. Technically, it could be used today, but we are intentionally not creating tutorials or lessons for it, as we are actively adjusting the system in the lab. Eventually, Quorum's website will be rewritten in Quorum using this system.
- Made significant improvements to the Quorum to JavaScript converter. It is still not 100% complete in regard to supporting all Quorum features, but it now supports substantially more. We will continue to work on this tool for future versions, until eventually it will be released as a standalone supported tool for Quorum on the web.
- We rewrote the random number generator class to use the standard Mersenne Twister algorithm.
- Included one minor bugfix to bitwise operations.
- We made a variety of optimizations to Quorum, which ultimately causes the compiler to compile itself approximately 17 percent faster on average. As the Quorum project continues, we will optimize further, and test under a variety of other conditions, over time. Users needing optimizations for particular applications can make requests on the mailing list.
- We removed the blueprint package for data structures. This was a small optimization in our system and the package was not really used in a meaningful way anyway. This simplifies the inheritance hierarchy of our data structures.
- We moved the Iterator class to Libraries.Containers.Iterator, out of the now removed blueprint package.
- We have included a variety of minor compiler bug fixes the team has completed over the last year. As the compiler has become more mature, these have become increasingly esoteric (e.g., better accounting for user error).
- Improved the clarity of some compiler messages based on user feedback. We think there is more work to do here, but we are making these changes slowly, carefully, and with user feedback.
- We fixed a number of issues related to how various screen readers work with Sodbeans. This especially includes details of our startup scripts.
- We changed the startup script to now say Sodbeans 6.0 instead of NetBeans. So far as we could tell, some users seemed to prefer it says Sodbeans so they can identify it when it starts up. This used to be the case, but changed in Sodbeans 5.0. It has now been changed back.
- A list of bug fixes tracked by our bug tracker (Jira) can be found on that site.
Documentation Improvements
We have made a number of changes to the online documentation in Quorum, including adding a variety of lessons and tutorials. These include:
- The events tutorial has been split into four separate ones. These include input polling, mouse events, collision, and touch events.
- Added a touch events tutorial for mobile platforms.
- Updated the collision tutorial for Quorum 4.0.
- The drawing and animation tutorials have been renamed to account for changes to the system.
- Added a tutorial on loading 3D models and drawing them in 3D.
- Added a tutorial on basic animations in 3D (e.g., rotations, scaling, moving)
- Added a tutorial system on how to manipulate the camera.
- Added a tutorial on lighting.
- Modified the tutorial on creating 3D sound scenes, now including the use of doppler and the new Audio3D class. This new class is used to attach Audio objects to 3D moving items.
- Added a tutorial on using 2D or 3D layers.
- Adjusted the LEGO tutorials to include the gyro sensor.
- Added a tutorial on team programming in Quorum.
Quorum 3.0 Update 48 July 22nd, 2015
This update is deployed to the update centers.
- Added a new action for custom colors in the Color class.
- Fixed a bug in the speech engine causing some say statements to not output sound correctly.
- Fixed a bug with the Error Window hotkey causing it to not work if the C++ modules are loaded.
- Changed the Error window hotkey to CTRL + ALT + SHIFT + 9
- Changed the text-to-speech toggle to CTRL + ALT + SHIFT + T
Quorum 3.0 Update 44 July 21st, 2015
This update is deployed to the update centers.
- Changed the loading of the game engine plugins to include a static initializer.
- Fixed a bug causing the Enable Looping action in Audio to not work correctly.
- Fixed a few additional minor bugs.
Quorum 3.0 Update 43 July 16th, 2015
This update is deployed to the update centers only.
- Fixed a bug causing self-voicing to fail on bootup if you were using JAWS or NVDA and you installed the sleep scripts.
- Fixed a bug in the game engine causing children to not properly respect the scale, rotation, and orientation of their parents.
- Added a hotkey and menu item for turning text-to-speech on and off.
- Changed the name of the menu called Magnification to Accessibility.
- Fixed a bug in the project properties window forcing the user to reboot NetBeans in order for a name change to take effect.
- A few additional minor bug fixes.
Quorum 3.0 Update 42 July 9th, 2015
This update is deployed to NetBeans only, but not as a separate zip file on the release servers.
- Actually fixed bug with Lego Robot files not properly being sent over to the robot on Windows.
- Added a test case and fixed a compiler bug.
Quorum 3.0 Update 41 July 8th, 2015
This update is deployed to NetBeans only, but not as a separate zip file on the release servers.
- Fixed a bug with scaling in the game engine.
- Fixed a bug with code completion showing the wrong documentation.
- Fixed a bug with Lego Robot files not properly being sent over to the robot on Windows.
- Finished the documentation for the game engine. Items should now show up correctly in code completion.
- Finished the documentation for the lego robot systems. These should also now show up correctly in code completion.
- Fixed an issue in the documentation generator causing robots to not show up properly.
Quorum 3.0 June 30th, 2015
Quorum 3.0 represents the most significant change to the Quorum programming language since its inception and is a near-complete rewrite. When the Quorum project first began, it was written in Java, was interpreted, and we were really just trying to make programming a little easier. As of 3.0, the project has gone further than we ever imagined: Quorum is now faster, robust, and written in itself. As is a long tradition in programming language design, once a language is sufficiently powerful to write the next version in itself, so-called self-hosting, it is a sign that the language is becoming increasingly mature. On Quorum, we have finally reached this milestone and will now be shifting our attention to improved library and development environment support. Library requests to the team, or contributions, are welcome.
We had a number of technical goals in mind for the Quorum 3.0 release. We highlight some of the most significant alterations below:
Standard library changes
- Game Engine 1.0: Quorum now supports a computer gaming
engine (in OpenGL). In the first release we are supporting 2D graphics and
basic 3D sound (through OpenAL). The design of the system was inspired in
part by the excellent LibGDX project. Some of the major features include:
- OpenGL 2D graphics. The OpenGL aspect is wrapped using LWJGL for efficiency and is used similarly to other toolkits on the market.
- Event handling (e.g., keyboard, mouse)
- Font rendering through the FreeType font libraries.
- Open AL support for audio. In this first release, we support .ogg and .wav files. This library replaces (and upgrades) the existing sound libraries.
- A game creation architecture. This includes a variety of support classes to try and make it easier to create computer games.
- Automatic collision detection support.
- Basic support for texture atlases (ImageSheet objects in Quorum speak).
- A significant amount of documentation and curricular lessons designed to help people learn how to program games in Quorum. Some of this material will come out on the June 30th release, while more will trickle out over time as we write it.
- Lego NXT robotics toolkits are now supported. Specifically, we now support connecting to lego robot kits, which can be used for a wide variety of purposes. Most major functionality in the lego kits are supported.
- Removed support for Botball robots. We feel as if this library was generally not used much by the community and have decided to cease support. Continuing support for this would have required us to re-tool the system to support the new Botball kits, but we decided to focus time on Lego instead, as these kits are cheaper and more popular.
- Included a wide variety of small changes or improvements to the standard library. Many of these came about due to the bootstrapping process, or teaching Quorum to compile itself.
Integrated Development Support changes
- Sodbeans has largely been rewritten from scratch. The reason we did this is because we largely had to, given the new compiler.
- The module system used by Quorum has been significantly condensed. This will make the update process easier in the future.
- Accessibility Support is now in its own module. A new Accessibility preferences pane provides a variety of new accessibility options.
- Speech now works in IDE on Mac OS X.10, even for components that do not read properly in JDK8 or NetBeans. This is only true if self-voicing is active.
- Several bug fixes to the Quorum debugger have been implemented compared to the 4.6 release. This includes fixes for efficiency as well as user interface improvements.
- The IDE experience has been significantly improved, with much more responsiveness from Quorum generally.
- Integrated an Image Sheet Generator for the new game engine. This generator allows the user to automatically generate ImageSheets in IDE to simplify the process compared to kits like LibGDX, where the process can be somewhat confusing.
- Fixed a bug related to the IDE using too many CPU cycles after a number of runs of Quorum.
- Changed all API calls to use the new Quorum 3 implementation, with relatively little supporting Java code in the IDE. This should make it easier to port Quorum to other IDEs, for those that prefer different systems.
- Improved the project user interface in the properties window of Quorum projects.
- Added support to wrap in custom plugins or jar files into Quorum projects. Users should only do this if they know what they are doing, but this new system provides a much more convenient method for connecting between Java, C/C++, and Quorum, including full access to the JDK, C libraries, etc.
Major language changes
- Quorum now uses an ANTLR 4 backend. Many compiler phases in the language are now considerably faster, thanks largely to Terence Parr's clever work.
- Quorum's type system has been significantly revised, removing some inconsistencies and significantly simplifying tiling/opcode generation. This approach is also somewhat more efficient than in previous releases and works for any future cross-compiling we have planned (e.g., Quorum to Javascript converters).
- Quorum's exception (called Errors in Quorum) system has been redesigned from the ground up. In the new approach, users will always see Quorum errors, never the Java/other equivalent, providing a unified approach.
- Quorum can now generate Java bytecode directly using the excellent ASM bytecode library. Others can use this library for bytecode generation as well. The entire JDK spec is not supported in our hooks to ASM, as we started with features specific to the Quorum compiler, but quite a bit is supported.
- Quorum's backend now supports a number of potential formats, not just the Java Virtual Machine. In post 3.0, we plan to create a first additional backend with a Quorum to Javascript converter. A prototype using this technology can be found at quorumlanguage.com in our hour of code tutorial. Updates and more libraries will be supported over time.
- Fixed a bug in Quorum 2.0 that didn't allow us to support action chaining (e.g., a:b():c()). Code completion is not yet finished for chained values.
- A significant optimization pass has occurred for programs generated in Quorum, making programs have faster execution and bootup times under some circumstances.
- Quorum is now fully written, and compiles in, itself. In other words, Quorum 3.0 was compiled in Quorum 2.2 (and then 3.0). The final version of Quorum 3.0 is compiled in Quorum 3.0.
- Quorum's compiler error messages have been redesigned using evidence gathered by Lee and Ko as a loose guide. More work is needed here, as the language and messages are different than Lee/Ko's, but it's a potential improvement until more or better evidence is found.
- Fixed a bug in the way Quorum handles inheritance, which ultimately changes how plugins are written. While users generally do not have to use this system, this causes any hidden variables written by the compiler to have slightly different names (e.g., $Interface to _). Also, because of this change, variables, actions, and classes can no longer have an underscore as its last character.
Type system/variable changes
- Removed a number of cases where Quorum was being slightly "too flexible" in its conversions between various types, especially in regard to auto-boxing.
- Fixed several issues where Quorum was making strange decisions in what it was allowing users to do (e.g., action Test returns text would allow return false).
- Fixed issues with not being able to pass undefined values to text fields under some circumstances.
- Fixed a couple bugs with how fields and variables were implemented in bytecode.
- Carefully adjusted the amount of type inference allowed on the inside of actions. The value is somewhat conservative and needs to be evaluated in empirical studies. Currently, we know of no randomized controlled trials on how much inference to allow. Users that do have evidence from randomized controlled trials should get in touch with our team on the mailing list.
- Made auto-boxing as transparent as possible, with the hopes that we can eventually disallow use of capital letter types (e.g., Text vs. text).
- In almost all cases now, actions can be called, and chained, on primitive values without any auto-boxing. In other words, calling actions on primitives is quite efficient in Quorum, as values have low memory footprints, but yet still "look like" calls to objects in other languages, even though they technically are not. Users should not notice a difference with previous releases, with the exception that chaining is allowed.
- Significantly redesigned the testing for the type system, with future improvements in mind. Especially, we have been designing programs to auto-generate test cases that ensure each part of the type system is properly exercised, where, importantly, we can regenerate the entire suite if a change to the type system is made (hopefully with corresponding evidence).
Exceptions (Error) system changes
- This system has been fully redesigned. This is a backend change and does change how user's use errors. It does, however, make the system work considerably better.
- In the new system, Quorum Error classes, must inherit from Error, and only, Error. The reason is due to a quirk in Quorum's inheritance system. This is a potential issue that needs further study, but allows the runtime system to have considerable flexibility in how it handles errors.
- Errors generated by the underlying backend are now caught and automatically converted to Quorum style. This allows us flexibility in the system, so that we can study aspects of it in future empirical studies. Previously, we could not modify these internal aspects, giving us too little wiggle room when designing empirical studies to study this system.
- Detect blocks can still contain multiple types (e.g., detect e is CastError), but the compiler now guarantees these are unique. the Quorum 2.0 branch was intended to work similarly, and was close, but this fixes a few edge cases.
- Detect blocks may now be rewritten to a new location by the bytecode generator. This will not impact the semantics of a program, but we have it in the notes in case it is confusing to someone that looks at the generated bytecode.
- Leaving off a type for a detect block makes it automatically of type Error, which is now a catch-all for all possible kinds of system or Quorum errors. This error is guaranteed to be written last in the bytecode generation. In other words, any block of type Error is written last and catches any and all errors, even if these errors were generated by the underlying virtual machine.
- Users that find a Java/other error that gives an error message that is difficult to understand should email the mailing list. These issues are easily adjusted now without changes to the compiler itself.
- Fixed a bug that caused Quorum to run forever and need to be killed if an exception occurred in a generated program.
- Adjusted the API for the Error classes making them more consistent, generally, and also making them conform to more modern naming schemes used in Quorum. For example, previous studies showed the word "output" was more intuitive than "print," so this release changes PrintStackTrace to OutputStackTrace. Obviously, the difference is pretty minor, but increases consistency overall.
- Considerably improved the stack trace information presented from errors.
- Errors do not now have a corresponding interface type generated, unlike all other Quorum classes in bytecode. The reason is because of the way Java handles exceptions in regard to its inheritance hierarchy (e.g., Throwable and below).
Control Structure changes
- If statements now properly short circuit. This was a bug in Quorum 2.
- Included a number of optimizations at various points in the control structure pipeline.
- Simplified the bytecode generation for various kinds of expressions.
- Fixed a bug in if statements that, under very rare circumstances, caused a bytecode verification error.
Compiler Support
- Added preliminary support for the ASM bytecode library to Quorum. This initial version is somewhat bare bones in this first release, but still is sufficient to implement much of a modern compiler built on JDK 7 or 8. Teams interested in using Quorum to generate bytecode that need additional support are encouraged to get in touch, as generating bytecode in Quorum is relatively easy (so far as bytecode writing goes).
- Added parsing/semantic analysis libraries for Quorum. Others can inherit from these and garner full ANTLR 4 support for reading Quorum source
- All symbol tables, analyzers, and generators are public and easily modified for those wanting to write support for Quorum into IDEs or tools, either online or offline.
- Bytecode generation/semantic analysis is now done in two-passes, which simplifies finding/fixing bugs and the generation process compared to the Quorum 2 branch.
- Added a new test suite architecture for compiling and running a large set of cross-compiled Quorum programs. Currently, the system supports programs converted from Quorum to Java Bytecode and JavaScript.
Other changes
- Fixed a host of minor bugs throughout the language.
- Considerably improved Quorum's automated test suite generally, giving us increasing confidence that we are properly exercising each system. There's always more work to do on testing, but it's a substantial improvement.
- Fixed a bug causing compiled Quorum programs to load very slowly.
- Input commands now work from the command line, but do not pop-up a window. To make input scalable we have changed the in-IDE behavior as well, now using the standard input box line in NetBeans. This behavior is, we feel, somewhat confusing, but is a tradeoff that fixes a significant bug in Quorum 2.0.
- Added a separate command called input, with no parameters, which allows the user to request input without outputting information first.
- Quorum now requires default values for variables on the inside of actions or in fields. The reason is because Quorum was allowing seemingly rather arbitrary defaults to be selected, which appeared confusing to some users. For example, "boolean a" could default to either true or false. While we could argue one way or the other, forcing a right-hand-side makes the decision explicit.
- Because of the flexibility of the ALL-STAR algorithm in ANTLR 4, it was relatively easy to fix an issue with negative numbers not correctly parsing under a few (relatively unimportant) circumstances. This was never a major problem, but does make expressions just slightly more flexible and was an annoying bug the team wanted fixed.
- Fixed a number of issues with the way parent actions or fields were called.
- In classes that explicitly declare system actions, the plugin generated is now accessible from inside the plugin architecture. To access it, users can access the variable named plugin_.
Quorum 2.1 December 16th, 2013
- Added a peer review system for Quorum's standard library.
- Added a submission system for the standard library.
- Added a badging system for recognizing users that contribute to Quorum.
- Added an information page on the submission system and process.
- Fixed a broken connection causing the accessibility libraries to not properly show up in the library list.
Standard Library and compiler Fixes/Changes
- Fixed a bug causing certain primitive types to not hash correctly.
- Fixed several minor bugs in the standard library.
- Added new data libraries for reading XML files and CSV files.
- Added a number of new additional test cases for various components.
- Fixed a rare verifier error in the compiler.
- Fixed several other small compiler issues.
Quorum 2.0.1 August 13th, 2013
This is a bug fix release for the Quorum 2.0 branch.
- Finished and integrated the Mac OS X version of the accessibility libraries. While the accessibility model on Mac is very different than on PC, the Quorum libraries should work as similarly as we could make them on each platform.
- Fixed a bug causing the output buffer to not be cleared correctly on shutdown of a program.
- Fixed a number of bugs in the accessibility libraries.
- This is a Sodbeans release only. We are in the process of fixing one more important bug on the 2.0 branch before we put out a new Quorum installer. As such, those wanting this particular version of Quorum will need to get the updates in Sodbeans.
Quorum 2.0 June 6th, 2013
Quorum 2.0 includes a host of improvements to the type system, adds the ability to call actions on primitives, includes minor syntactic improvements, and enhances the code completion helper libraries.
- Type System Changes: A number of changes have been made to
the type system, finishing off a set of long planned alterations. We hope now
that Quorum conforms to the best available empirical evidence.
A number of changes have been made to the type system, finishing off a set of long planned alterations. We hope now that Quorum conforms to the best available empirical evidence.
- Actions that return a primitive text value can now return undefined.
- Text primitives can now be assigned as undefined.
- Added the ability to call actions on primitive values. For example, we can now add a colon after an integer and call any action provided by the Object version of the primitive. Generally, this makes it far less necessary to instantiate an object for a primitive type. The solution for this is relatively efficient, as behind the scenes, Quorum calls a static action, with only very slightly more overhead than calling the action on the object.
- Added all of the new type system features into the code completion APIs, meaning that integrated development environments using Quorum, like Sodbeans, should get them for automatically and without alteration.
- Language Additions/Changes:
- The "print" keyword has been changed to "output." This change conforms to data from our surveys with novices, in addition to conforming to common sense. For example, getting input from Quorum required using the word input, but getting output previously required using the word print. This made little sense, as print could have meant printing to a printer, not necessarily printing to a console. This way, input implies input and output implies output, making the language more consistent. All standard library materials, book materials, and curricular materials have been altered for the change.
- Changed the phrase "of type" in the Error architecture to "is."
- Changed the phrase "is a" in the inheritance system to "is."
- Finished a very basic initial version of accessibility APIs for Quorum. This version is largely a proof of concept, but provides some infrastructure calls down to various operating systems and unifies accessibility calls (NSAccessible, IAccessible). This first version is available only for the Windows operating system and only works when using compiled mode. It does not yet function in interpreted mode or on Mac or Linux.
- Fixed a bug in the compiler causing extra items to sometimes be wrapped into an output .jar file.
- Added the -server command line flag. This flag turns Quorum into an HTTP server, where code can be sent to it and the output is returned. Additionally, the -server insecure can be called turn off security settings while in this mode. This last mode is not recommended unless the user is running the server locally.
- Added a new flag, -java. This flag allows the user to pass an existing Java jar file to Quorum. When passed, Quorum will automatically wrap any code into the built jar's manifest on compile. This should make it easier for external groups to combine their existing Java code with Quorum projects.
- Finished a significant optimization pass of the compiler. There is always more work that can be done in this area, but a number of the bottlenecks in the Quorum 1.7 branch and earlier have been hammered out.
- Significantly improved the -verify flag, which now gives a much better idea as to which methods have non-compiling, missing, or otherwise broken examples in the documentation.
- Removed the "quote" token from the language. Now, the text primitive or object can return special character codes by calling actions, including arbitrary unicode values. Helper methods are available for common special characters (e.g., newline, quotes, tabs).
- Lots of bug fixes.
- New Quorum Website
We have substantially revamped the Quorum website, including adding the ability to run some Quorum programs online and the ability to rate the words/symbols used in the standard library, in an effort to improve them further.
- The website now has a much improved look and feel.
- The page for finding files in the standard library is now grouped by category, hopefully making it easier to find classes.
- The Quorum website is now easily searchable.
- Users can now login to the website through google or a custom account.
- Pages with documentation generated by the compiler now allow the user to rate various attributes of a class (e.g., the class name, variable names, action names). The user must be logged into to rate.
Quorum 1.7 February 25th, 2013
Quorum 1.7 adds in a new type inference system, upgrades the internal architecture substantially, and fixes a number of known bugs.
- Quorum now has a type inference system that can be used on the inside of actions (but not in declarations). In effect, this means that users can write phrases like "a = 5" and the compiler will still statically check, but will allow the type declaration to be excluded under many circumstances. This new system partially completes changes to the Quorum 2.0 type system, which conforms to user studies with humans done by our team and Stefan Hanenberg.
- Substantially altered the static analysis tools internally to Quorum. This greatly increases the quality of the types of tools that can be built on top of the compiler. For example, Sodbeans now has much better code completion support due to this upgrade.
- Added new web libraries for Quorum. This initial version is in beta and will be completed in Quorum 2.0. The current version, located in Libraries.Web supports the HTML 5 specification (or by calling print "my page here"). There are a number of limitations in this first release, but a basic web server can be created by passing the -web tag to the compiler (or in Sodbeans).
- Added a hash table to the standard library under Libraries.Containers.HashTable.
- Added a class for handling bitwise operations to the standard library under Libraries.Compute.BitwiseOperations.
- Made more changes to the compiler errors output by Quorum as part of our continuing mission to make Quorum easier to use.
- Updated and expanded the curriculum and documentation for Quorum.
- Added a way to pass and use command line arguments.
- Fixed a bug with the "me" keyword.
- Fixed a rare, but critical, bug in the inheritance system.
- Fixed an odd bug in the scoping system.
- Fixed a number of small edge-case bugs.
Quorum 1.6 September 9th, 2012
Quorum 1.6 contains a number of important bug fixes.
- Fixed a number of bugs with the error system (called exceptions in other languages). These changes include a near rewrite of the bytecode generation algorithms for this system.
- In order to help identify problems in the future, we have added a considerable number of test cases for the errors system. We think these tests offer a much more complete automated suite for this part of the compiler.
- Fixed some bugs in the control flow analysis algorithms. These fixes will not impact the runtime behavior of any Quorum programs, but will make alternative control flow sequences that are illegal or impossible a little bit more obvious.
- Improved the clarity slightly of a few compiler errors. As always, making compiler errors easier to understand is a work in progress.
- Fixed a number of small edge-case bugs.
Quorum 1.5 June 26th, 2012
- Significantly altered the syntax for conditional statements (if). The reason for this change is because we ran an empirical study, which showed evidence that novices using this construct made consistent errors, especially in the use of the token "then" and "end" on the inside of else if constructs. There is still one more set of tests we would like to run on this construct, to reveal whether the keywords "else if" lead to higher accuracy than our current choice, "elseif." We have not yet discovered clear empirical evidence in the academic literature, so will probably end up running the tests on our own. Below we give a quick example of the change.
We previously had the following:
if a = b then
end else if c = d then
end else then
The syntax is now the following:
if a = b
elseif c = d
We may change the design of this construct again in the future if we find more, or better, evidence for against any particular design. Users, or other researchers, that have conducted formal empirical studies, with corresponding evidence, that they think might illuminate more decisions here should let us know.
- Made minor changes to check-detect syntax. Like if statements, we removed the inner "end" statements. We did not run a formal empirical study on this change, but we thought it was a likely conclusion, given the if statement results. Further, this change keeps our language consistent across language constructs.
- We now have a new Quorum Interpreter In internal tests, this includes a speed increase from between 1,100% and 21,000% speed improvement for simple examples. This timing data includes just the speed the interpreter runs, not compilation speed. This interpreter is now used by default if the -interpret flag is used. For example, "quorum -interpret Main.quorum" would use the new version.
- In internal tests, this includes a speed increase from between 1,100% and 21,000% speed improvement for simple examples. This timing data includes just the speed the interpreter runs, not compilation speed.
- This interpreter is now used by default if the -interpret flag is used. For example, "quorum -interpret Main.quorum" would use the new version.
- Added quite a few new compiler tests. These tests have helped us to identify and fix a host of bugs (mostly minor) in the compiler, including a host of edge cases.
- Quorum now has a significantly improved documentation generation system Changed the -document flag so that it now auto-generates HTML5 documentation for Quorum libraries. Added a new flag called -verify, which automatically checks that any "examples" used in the documentation compile. Updated the online wiki Quorum documentation to the 1.5 syntax. Significantly improved the quality of code examples in Quorum documentation.
- Changed the -document flag so that it now auto-generates HTML5 documentation for Quorum libraries.
- Added a new flag called -verify, which automatically checks that any "examples" used in the documentation compile.
- Updated the online wiki Quorum documentation to the 1.5 syntax.
- Significantly improved the quality of code examples in Quorum documentation.
- Fixed a major compiler bug that didn't allow the user to access parent variables.
- Library Changes Completed a total redesign of the File class. We're looking for feedback on this class, but hope that it will be easier to use. Minor bug fixes in the music and sound classes. Fixed a number of bugs in classes like Random and the Containers. Added a new class called Libraries.Sound.Audio, which can playback media files. In this first release, it is designed to make it easy to playback .wav files easily. Future releases will probably expand the functionality further, depending on whether we get any user requests. Added a new set of Robot Control Libraries for interacting with iCreate's CBC robot controller.
- Completed a total redesign of the File class. We're looking for feedback on this class, but hope that it will be easier to use.
- Minor bug fixes in the music and sound classes.
- Fixed a number of bugs in classes like Random and the Containers.
- Added a new class called Libraries.Sound.Audio, which can playback media files. In this first release, it is designed to make it easy to playback .wav files easily. Future releases will probably expand the functionality further, depending on whether we get any user requests.
- Added a new set of Robot Control Libraries for interacting with iCreate's CBC robot controller.
- Adjusted the design of Compiler error messages. Our changes here are pretty minor, but our goal was to generally make the messages more consistent and obvious to users. users that find error messages that still are not clear should please feel free to file a bug report.
- Lots of bug fixes.
Quorum 1.0 January 30th, 2012
This is the initial release of the Quorum programming language. Currently, Quorum has the following features:
- Fully compiled down to Java bytecode
- Static, but flexible, type checking
- Unique control structures, heavily tested to be easy to understand by novices and professionals
- Object-oriented language
- Standard Library (e.g., data structures, music generation, text-to-speech)
- Plugin system for extending Quorum
- Integration with the NetBeans IDE
- Talking Omniscient debugger (The debugger literally talks to you and tells you what is going on).