| 030:009 Khan | : |
Do they not travel in the land, and see what was the end of those before them? They were superior to them in strength, and they tilled the earth and populated it in greater numbers than these (pagans) have done, and there came to them their Messengers with clear proofs. Surely, Allah wronged them not, but they used to wrong themselves. |
| 030:009 Maulana | : |
Have they not travelled in the earth and seen what was the end of those before them? They were stronger than these in prowess, and dug up the earth, and built on it more than these have built. And their messengers came to them with clear arguments. So it was not Allah, Who wronged them, but they wronged themselves. |
| 030:009 Pickthal | : |
Have they not travelled in the land and seen the nature of the consequence for those who were before them? They were stronger than these in power, and they dug the earth and built upon it more than these have built. Messengers of their own came unto them with clear proofs (of Allah's Sovereignty). Surely Allah wronged them not, but they did wrong themselves. |
| 030:009 Rashad | : |
Have they not roamed the earth and noted the consequences for those who preceded them? They used to be more powerful, more prosperous, and more productive on earth. Their messengers went to them with clear signs. Consequently, GOD was not the One who wronged them; they are the ones who wronged their own souls. |
| 030:009 Sarwar | : |
Have they not travelled through the land to see how terrible was the end of the people who lived before them. The people who lived before them were stronger than them in might, in tilling, and in developing the earth. Our Messengers came to them with clear miracles. God did not do an injustice to them but they wronged themselves. |
| 030:009 Shakir | : |
Have they not travelled in the earth and seen how was the end of those before them? They were stronger than these in prowess, and dug up the earth, and built on it in greater abundance than these have built on it, and there came to them their messengers with clear arguments; so it was not beseeming for Allah that He should deal with them unjustly, but they dealt unjustly with their own souls. |
| 030:009 Sherali | : |
Have they not traveled in the earth so that they might see how evil was the end of those who were before them? They were stronger than these in power, and they tilled the soil and populated it more and better than these have populated it. And their Messengers came to them with manifest Signs. And ALLAH would not wrong them, but they wronged their own souls. |
| 030:009 Yusufali | : |
Do they not travel through the earth, and see what was the end of those before them? They were superior to them in strength: they tilled the soil and populated it in greater numbers than these have done: there came to them their messengers with Clear (Signs). (Which they rejected, to their own destruction): It was not Allah Who wronged them, but they wronged their own souls. |
Concepts/Themes Covered: أركان الإسلام > التوحيد > توحيد الله تعالي > تنزيه الله تعالى عن الظلم Pillars of Islam> Islamic> Oneness of Allah> Allah the Exalted is Free of Injustice أركان الإسلام > التوحيد > توحيد الله تعالي > دعوة من لا يقر بالوحدانية إلى الاعتبار بمن سبقهم Pillars of Islam> Islamic> Oneness of Allah>A Call to those who do not Believe in Monotheism to Learn from their Antecedents أركان الإسلام > التوحيد > توحيد الله تعالي > وحدانيته Pillars of Islam> Islamic> Oneness of Allah> Singularity and Being Unique القصص والتاريخ > السير و النظر فى عاقبة الماضيين The Stories and the History> Travelling through the Earth and Considering the End of those who Passed Away
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


Our Values:
Columbia Graphics & Printing uses progressive, preferential hiring to people with substance abuse or mental health RECOVERY. We are looking for persuasive, kind & determined individuals for sales representatives. If interested apply here.
The long term vision is to have a sales representative in every region of Virginia. Conceivably there are 40 positions possible with more opportunities in more populated areas.
Many people in recovery have barriers to work including stigma. We strive to smash stigma by offering employees a second chance, provided they continue their recovery work. We are a drug-free workplace.


Yaya Toure reveals the Manchester United ace who was ‘complicated’ to play against
by Neelabhra RoyManchester City legend Yaya Toure said that Nemanja Matic was difficult to play against.
Toure played against the Serb a couple of times when the latter was at Manchester United and Chelsea. The former Ivorian international said that despite lacking pace, Matic had strength and was clever.
SEE MORE: Real Madrid rival Manchester United for potential £50million transfer
As quoted by the Mirror, Toure said: “Nemanja Matic was complicated. He’s not quick but he’s so strong, clever. All the rest of the opponents, because I always looked at them carefully before games, I get their weakness.”
Matic was a regular at Manchester United during his first two seasons but has fallen down the pecking order under Ole Gunnar Solskjaer this term. The Serbian international is currently injured and even if he returns to action, it seems highly unlikely that he’ll be a regular starter as Solskjaer prefers Paul Pogba and Scott McTominay in central midfield.
At this moment, it will be best for Matic if he leaves Old Trafford or else lack of game time might result in him being omitted from Serbia’s squad for the Euro 2020 qualifying playoffs. The Serbs take on Norway in Path C of the playoff rounds.


Surrey invites residents to ‘help shape future of Fleetwood’ amid SkyTrain planning
City hosting open house on Nov. 13; online survey also launched
by Amy ReidAs TransLink seeks input on the planned SkyTrain extension in Surrey, the city is inviting the public to “help shape the future of Fleetwood” as it develops a new land use plan for the area.
“We are starting on a multi-year process to create a community plan for Fleetwood to guide where people, paths, parks, roads and buildings will go. And, to plan for the extension of SkyTrain along Fraser Highway,” reads a post at surrey.ca. “Join us at this preliminary open house as we welcome the community to share their vision for the future of Fleetwood.”
The city’s website notes that as SkyTrain extends along Fraser Highway this plan will “help us plan for growth.”
The open house is set to run from 3 to 8 p.m. at Surrey Sport and Leisure Complex (16555 Fraser Hwy.) on Nov. 13.
There is also an online survey residents can complete at surrey.ca.
Although the city had begun a land use planning process for Fleetwood in 2014, with open houses in 2014 and 2016, staff was redirected to “immediately start working on a Fraser Highway SkyTrain extension” when the new council was sworn in on Nov. 5, 2018.
READ ALSO: Second round of public engagement for Surrey-Langley SkyTrain extension kicks off
The city is currently preparing background studies for the new draft land use plan, including market, environmental and heritage studies as well as growth forecasts.
In early 2020, the city expects to “begin exploring options through a comprehensive community engagement process” that will involve more open houses, surveys and workshops.
Then, in spring 2020, city staff intend to complete a draft plan to illustrate potential building density, heights and uses in the area; future road networks including proposed walking, cycling and transit infrastructure; and locations of future parks, plazas, open spaces and natural areas.
Once council has endorsed that plan, staff will finalize it. That work will include a detailed engineering and financial analysis, among other things.
It’s hoped to be fully complete and endorsed by council in early 2022.
The plan area is centred on Fraser Highway and runs from Green Timbers in the west to the edge of the Agricultural Land Reserve in the east. The study area extends approximately 1,000 metres from either side of Fraser Highway. In total the plan area encompasses approximately 2,470 acres.


[gecode-users] Atmost constraint
frank lemoine
benouna84 at live.fr
Wed Sep 29 14:36:48 CEST 2010
hello,
i'm searching for a CSP constraint that detect and prevents the repetition of elements in solutions. I thought that the atmost constraint could
resolve it, but this constraint just prevent the repetition in each solution. i'm wondering if there are in Gecode a globale constraint that
propagates the atmost effect on all solutions.
hope this was clear
Best Cheers.
Frank
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20100929/56f7487e/attachment.htm>
More information about the users
mailing list


ペンタックス Digital Camera Utility 4 最新版を公開 デジカメ Watch Watch
Pentax Digital Camera Utility A Mini Guide Pentaxforums Com
K 7 Digital Slr Cameras Ricoh Imaging
Engaging With Ricoh S Digital Camera Utility V5 Articles And Tips Pentaxforums Com Mobile
Pentax Digital Camera Utility 4
Digital Camera Utility Update V5 7 2 Pentaxever Com
Pentax Camera Utility 4 Bylasopa
Pentax K X Review Digital Photography Review
ここへ到着する Digital Camera Utility 5 サゴタケモ
Download Digital Camera Utility 5 8 6
Digital Camera Utility 5 Update V5 8 4 Pentaxever Com
Pentax Digital Camera Utility 4 For Mac Download Peatix
Free Pentax Wireless Remote Control Software Pentax Rumors
Pentax Digital Camera Utility 4 For Mac Download Abctop
Pentax K 5 In Depth Review Digital Photography Review
Pentax Digital Camera Utility Version 5 8 2 Released Pentax Rumors
Pentax Rumors Page 57 Of 152 Pentax Ricoh News And More
Pentax Digital Camera Utility Pdf Pentax Forums
Pentax K7 Dslr
Digital Camera Utility 5 Download Moxapd
Features4 Gr Ii Ricoh Imaging
Pentax 645z Medium Format Dslr Camera Body Only 16599 B H
Pentax Digital Camera Software Cd S Sw99 Pentax Amazon Com Books
最新のhd Digital Camera Utility 5 ダウンロード サゴタケモ
Best Tethering Photography Software For Dslr Cameras Tether Tools


Shop with cryptocurrencies
Push the crypto revolution forward and buy goods directly with cryptocurrencies, without using a fiat processor nor a centralized marketplace.
Find the product you are looking for and pay privately with your favorite cryptocurrencies
Push the crypto revolution forward and buy goods directly with cryptocurrencies, without using a fiat processor nor a centralized marketplace.
Particl's Open Marketplace does not collect any of your data and uses the latest privacy technologies so that you can keep your shopping habits, browsing history, and identity private.
Spending cryptocurrencies has never been so easy. Save yourself the hassle of searching for vendors. With the marketplace you can effortlessly get in touch with various sellers who already accept crypto.
Particl’s Open Marketplace does not charge you any fee for buying goods and services other than a regular cryptocurrency transaction fee of a few cents, leaving you with more money to spend for yourself.
Similarly to the Bitcoin protocol, the Particl marketplace is operating worldwide and without any interruption. You can shop from anywhere around the globe without any geographical restrictions.
Particl is different than what you know and use every day. Read the basics of Particl on our Wiki, come and join our social media and reach out to our community for assistance and answers.
Join us on DiscordParticl is available for all major operating systems and devices to serve a variety of your needs:
Download Particl DesktopYou can get Particl by accepting it as a payment for goods and services. There are also several ways you can buy Particl on cryptocurrency exchanges:
Particl ExchangesBrowse available products on Particl's Open Marketplace using Particl Desktop and start buying stuff for crypto
Get the latest updates about Open Marketplace, tailored to Buyers and get exclusive access to early releases and market tips.
We value your privacy, so no spam, no ads and no BS!


Good Questions
How to ask them
11/01/2015
When trying to ask good questions you have to keep some things in mind like making a good title which summarizes the problem and keeps people interested in helping out. A good title is usually concise and specific. You should also watch out for grammar and punctuation mistakes. Since it is a question you are asking, you should structure it as such, not just throw random words related to the problem.
You should give a decent explanation of the problem before posting any code, and just post code that are pertinent to the specific problem you are having, don't post a lot of random code because this will make people run away from your question. You should also say in which languages and/or APIs your problem is.
READ your question before you post, check if it makes sense, if it's a question that you would stop to read and answer, make sure you provided everything that's needed to reproduce the problem. These are some helpful guidelines to follow when asking questions.
After you are convinced you question is good enough, you should post it, but be ready to receive and give feedback on the problem, because usually people will respond to it pretty fast, and if you are not ready they might leave.


Mozilla Foundation
1981 Landings Drive
Building K
Mountain View, CA 94043-0801
USA
#03 Lists
first item
second item
second item first subitem
second item second subitem
second item third subitem
third item
first item
second item
second item first subitem
second item second subitem
second item second subitem first sub-subitem
second item second subitem second sub-subitem
second item second subitem third sub-subitem
second item third subitem
third item
Firefox
A free, open source, cross-platform, graphical web browser
developed by the Mozilla Corporation and hundreds of volunteers.
Other
A free, open source, cross-platform, graphical web browser
developed by the Mozilla Corporation and hundreds of volunteers.
Third
A free, open source, cross-platform, graphical web browser
developed by the Mozilla Corporation and hundreds of volunteers.
Firefox
Mozilla Firefox
Fx
A free, open source, cross-platform, graphical web browser
developed by the Mozilla Corporation and hundreds of volunteers.
Firefox
A free, open source, cross-platform, graphical web browser
developed by the Mozilla Corporation and hundreds of volunteers.
The Red Panda also known as the Lesser Panda, Wah, Bear Cat or Firefox,
is a mostly herbivorous mammal, slightly larger than a domestic cat
(60 cm long).

Euismod
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.


Granit Xhaka: Arsenal midfielder could return against Southampton - Unai Emery
Unai Emery says Granit Xhaka could return to the Arsenal team against Southampton on Saturday, despite recently claiming he was unsure if he would play for the club again.
Xhaka, 27, was stripped of the captaincy following his angry confrontation with Gunners fans in a game against Crystal Palace last month.
The midfielder has not featured in Arsenal's last four games but boss Emery feels he is now ready to return.
"We will decide on Friday," said Emery.
"He is coming back better in his mind, his mindset is better to help us and to be closer to playing when we need him."
Xhaka had been an ever present for Arsenal this season but reacted to being booed as he walked off the pitch in the 2-2 draw with Palace in October by cupping his ears.
The Switzerland international later released a statement saying he had "reached boiling point" following repeated threats to his wife and daughter.
Emery added: "I spoke to him this morning and we had a very good conversation. He trained very well before the international break and he trained very well this morning.
"My objective is going to be his comeback to help us and convince every supporter of his commitment with us and his performances will be better and they will be proud of him in the short or long future with us."


Gul MAR SHAH
KASHIFUALLAH
Introduction
With the advancement in technology the use of microcontroller for communication became very popular. As we know that FM receiver of analogue tuning method is difficult to tune and various environmental effects changes the tuned frequency of FM receiver. In order to overcome the frequency variation problem, various digital tuning methods implement. The use of microcontroller makes it very easy to overcome the above problem by interfacing the FM receiving module with microcontroller to give commands to the TEA5767 module.
For the amplification of the audio signal received by the TEA5767 module, we are using an audio amplifier LM386 circuit.
Side by side we are also alocating space for the Mp3 player in our final product. For Mp3 player we are using DFplayer Mini module.
A two way switch allows user to listen either FM or Mp3.
The prototype is designed using ATmega328 Microcontroller based Arduino UNO development Board.
The main disadvantage of manual tuning is that it is not accurate and various natural factors can change the frequency.
Using digital tuning methods accurate tuning is possible. The prototype is designed to function in auto scan mode in which a channel is searched automatically. The signal level is constantly monitored and the microcontroller is programmed
to set receiver frequency accurately. The output from the TEA5767 module is fed to amplifier section. The antenna can be designed as per the application need.
Aim of the project is to build a device having the characteristics of FM Radio as well as MP3 player.
We three group members ABDUL REHMAN, GUL MAR SHAH, KASHIFUALLAH working to design a device that meets the design requirements. The mechnical design of the project is given below.
High Level Design
The main components of the project are:- The Microcontroller(ATMEGA328)
- TEA5767 FM Module
- DFplayer Mini
- Amplifier Circuit
- LCD
Microcontroller(ATMEGA328)
The Atmel 8-bit microcontroller combines 32 KB ISP flash memory with read-while-write capabilities, 1 KB EEPROM,2 KB SRAM,23 general purpose I/O lines, 32 general purpose working registers, three flexible timer/counters with compare modes, internal and external interrupts, serial programmable USART, a byte-oriented 2-wire serial interface, SPI serial port, programmable watchdog timer with internal oscillator, and five software selectable power saving modes. The device operates between 1.8-5.5 volts. The device achieves throughput approaching 1 MIPS per MHz.
TEA5767 Module:
FM Stereo radio Module is a high sensitivity, low power, ultra-small size of the FM stereo radio module. All-digital single-chip integrated circuits.
High receiver sensitivity,generic I2C bus control,external components,the minimum noise figure. With small size,low power, low cost,a simple,using a wide range of advantages.
The module uses the TEA5767 radio chip, the module used in this project uses the I2C interface, so it is straightforward to use with Arduino.
This FM module has a builtin audio amplifier. But unfortunately, this is amplifier is suitable for headphone, so we cannot connect a speaker to the output of the module directly since the audio signal is very weak.
We need to amplify it first. Also, there is no way to control the volume that comes out of the module with software,
so we are going to use a potentiometer later on. On the module there are two headphone jacks, one is for the antenna,
and the other one is the standard headphone output. The module comes with a small antenna, but you can easily build your own if you wish.
DFplayer Mini Module:
DFPLayer Mini module is a serial MP3 module provides the perfect integrated MP3, WMV hardware decoding. While the software supports TF card driver, supports FAT16, FAT32 file system.
Through simple serial commands to specify music playing,as well as how to play music,volume adjustment up to 30 levels and other functions,easy to use, stable and reliable are the most important features of this module.
LM386:
The LM386 is a power amplifier designed for use in low voltage consumer applications. The gain is internally set to 20 to keep external part count low, but the addition of an external resistor and capacitor between pins 1 and 8 will increase the gain to any value from 20 to 200.
The inputs are ground referenced while the output automatically biases to one-half the supply voltage. The quiescent power drain is only 24 mW when
operating from a 6-V supply, making the LM386 an ideal for battery operation.
LCD:
The Nokia 5110 LCD module is a basic graphic LCD display that can be used in a wide range of applications.
Its operating voltage is 2.7V to 3.3V and current consumption is 6mA. The Nokia 5110 is a basic graphic LCD screen which was originally intended for as a cell phone screen. It uses the PCD8544 controller which is a low power CMOS LCD controller/driver. Because of this, the display has an impressive power consumption.
It uses only 0.4mA when it is on, but the backlight is disabled. It uses less than 0.06mA when in sleep mode! That's one of the reasons that make this display my favorite. The PCD8544 interfaces to microcontrollers through a serial bus interface.
That makes the screen very easy to use with Arduino. You only need to connect 8 wires. I have prepared a detailed tutorial on how to use the Nokia 5110 LCD with Arduino.
LCD consists of 48 rows and 84 columns (84×48) monochrome pixels, It works using SPI interface and can be easily interfaced with Arduino. Nokia 5110 LCD supports decent graphics of bitmap images available in Green and Blue Backlight
Connectivity:
This section tells you how the componets of the prototype is connected with microcontroller.
Connection of FM Module
We connect the ground pin of every part to the breadboard’s ground rail and the Vcc pin of every part to the breadboard’s positive rail except the Potentiometer which will control the volume.
Now, let’s connect the radio module.
The SLC pin goes to analog pin 5 of the Arduino Nano, and the SDA pin goes to analog pin 4. Now we connect the middle pin of the potentiometer to analog pin 0. With this potentiometer, we are going to select the frequency. Now we need to connect the Volume potentiometer to able to control the volume. I used an audio cable. I plugged in one end of the cable to the audio output of the module.
Next, I cut the other end to find 4 wires inside the cable. The module outputs stereo sound, but we are going to use only one audio channel this time. So, I connect only two of the wires. One of them is GND, and the other one is the audio signal which needs to be amplified.
The audio signal wire goes to the input pin of the volume potentiometer. The middle pin of the potentiometer is the audio signal that comes out.
Connection of Amplifier
To amplify the audio signal we use this module which uses the LM386 amplifier chip. The audio signal goes to this pin, the ground pin from the audio cable goes to this pin. Now, all we have to do is to provide power to the module.
So we connect this pin the positive rail of the breadboard and this pin to the negative rail of the breadboard. The only thing that we have to do now is to connect a small speaker to the output of the module like this. With this small potentiometer, we can control the amplification of the signal.
Connecting the Nokia 5110 LCD Display
- RST goes to Digital Pin 5 of the Arduino
- CE goes to Digital Pin 6 of the Arduino
- DC goes to Digital Pin 7 of the Arduino
- DIN goes to Digital Pin 8 of the Arduino
- CLK goes to Digital Pin 9 of the Arduino
- VCC goes to Arduino 3.3V
Connection of Dfplayer mini
This module is following SPI protocol.So its RX pin goes to the digital pin 11 of microcontroller .
similarly, Tx pin goes to the digital pin 10 of the microcontroller.
Rx - D11
Tx - D10
VCC - 5v
Gnd - Gnd
Protocols:
Communication between the microcontroller and other componets are following differs protocol including I2C and SPI protocol.
Microcontroller is communicating with TEA5767 Fm modelusing I2C protocol which means data is transferred bit by bit along a single wire.
While Dfplayer Mini is communicating SPI protocol for receiving data from the heart of circuit(microcontroller).
And the remaining component LCD is also using I2C protocol for its functionality.
Side by side output of Fm is directly amplified by an amplifier circuit in prototype.
A two way Switch is used to select either Fm radio or Mp3 player.
I2C Protocol:
I2C is a serial communication protocol, so data is transferred bit by bit along a single wire (the SDA line).
Like SPI, I2C is synchronous, so the output of bits is synchronized to the sampling of bits by a clock signal shared between the master and the slave.
SPI Protocol:
The Serial Peripheral Interface (SPI) is a synchronous serial communication interface specification used for short-distance communication, primarily in embedded systems. SPI communicate in full duplex mode using a master-slave architecture (alternate terminology being main and secondary) with a single master.
Deligation of Tasks
Taks is divided into the following categories although team work is also considered.| Name | task | ABDULREHMAN | Selection of components | ABDULREHMAN | Review of literature/datasheets | KASHIFUALLAH | Design of electrical circuit | GUL MAR SHAH | PCB layout | KASHIFUALLAH | Design of finished product | GUL MAR SHAH | Writing firmware | GUL MAR SHAH | Testing/debugging of hardware | KASHIFUALLAH | Testing/debugging of software | ABDULREHMAN | Report writing (html) |
|---|
Intellectual Property and Ethical Considerations
The product we have established as our semester project has some basic references.
We did not created this stuff from level-0 , but we have modified these separate ideas in such a way that we made a durable and a modified version of the original designs.
As our product includes three main items, the first one is the Fm radio. We collected most of the data to develop a radio from one reliable source which is "Arduino.cc".
The second part is MP3 player, we collected its lead from the web-tutorial on "www.electronics-lab.com".
The third one one is the amplifier and in this regard we followed the lead of "www.circuitsbasics.com"
We acknowledge that these were originally created by these sources we modified these three concepts using a microcontroller on board and developed a single new product.
We would like to keep our project as Open-Source thats why we are providing zip files. Any one can interested in this project can use these resources to design this prototye.
Commercialization Aspects
This product goes commertial on a higher level. The cost of this product is around 1800 rupees. We are providing a product having Fm radio ,Mp3 player and an interesting colourful LCD. So, you can easily see the running frequency and song.
The Design Process
The design process has several layers to it. Electrical Design, PCB layout, Software Design and the Final Hardware package.Electrical Circuit
For electrical design of protype we use arduino uno for testing purpose. Before that we came up with amplifier circuit so that the output signal coming from the FM module must be amplified up to the audible range. To display the FM radio frequency, we interfaced an LCD with arduino. MP3 player is controlled through two buttons.
Following picture is all about electrical design.
Circuit Board Layout
A printed circuit board (PCB) mechanically supports and electrically connects electronic components or electrical components using conductive tracks, pads and other features etched from one or more sheet layers of copper laminated onto and/or between sheet layers of a non-conductive substrate. Fabrication of the PCB is done by using EAGLE software. For that first of all schematic file is designed after that we headed towards printed circuit board.
Schematic:
Schematic is basically a circuit diagram. It uses agreed symbols to represent components and shows how they are electrically connected. Following figure shows the schematic file generated in the Eagle file.
Board Layout:
A Gerber file is basically an image of a PCB. It showcases each individual layer as it appears throughout your circuit design. Gerber files represent copper layers images, solder mask, legend, and drill and route data helping to simplify the process of seeing how the circuit board should be fabricated.
Outline:
Before placing footprints we need to create a board outline. The board outline must be drawn on the Board OutLine layer. So,set Board OutLine as the active layer. This layer is all about the boundary of the pcb board.
Traces:
In the picture below, there are traces that electrically connect the various connectors and components to each other. A PCB allows signals and power to be routed between physical devices. Traces are made by 1/64 pin header.
Drills:
PCB drill hole is one of the important part for PCB design. Two main technologies that are used to produce accurate and repeatable holes of microns in diameter are mechanical drilling and laser drilling. The through hole diameters can range from 50-300 microns and run about 1-3 mm deep using these PCB drilling techniques. we are using a 1/32 (inch) tool for the drills.
PCB:
Software Development
Coding is also a major part of the prototype. Writing proper code according to our requirements is also a challenging part of this project. The following flow chart is easy for understanding purpose that how code is executing in microcontroller:
Design of finished Product
CAD design for the prototye is necessary to give the proper shape. For our implementation we have used Solidworks as our CAD sofware. We developed our design through the skteches.
Results
FM radio receiver is implemented using TEA5767 Module. The TEA5767 Module is successfully interfaced with ATMEGA328. Using TEA5767 module frequency tuning can be done accurately through software. The soldering of PCB traces with TEA5767 module requires special tools and skill. The audio signal obtained from the MP3 module is much more reliable, unlike the analogue signal obtained FM Receivers. LCD displays channel information. We have used a potentiometer as input device to tune to different channels. Similarly, ATMEGA328 also operating our Dfplayer Mini. we can forward/backward the songs by pressing forward/backward button. Volume is increased by continuous pressing forward button and Volume is decresed by continuous pressing backward button.
Project Description:
Conclusions
Embedded Systems is all about the controlling the dedicated function. It includes the electrical, mechanical and computing constraints. In the electrical domain, we majorly talked about microcontrollers their used for soft and programmed running of any device. While we learnt a lot of softwares for desinging PCB, designing casing etc. During this course we people go through a lot of phases. This is first time in the histroy of department that a course is fully based on practical work. Hence practical work is much more different from theoretical. During the project we faced a lot of difficulties. All of them are sorted out during the troubleshooting.
Appendix
This section should contain all your Eagle Circuit/PCB Layouts files, Arduino Code, Solid work Desings etc.PCB Files
Arduino Code
CAD design
Bill of Materials
This details of components required for implementation of this project.
| No. | Component | Package | Quantity |
|---|---|---|---|
| 1 | LED | LED1206FAB | 2 |
| 2 | Voltage Regulator | LM1117 | 1 |
| 3 | Capacitor 10uF | C1206FAB | 4 |
| 4 | Capacitor 100uF | C1206FAB | 1 |
| 5 | Capacitor 22pF | C1206FAB | 2 |
| 6 | Capacitor 0.1uF | C1206FAB | 3 |
| 7 | Capacitor 1000uF | C1812K | 1 |
| 8 | LM386N-1 | DIL08 | 1 |
| 9 | LM386N-1 | Jacket | 1 |
| 10 | Resistor 499 ohm | R1206FAB | 2 |
| 11 | Resistor 10k ohm | R1206FAB | 2 |
| 12 | Resistor 1k ohm | R1206FAB | 1 |
| 13 | Resistor 0 ohm | R1206FAB | 4 |
| 14 | TEA5767 | Tj-102BC | 1 |
| 15 | DFplayer | DFplayer | 1 |
| 16 | Connector | 1x02 | 7 |
| 17 | Connector | 1x08 | 1 |
| 18 | Connector | 1x03 | 3 |
| 19 | Connector | 1x01 | 1 |
| 20 | Connector | AVRISP 2x03 | 1 |
| 21 | Connector | 1x06 | 1 |
| 22 | ATMEGA328 | TQFP32-08 | 1 |
| 23 | Crystal Oscillator | HC49U70 | 1 |
| 24 | Sliding Switch | EG1218 | 1 | 25 | Speakers | N/A | 2 |
The following picture is showing the bill of material required for this prototye.
| Report Submitted on Time | 7 December 2019 |


WITNESS LIST
Public Health Committee
March 2, 2011 - 8:00 AM
Against:
Harrington, James (Texas Civil Rights Project)
Peel MD, Deborah (Patient Privacy Rights)
On:
Tanksley, Susan (Department of State Health Services)
Registering, but not testifying:
For:
Alexander, Troy (Texas Medical Association)
Hettinger, Ann (Concerned Women for America of Texas)
Saenz, Jonathan (Liberty Institute)
Smith, Tonja Michelle (Concerned Women for America of Texas)
Against:
Johnson, Katherine (Patient Privacy Rights)
For:
Moore, Susan (Self)
Registering, but not testifying:
For:
Setliff, Aaron (The Texas Council on Family Violence)
Spann, Julia (SafePlace Travis County Domestic Violence & Sexual Assault Cntr)
For:
Brown, Michael (Self)
Carlo, John (American Heart Association, Texas Medical Association)
Derise, Boyer (Flemings Prime Steakhouse)
Dunnington, Joel (American Cancer Society)
Foster, Kathleen (Self)
Gray, James (American Cancer Society)
Higgins, Carlos (Texas Silver-Haired Legislature)
Huang, Philip (Austin/Travis County Health Dept. & Smokefree Texas)
Johnson, Katherine (Self)
Moore, Mitchell (Self)
Petterson, Jacqueline (Self; American Heart Assn.)
Sommers, Kristy (Self; Coalition for a Smoke Free Texas)
Stafford, Trena (Texas PTA)
1
WITNESS LIST
Against:
Brinson, Philip Robert (Fast Eddie's Billiards)
On:
Allgeyer, Rick (Health Human Services Commission)
Foxhall, Lewis (UT MD Anderson Cancer Center)
Kalanges, Lauri (TX Dept of State Health Serv)
Registering, but not testifying:
For:
Aghamalian, Brandon (City of Denton, Mayor and Council)
Aghamalian, Brandon (City of Corpus Christi, Mayor and Council)
Ballew, Joel (Texas Health Resources)
Banks, Yannis (Texas NAACP)
Banning, Tom (TX Academy of Family Physicians)
Banning, Tom (TX Pediatric Society)
Berger, Ed (Seton Family of Hospitals)
Blackburn, Joseph (Self)
Capelo, Jaime (Texas Chapter American College of Cardiology)
Chatelle, Melody (Self)
Devine, Teresa B (Blue Cross Blue Shield of Texas)
Eugene, Darrick (TX Carbon Capture & Storage Assoc.)
Finley, Marisa (Scott & White Center for Healthcare Policy)
Fredriksen, Amanda (AARP)
Galligher, Duane (Greater San Antonio Chamber of Commerce)
Galligher, Duane (Association of Substance Abuse Programs of TX)
Gomez, Edward (Greater Austin Hispanic Chamber of Commerce)
Gonzalez, Liza (Greater San Antonio Chamber of Commerce)
Hutton Bibiahaus, Lauren (Livestrong)
Jackson, Richie (Texas Restaurant Association)
Kemptner, Sara (Aetna)
Lane, Lee (Texas Asso. of Local Health Officials)
Little, Melinda (Campaign for Tobacco Free Kids)
Malone, Mark (Humana Health Plans)
Martinez, James (The American Lung Association)
Marwitz, David (Texas Dermatalogical Society)
Metzger, Luke (Environment Texas)
Moore, Ruby (Self)
Nava, Mary (Bexar County Medical Society)
Olson, Anne (TX Baptist Christian Life Commission)
Pearson, David (Texas Organization of Rural & Community Hospitals)
Power, David (Public Citizen)
Reed, Cyrus (Lone Star Chapter Sierra Club)
Rivas, Andrew (TX Catholic Conference)
Rodas, Claudia (American Cancer Society)
Romo, Joel (TX Public Health Coalition)
2
WITNESS LIST
For:
Romo, Joel (American Heart Association)
Rose, Denise (Texas Hospital Association)
Rose, Lauren (Texans Care For Children)
Ross, Susan (Texas Dental Association)
Ruckel, Mari (Texas oil and gas association)
Sabo, Jason (United Ways of Texas)
Saenz, Gabriela (CHRISTUS Health)
Sanders, Morgan (March of Dimes)
Shelton, Emily (Texas Impact)
Smith, Andrew (University Health System)
Sperry, Bryan (Children's Hospital Association of Texas)
Stern, Sylvia (Self)
Weinberg, David (Texas League of Conservation Voters)
Willmann, James (Texas Nurses Association)
Wilson, Stacy (Community Care)
Wolfe, Jared (Texas Association of Health Plans)
Woomer, Eric (Texas Wings, Inc.)
Against:
Bresnen, Steve (Coalition for the Survival of Charitable Bingo)
Dewitt, Cathy (Texas Association of Business)
Fenoglio, Stephen (Texas Charity Advocates)
Mallette, Cindy (Americans for Prosperity)
On:
Harmonson, Penny (Department of State Health Services)
Valadez, Adolfo (TX. Dept. State Health Services)
3


| Path: | vendor/plugins/acts_as_spatial/README |
| Last Update: | Fri Mar 20 02:08:59 +0600 2009 |
ActsAsSpatial
SUMMARY
- brings true GIS spatial querying support to the ActiveRecord find method - uses PostGIS functions rather than executing geometric calculations directly in the SQL query - given a point, line, or polygon, find all geometries within the layer that intersect, overlap, contain, touch or are within a given geometry.
INSTALL Make sure you‘ve got Georuby: sudo gem install georuby or you can get it at rubyforge.org/projects/georuby/ Next, make sure you‘ve got a PostgreSQL database up and running with the PostGIS Adapter. You can find installation instructions for your specific operating system here: www.postgis.org/download/ For geocoding services, you‘ll need the Graticule gem: sudo gem install graticule You‘re also going to want the Spatial Extension which provides seamless interaction with geographic columns: script/plugin install svn://rubyforge.org/var/svn/georuby/SpatialAdapter/trunk/spatial_adapter and, finally, install the plugin: script/plugin install git://github.com/webmapps/acts_as_spatial.git
REQUIREMENTS This plugin will only work with PostgreSQL and the PostGIS adapter. It will not work with MySQL. The database must be loaded with the PostGIS functions, and have a geometry column. This plugin currently does not auto-geocode, so you‘ll have to take care of that stuff yourself. More features coming soon.
USAGE In your models: class Property < ActiveRecord::Base
acts_as_spatial # assumes the geometry column is # called "the_geom" but can be # specified by passing :geom => 'column_name"
end
In your controllers: Property.find(:all, :contain => ‘POINT(-71.488049 41.791564)’) Property.find(:first, :overlap => ‘POLYGON ((1 1, 1 3, 3 3, 3 1, 1 1 ))’) Property.find(:last, :intersect => ‘LINESTRING (0 2, 4 2)’)
You can even combine multiple spatial queries: Property.find(:all, :contain => ‘POINT(-71.488049 41.791564)’, :overlap => ‘POLYGON ((1 1, 1 3, 3 3, 3 1, 1 1 ))’)
…or even pair a spatial query with the ActiveRecord conditions Hash like so: Property.find(:all, :conditions => { :hot_tub_size => ‘huge’ }, :within => ‘POLYGON ((1 1, 1 3, 3 3, 3 1, 1 1 ))’)
Enjoy! More features coming soon.
Copyright (c) 2009 Daniel Cohen, released under the MIT license daniel.michael.cohen@gmail.com


PyGreSQL Announcements¶
Release of PyGreSQL version 5.0¶
Release 5.0 of PyGreSQL.
It is available at: http://pygresql.org/files/PyGreSQL-5.0.tar.gz.
If you are running NetBSD, look in the packages directory under databases. There is also a package in the FreeBSD ports collection.
Please refer to changelog.txt for things that have changed in this version.
Please refer to readme.txt for general information.
- This version has been built and unit tested on:
- NetBSD
- FreeBSD
- openSUSE
- Ubuntu
- Windows 7 with both MinGW and Visual Studio
- PostgreSQL 9.0 to 9.5 32 and 64bit
- Python 2.6, 2.7, 3.3, 3.4 and 3.5 32 and 64bit
D’Arcy J.M. Cain


Join our basic Minecraft server and have fun building and avoiding creepers. Watch our tutorial for installing Minecraft if it is your first time.
Server #1: hackingtons1.mcpro.co
Server #2: hackingtons-standard.mcproco
Getting Started with Minecraft
To join the Hackingtons Minecraft server you must have a Mojang account and Minecraft downloaded on either a Mac or PC computer. It will not work on a Chromebook. Download and purchase the software at minecraft.net.
The server address is hackingtons1.mcpro.co.


After Daughter’s Demise, Luis Enrique Returns As Spain Coach
Enrique temporarily stepped down in June to spend time with his family and take care of his sick daughter, Xana, who eventually died in August of bone cancer.
by SaharaReporters, New York
Luis Enrique has returned to his position as Head Coach of the Spanish national team.

The assistant coach, Robert Moreno, had been in charge of the team, guiding them through the Euro 2020 qualification.
“Today we can confirm Luis Enrique returns to his position of work,” RFEF President, Luis Rubiales, said in a press conference at the national team’s training base in Las Rozas.
Rubiales said Enrique has a contract until the 2022 World Cup in Qatar and that it will be up to him whether Moreno is offered a chance to resume his previous role as assistant coach.
 “He has always been the leader of our project and he has a contract until (the) World Cup in Qatar,” he added.
Enrique succeeded Vicente Del Bosque as national team boss following Spain's exit from the 2018 World Cup in the last 16.


Used Bentley cars Germany
672 used Bentley cars for sale from Germany. Best prices and best deals for Bentley cars in Germany. Bentley Ads from car dealers and private sellers. Review .
http://www.ooyyo.net/used-bentley-for-sale/germany/c=CD5A2F7114D3854F111BFE6FBA733544CD821F/
35 Miles from Center
micron transport xke notebook computer


{% extends "master.html" %} {% block content %}
This is a skeleton blog site written in Python using Flask (and Will).
{{ v['post'][0]|safe }}


Ian Fleshman-Cooper
About Me
Work
Contact Me
Resume
Always Do Your Best With What You Have
About Me
Work


| 027:034 Khan | : |
She said: "Verily! Kings, when they enter a town (country), they despoil it, and make the most honourable amongst its people low. And thus they do. |
| 027:034 Maulana | : |
She said: Surely the kings, when they enter a town, ruin it and make the noblest of its people to be low; and thus they do. |
| 027:034 Pickthal | : |
She said: Lo! kings, when they enter a township, ruin it and make the honour of its people shame. Thus will they do. |
| 027:034 Rashad | : |
She said, "The kings corrupt any land they invade, and subjugate its dignified people. This is what they usually do. |
| 027:034 Sarwar | : |
She said, "When Kings enter a town they destroy it and disrespect its honorable people. That is what they will do, too. |
| 027:034 Shakir | : |
She said: Surely the kings, when they enter a town, ruin it and make the noblest of its people to be low, and thus they (always) do; |
| 027:034 Sherali | : |
She said, 'Surely, the kings, when they enter a country, despoil it, and turn the highest of its people into the lowest. And thus they always do; |
| 027:034 Yusufali | : |
She said: "Kings, when they enter a country, despoil it, and make the noblest of its people its meanest thus do they behave. |
Concepts/Themes Covered: الإنسان والعلاقات الأخلاقية > الأخلاق الذميمة > الفساد Man and The Moral Relations>The Dispraised Morals>Corruption
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


##Automating Web Archives Records in ASpace
#####Gregory Wiedeman
#####University Archivist
#####University at Albany, SUNY
http://gregwiedeman.com/presentations/slides/webArchivesinASpace.html
Became my responsibility in 2015
https://github.com/UAlbanyArchives/ASpace_WebArchives
https://github.com/UAlbanyArchives/ASpace_WebArchives
python webArchives.py
Looking for Web Archives Records in M.E. Grenander Department of Special Collections & Archives
Requesting resource results page 1 of 1
found Web Archives in resource ---> The Pride Center of the Capital Region Records
Updating record for The Pride Center of the Capital Region Website, 2011-02-03 - 2016-10-07
Updating resource...
Updating digital objects...
Posting updated archival object back to ASpace...
found and updated 1 web archives resource in 38 total resources.
https://github.com/UAlbanyArchives/ASpace_WebArchives
##Automating Web Archives Records in ASpace
#####Gregory Wiedeman
#####University Archivist
#####University at Albany, SUNY
http://gregwiedeman.com/presentations/slides/webArchivesinASpace.html
http://bit.ly/2ajx4Ow
http://bit.ly/2ajx4Ow
http://bit.ly/2ajx4Ow
http://bit.ly/2ajx4Ow
http://bit.ly/2ajx4Ow
http://bit.ly/2ajx4Ow
http://bit.ly/2ajx4Ow
http://bit.ly/2ajx4Ow
http://bit.ly/2ajx4Ow
http://bit.ly/2ajx4Ow
http://bit.ly/2ajx4Ow
http://bit.ly/2ajx4Ow


techmihirnaik
Test Mode
Only test payments can be made for this payment page.
Payment Details
Amount
₹
999
.00
Name
Email
Phone
Roommate
Contact Us:
<EMAIL_ADDRESS>8530392350


--- layout: default title: All email clients tested on Can I email… permalink: /clients/ ---
Here's an index of all the email clients we currently test features on.


Register
First Name:
Last Name:
Male:
Female:
Other:
Email:
Password:
Birthday:
Month
January
February
March
Day
Monday
Tuesday
Wednesday
Year
2016
2017
2018
I agree to the terms and conditions:


We understand that our talented professionals are responsible for our company’s success.
We pride ourselves on fostering a creative work environment that meets the needs of our employees.
We give our employees a solid foundation for future success by providing unlimited opportunities for continuous learning and ongoing professional development and personal growth.
Each employee is a valued member of the OSC family.
"Experience has taught us that when we demonstrate a full commitment to our employees’ satisfaction and wellbeing, they reciprocate with unparalleled dedication to our team and our clients"- (AKQA/SearchRev)
We utilize latest, proven technologies guaranteeing efficiency and fast turnaround times
Forum I Business Park, Building G
7th floor, Suite 2C-7
Santa Ana, San José Costa Rica


I am sorry that there is no detailed documentation yet. Below you can find a brief explanation of how to grow a decision tree with the program dti, how to prune a decision tree with the program dtp, how to execute a decision tree with the program dtx, and how to extract rules from a decision tree with the program dtr. For a list of options, call the programs without any arguments.
Enjoy,
Christian Borgelt
As a simple example for the explanations below I use the dataset in the file dtree/ex/drug.tab, which lists 12 records of patient data (sex, age, and blood pressure) together with an effective drug (effective w.r.t. some unspecified disease). The contents of this file is:
Sex Age Blood_pressure Drug male 20 normal A female 73 normal B female 37 high A male 33 low B female 48 high A male 29 normal A female 52 normal B male 42 low B male 61 normal B female 30 normal A female 26 low B male 54 high A
| back to the top |
To induce a decision tree for the effective drug, one first has to determine the domains of the table columns using the program dom (to be found in the table package, see below):
dom -a drug.tab drug.dom
The program dom assumes that the first line of the table file contains the column names. (This is the case for the example file drug.tab.) If you have a table file without column names, you can let the program read the column names from another file (using the -h option) or you can let the program generate default names (using the -d option), which are simply the column numbers. The -a option tells the program to determine automatically the column data types. Thus the values of the Age column are automatically recognized as integer values.
After dom has finished, the contents of the file drug.dom should look like this:
dom(Sex) = { male, female }; dom(Age) = ZZ; dom(Blood_pressure) = { normal, high, low }; dom(Drug) = { A, B };
The special domain ZZ represents the set of integer numbers, the special domain IR (not used here) the set of real numbers. (The double Z and the I in front of the R are intended to mimic the bold face or double stroke font used in mathematics to write the set of integer or the set of real numbers. All programs that need to read a domain description also recognize a single Z or a single R.)
| back to the top |
To induce a decision tree using the dti program (dti is simply an abbreviation of Decision Tree Induction), type
dti -a drug.dom drug.tab drug.dt
You need not tell the program dti that the Drug column contains the class, since by default it uses the last column as the class column (the Drug column is the last column in the file drug.tab). If a different column contains the class, you can specify its name on the command line using the -c option, e.g. -c Drug.
At first glance it seems to be superfluous to provide the dti program with a domain description, since it is also given the table file and thus can determine the domains itself. But without a domain description, the dti program would be forced to use all columns in the table file and to use them with the automatically determined data types. But occasions may arise in which you want to induce a decision tree from a subset of the columns or in which the numbers in a column are actually coded symbolic values. In such a case the domain file provides a way to tell the dti program about the columns to use and their data types. To ignore a column, simply remove the corresponding domain definition from the domain description file (or comment it out --- C-style (/* ... */) and C++-style (// ...) comments are supported). To change the data type of a column, simply change the domain definition.
By default the program dti uses information gain ratio as the attribute selection measure. Other measures can be selected via the -e option. Call dti with option -! for a list of available attribute selection measures.
With the above command the induced decision tree is written to the file drug.dt. The contents of this file should look like this:
dtree(Drug) = { (Blood_pressure) normal:{ (Age|41) <:{ A: 3 }, >:{ B: 3 }}, high :{ A: 3 }, low :{ B: 3 }};
Since the -a option was given, the colons after the values of an attribute (here, for example, the values of the attribute Blood_pressure) are aligned. This makes a decision tree easier to read, but may result in larger than necessary output files.
| back to the top |
Although it is not necessary for our simple example, the induced decision tree can be pruned, i.e., simplified by removing some decisions. This is done by invoking the program dtp (dtp is simply an abbreviation for Decision Tree Pruning):
dtp -a drug.dt drug_p.dt
The table the decision tree was induced from can be given as a third argument to the dtp program. In this case an additional way of pruning (replacing an inner node (an attribute test) by its largest child) is enabled.
By default dtp uses confidence level pruning with a confidence level of 0.5 as the pruning method. The confidence level can be changed via the -p option (pruning parameter), the pruning method via the -m option. Call dtp without arguments for a list of available pruning methods.
| back to the top |
An induced decision tree can be used to classify new data using the program dtx (dtx is simply an abbreviation for Decision Tree Execution):
dtx -a drug.dt drug.tab drug.cls
drug.tab is the table file (since we do not have special test data, we simply use the training data), drug.cls is the output file. After dtx has finished, drug.cls contains (in addition to the columns appearing in the decision tree, and, for preclassified data, the class column) a new column dt, which contains the class that is predicted by the decision tree. You can give this new column a different name with the -p option, e.g. -p decision_tree_class.
If the table contains preclassified data and the name of the column containing the preclassification is the same as for the training data, the error rate of the decision tree is determined and printed to the terminal.
 The columns are neatly aligned because of the -a option. Without it, there would only be a single space between two column values.
| back to the top |
The classification quality can be inspected in more detail with the program xmat (determine a confusion matrix, to be found in the table package, see below):
xmat drug.cls
This program reads the output of the program dtx and computes a confusion matrix from two columns of this file. It uses the last two columns by default (the last column for the x- and the semi-last for the y-direction), which is fine for our example. Other columns can be selected via the options -x and -y followed by the name of the column that is to be used for the x- or y-direction of the confusion matrix. The output of the program xmat, which by default is written to the terminal, should read like this:
confusion matrix for Drug vs. dt: no | value | 1 2 | errors ----+--------+---------------+------- 1 | A | 6 0 | 0 2 | B | 0 6 | 0 ----+--------+---------------+------- | errors | 0 0 | 0
In this matrix the x-direction corresponds to the column dt and the y-direction to the column Drug. Since in our simple example the classification is perfect, only the fields in the diagonal differ from zero. If the classification is not perfect, the other fields show what errors are made by the decision tree classifier.
| back to the top |
If you like rules better than trees, you can extract rules from a learned decision tree with the program dtr (dtr is simply an abbreviation for Decision Tree Rule Extraction).
dtr -sc drug.dt drug.rs
drug.dt is the decision tree file, drug.rs the file to which the rules shall be written. The option -s instructs the program to print the support of each rule, i.e., the number of cases in the training data set the rule applies to, and the option -c instructs it to print the confidence of each rule, i.e., the percentage of cases in which a rule is correct relative to the number of cases in which it is applicable. The file drug.rs should contain the following set of rules:
Drug = A <- Blood_pressure = high [3/100.0%]; Drug = B <- Blood_pressure = low [3/100.0%]; Drug = A <- Age < 41 & Blood_pressure = normal [3/100.0%]; Drug = B <- Age > 41 & Blood_pressure = normal [3/100.0%];
The numbers in brackets are the number of cases in the training data set the rule applies to (first number) and the confidence (second number). Note that there is one rule for each leaf of the decision tree. The program tries to simplify the rules by combining conditions on numeric attributes if possible, but it will not simplify the rule set by merging rules.
| back to the top |
The decision trees in the directory dtree/ex (files with extensions .dt and .pdt) were created with the following commands:
dti -a drug.dom drug.tab drug.dt dti iris.dom iris.tab iris.dt dti -s monk1.dom monk1.tab monk1.dt dtp monk1.dt monk1.pdt monk1.tab dti vote.dom vote.tab vote.dt dtp vote.dt vote.pdt dti wine.dom wine.tab wine.dt
| back to the top |
(MIT license, or more precisely Expat License; to be found in the file mit-license.txt in the directory dtree/doc in the source package of the program, see also opensource.org and wikipedia.org)
© 1996-2016 Christian Borgelt
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
| back to the top |
Download page with most recent version.
| back to the top |
| E-mail: |
<EMAIL_ADDRESS>| |
| Website: |
www.borgelt.net |
| back to the top |


 Next to me are Natalie and Andrew who have been living in this house for a while. At the other end is Amy who had just moved in a week before I did.
We had a flatmate night in and Andrew cooked some awesome risotto, chicken, grilled mushrooms and spinach. The mushrooms were simply divine, just a bit of feta and some oyster sauce, a few mins on the grill, and voila!
There are more pictures on the "week four" pictures on the sidebar.


Warriors, Lovers, and Adventurers
September 30th
Questions from Last Time
The Formation of Fiction
Chapter 53
Chapter 54
General Discussion
Chapters 81 and 85 for next time


{{define "index.html"}} {{template "header.html" .}}
Today is:
{{.Weekday}}
If you want to see an ASIC, click here


Monaco Editor
The Monaco Editor is the code editor which powers VS Code, with the features better described here.
Please note that this repository contains no source code for the code editor, it only contains the scripts to package everything together and ship the monaco-editor
npm module.
Try it out
Try the editor out on our website.
Installing
$ npm install monaco-editor
You will get:
- inside
esm
: ESM version of the editor (compatible with e.g. webpack) - inside
dev
: AMD bundled, not minified - inside
min
: AMD bundled, and minified - inside
min-maps
: source maps formin
monaco.d.ts
: this specifies the API of the editor (this is what is actually versioned, everything else is considered private and might break with any release).
It is recommended to develop against the dev
version, and in production to use the min
version.
Documentation
- Learn how to integrate the editor with these complete samples.
- Learn how to use the editor API and try out your own customizations in the playground.
- Explore the API docs or read them straight from
monaco.d.ts
. - Read this guide to ensure the editor is accessible to all your users!
- Create a Monarch tokenizer for a new programming language in the Monarch playground.
- Ask questions on StackOverflow! Search open and closed issues, there are a lot of tips in there!
Issues
Create issues in this repository for anything related to the Monaco Editor. Always mention the version of the editor when creating issues and the browser you’re having trouble in. Please search for existing issues to avoid duplicates.
Known issues
In IE 11, the editor must be surrounded in the body element, otherwise the hit testing performed for mouse operations does not work. You can inspect this using F12 and click on the body element and confirm that visually it surrounds the editor.
FAQ
❓ What is the relationship between VS Code and the Monaco Editor?
The Monaco Editor is generated straight from VS Code’s sources with some shims around services the code needs to make it run in a web browser outside of its home.
❓ What is the relationship between VS Code’s version and the Monaco Editor’s version?
None. The Monaco Editor is a library and it reflects directly the source code.
❓ I’ve written an extension for VS Code, will it work on the Monaco Editor in a browser?
No.
Note: If the extension is fully based on the LSP and if the language server is authored in JavaScript, then it would be possible.
❓ Why all these web workers and why should I care?
Language services create web workers to compute heavy stuff outside of the UI thread. They cost hardly anything in terms of resource overhead and you shouldn’t worry too much about them, as long as you get them to work (see above the cross-domain case).
❓ What is this loader.js
? Can I use require.js
?
It is an AMD loader that we use in VS Code. Yes.
❓ I see the warning “Could not create web worker”. What should I do?
HTML5 does not allow pages loaded on file://
to create web workers. Please load the editor with a web server on http://
or https://
schemes. Please also see the cross-domain case above.
❓ Is the editor supported in mobile browsers or mobile web app frameworks?
No.
❓ Why doesn’t the editor support TextMate grammars?
- All the regular expressions in TM grammars are based on oniguruma, a regular expression library written in C.
- The only way to interpret the grammars and get anywhere near original fidelity is to use the exact same regular expression library (with its custom syntax constructs).
- In VSCode, our runtime is node.js and we can use a node native module that exposes the library to JavaScript.
- In Monaco, we are constrained to a browser environment where we cannot do anything similar.
- We have experimented with Emscripten to compile the C library to asm.js, but performance was very poor even in Firefox (10x slower) and extremely poor in Chrome (100x slower).
- We can revisit this once WebAssembly gets traction in the major browsers, but we will still need to consider the browser matrix we support, i.e. if we support IE11 and only Edge will add WebAssembly support, what will the experience be in IE11, etc.
Development setup
Please see CONTRIBUTING
Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact<EMAIL_ADDRESS>with any additional questions or comments.
License
Licensed under the MIT License.


Score: 0
Level: 0
Lines: 0
Timer: 0:00:00:00
or Z to Rotate Right
or Q to Move Left
or S to Move Down
or D to Move Right
Play
Pause
Restart


This directory defines functions for identifiers in abstract syntax trees. We use overloading to allow the same function names to be reused in extended versions of the syntax. The functions are thus methods in a small number of classes. These classes are:
| Class | Description |
|---|---|
| DefinedNames
ClassMethods ... | A method to compute the set of names introduced by declarations and patterns. Also, in a separate class, a method to compute the set of methods defined by a class declaration. |
| FreeNames | A method to compute the set of names that occur free in declarations, expressions, patterns and type expressions |
| NameMaps | Traverse an abstract syntax tree and apply a given function to every identifier. Some context information is provided by the traversal function. |
| ReAssoc | Rewrite expressions according to operator precedence and associativity. |
| ScopeNames | Pair identifiers with the environment in which it should be interpreted. |
For each of these classes, there is
| Class definition | re-usable instances | knot-tying instances |
|---|---|---|
| DefinedNames | DefinedNamesBaseStruct | DefinedNamesBase |
| FreeNames | FreeNamesBaseStruct | FreeNamesBase |
| NameMaps | NameMapsBaseStruct | NameMapsBase |
| ReAssoc | ReAssocBaseStruct | ReAssocBase |
| ScopeNames | ScopeNamesBaseStruct | ScopeNamesBase |
There are some additional modules in this directory:
| Module | Purpose |
|---|---|
| PNT | A data type PNT for identifiers carrying information on what unique entity it refers to, what type of entity it is (class, type, value, ...) and the position where it occurred in the source code. |
| UniqueNames | Data type Orig (origin) to identity where something is defined. Data type PN to tag an identifier with an origin. |
| ReAssocModule | A function for applying the reAssoc method to a module in the appropriate top level environment. |
| ScopeModule | Functions for applying the scoping pass to a module. The output is an abstract syntax tree containing identifiers of type PNT. |


PyObjC is a bridge between Python and Objective-C. It allows Python scripts to use and extend existing Objective-C class libraries; most importantly the Cocoa libraries by Apple.
This document describes how to use Objective-C class libraries from Python scripts and how to interpret the documentation of those libraries from the point of view of a Python programmer.
When dealing with the Objective-C runtime, there are certain patterns you need to learn when writing Python code. If you’re not already an Objective-C programmer, some of them will seem strange or even “un-pythonic” at first. However, you will get used to it, and the way that PyObjC works is quite compliant with the PEP 20 (the Zen of Python, import this). In fact, Ronald is Dutch ;)
With no further ado, here are the three most important things you must know before embarking on any PyObjC voyage:
Objective-C objects communicate with each other by sending messages. The syntax for messages is somewhere in-between Python’s positional and keyword arguments. Specificlaly, Objective-C message dispatch uses positional arguments, but parts of the message name (called “selector” in Objective-C terminology) are interleaved with the arguments.
An Objective-C message looks like this:
[someObject doSomething:arg1 withSomethingElse:arg2];
The selector (message name) for the above snippet is this (note the colons):
doSomething:withSomethingElse:
In order to have a lossless and unambiguous translation between Objective-C messages and Python methods, the Python method name equivalent is simply the selector with colons replaced by underscores. Since each colon in an Objective-C selector is a placeholder for an argument, the number of underscores in the PyObjC-ified method name is the number of arguments that should be given.
The PyObjC translation of the above selector is (note the underscores):
doSomething_withSomethingElse_
The message dispatch, translated to PyObjC, looks like this:
someObject.doSomething_withSomethingElse_(arg1, arg2)
Methods that take one argument will have a trailing underscore.
It may take a little while to get used to, but PyObjC does not ever rename selectors. The trailing underscore will seem strange at first, especially for cases like this:
# note the trailing underscore someObject.setValue_(aValue)
There are a few additional rules regarding message dispatch, see the Overview of the bridge for the complete rundown.
Objective-C, being a low-level runtime, separates the two concepts required to instantiate an object.
In Objective-C, the convention is for allocation to be performed by a class method called alloc, and initialization is done with method beginning with the word init. For example, here is the syntax for instantiating an NSObject:
myObject = NSObject.alloc().init()
And here is an example for creating an NSData instance given a few bytes:
myData = NSData.alloc().initWithBytes_length_('the bytes', 9)
You must also follow this convention when subclassing Objective-C classes. When initializing, an object must always (directly or indirectly) call the designated initializer of its super. The designated initializer is the “most basic” initializer through which all initialization eventually ends up. The designated initializer for NSObject is init. To find the designated initializer for other classes, consult the documentation for that class. Here is an example of an NSObject subclass with a customized initialization phase:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 class MyClass(NSObject): def init(self): """ Designated initializer for MyClass """ # ALWAYS call the super's designated initializer. # Also, make sure to re-bind "self" just in case it # returns something else, or even None! self = super(MyClass, self).init() if self is None: return None self.myVariable = 10 # Unlike Python's __init__, initializers MUST return self, # because they are allowed to return any object! return self class MyOtherClass(MyClass): def initWithOtherVariable_(self, otherVariable): """ Designated initializer for MyOtherClass """ self = super(MyOtherClass, self).init() if self is None: return None self.otherVariable = otherVariable return self myInstance = MyClass.alloc().init() myOtherInstance = MyOtherClass.alloc().initWithOtherVariable_(20)
Many Objective-C classes provide class methods that perform two-phase instantiation for you in one step. Several examples of this are:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # This is equivalent to: # # myObject = NSObject.alloc().init() # myObject = NSObject.new() # This is equivalent to: # # myDict = NSDictionary.alloc().init() # myDict = NSDictionary.dictionary() # This is equivalent to: # # myString = NSString.alloc().initWithString_(u'my string') # myString = NSString.stringWithString_(u'my string')
Unlike Python, Objective-C convention says to use accessors rather than directly accessing instance variables of other objects. This means that in order to access an instance variable value of an object valueContainer you will have to use the following syntax:
1 2 3 4 5 6 7 8 9 10 11 # Getting # # notice the method call # myValue = valueContainer.value() # Setting # # notice the naming convention and trailing underscore # valueContainer.setValue_(myNewValue)
When writing your own classes from Python, this is a bit harder since Python only has one namespace for all attributes, even methods. If you choose to implement accessors from Python, then you will have to name the instance variable something else:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class MyValueHolder(NSObject): def initWithValue_(self, value): self = super(MyValueHolder, self).init() # It's recommended not to use typical Python convention here, # as instance variables prefixed with underscores are reserved # by the Objective-C runtime. It still works if you use # underscores, however. self.ivar_value = value return self def value(self): return self.ivar_value def setValue_(self, value): self.ivar_value = value
It’s also possible to use Key-Value Coding in some cases, which eliminates the need for writing most accessors, but only in scenarios where the rest of the code is using it.
It is recommended that you take the time to understand a little bit about Objective-C before jumping into PyObjC development. The class libraries that you will be using from Cocoa are not documented in Python, and their documentation will be confusing without a grasp on the semantics and syntax of Objective-C.
Objective-C is an object-oriented programming language implemented as a superset of C that borrows heavily in concept and syntax from Smalltalk. of C and borrows heavily from Smalltalk. It features single inheritance with dynamic dispatch and (in theory) multiple root classes. This is basically the same as Python with single inheritance.
An important difference between Python and Objective-C is that the latter is not a pure object-oriented language. Some values are not objects, but values of plain C types, such as int and double. These basic C types can be used as the types of arguments and the return value of methods.
Object allocation and initialization are explicit and separate actions in Objective-C. The former is done by the class-method alloc, while the latter is done by instance methods whose name customarily starts with init.
Objective-C code looks just like plain C code, with some easily recognizable Smalltalk-like extensions for the object-oriented parts of the language. An example class declaration (usually found in .h files) and implementation (usually found in .m files) are listed below. Class declarations are easily recognized as blocks of code between @interface and @end, and similarly the implementation is between @implementation and @end. An expression enclosed in brackets in Objective-C is called a message, and is the equivalent to an instance method invocation in Python. For example, this Objective-C code:
[aMutableArray addObject:@"constant string"];
Is equivalent in intent to the following in Python:
aList.append(u"constant string")
Objective-C messages have three components: a target, a selector, and zero or more arguments. The target, aMutableArray, is the object or class receiving the message. The selector, addObject: uniquely identifies the kind of message that is being sent. Finally, the arguments, @"constant string" are used by the implementation of the method upon receipt of the message. The syntax of Objective-C message dispatch is deceptively similar to keyword arguments in Python, but they are actually quite different. Objective-C messages can not have default arguments, and all arguments are passed in a specific order. The components of a selector may not be reordered. Syntactically, one argument must be interleaved at every colon in the selector. The message:
[anArray indexOfObject:someObject inRange:someRange]
As documented later, the straightforward translation of such a message to Python is:
anArray.indexOfObject_inRange_(someObject, someRange)
This may be awkward and “unpythonic” at first, however this syntax is necessary to preserve the semantics of Objective-C message dispatch.
A class declaration:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 @interface MyClass : MySuperClass { id anInstanceVariable; int anotherInstanceVariable; } // A class method that returns an initialized instance of this class. // Similar to an implementation of __call__ on the metaclass. +instanceWithObject:(id)anObject andInteger:(int)anInteger; // An instance method, the designated initializer for MyClass. // Similar to an implementation of __new__ on MyClass. -initWithObject:(id)anObject andInteger:(int)anInteger; // An accessor, instance variables (attributes) are in a separate // namespace and are considered "private" in Objective-C. Conventionally, // there is nothing similar to this in Python. -(int)anotherInstanceVariable; @end
A class implementation:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 @implementation MyClass // Note that a type is not declared for the return value. Undeclared types // are assumed to be "id", which means any kind of instance. +instanceWithObject:(id)anObject andInteger:(int)anInteger { // 1. Create an instance of MyClass. // 2. Initialize it with its designated initializer // "initWithObject:andInteger:". // 3. Autorelease it, so that it does not leak memory. // 4. Return the new instance. // // NOTE: // By convention,initializers (such as +new, -init, -copy) // are the only methods that should return retained objects. // // NOTE: // Since this is a class method, "self" refers to the class! // // Very roughly similar to: // return self.__new__(anObject, anInteger) return [[[self alloc] initWithObject:anObject andInteger:anInteger] autorelease]; } // Note that a type is not declared for the return value. Undeclared types // are assumed to be "id", which means any kind of instance. -initWithObject:(id)anObject andInteger:(int)anInteger { // Call the designated initializer of the superclass. // Similar to: // self = super(MyClass, self).__new__() self = [super init]; // Bail if initialization of the superclass failed. // Similar to: // if self is None: // return None if (!self) { return nil; } // Set the instance variable (attribute). The argument must be // retained, since it will persist as long as the instance does. // Similar to: // # Reference counting is automatic in Python // self.anInstanceVariable = anObject anInstanceVariable = [anObject retain]; // Set the other instance variable. Note that since anInteger is // a primitive "C" type, not an object, no reference counting takes // place. // Similar to: // # Everything is an object in Python // self.anotherInstanceVariable = anInteger anotherInstanceVariable = anInteger; // Like __new__ in Python, initializers in Objective-C must // explicitly return self. Note that this is different from // __init__. // Similar to: // return self return self; } // an accessor, instance variables (attributes) are in a separate // namespace and are considered "private" -(int)anotherInstanceVariable { return anotherInstanceVariable; } // Since objects were retained as instance variables on this object, // they must be freed when the object is. This is similar to an // implementation of __del__ in Python. Since Objective-C has no // cyclic garbage collection, this isn't discouraged like it is in // Python. -(void)dealloc { // Very roughly similar to: // del self.instanceVariable [instanceVariable release]; // Very roughly similar to: // super(MyClass, self).__del__() [super dealloc]; } @end
Objective-C also features exceptions, but they are typically only used for disaster recovery, not error handling, so you will not encounter them very often. Read The Objective-C Programming Language if you want to know more about exceptions in Objective-C.
One thing to keep in mind when translating Objective-C snippets to Python is that any message can be sent to nil, and the return value of that message will be nil. PyObjC translates nil to None when crossing the bridge, so any such attempt will raise an AttributeError.
For more information about Objective-C see:
Objective-C classes are visible as (new-style) Python classes and can be subclassed just like normal Python classes. All the usual introspection mechanisms work as well, as do __slots__ and descriptors. The major differences between normal Python classes and Objective-C classes are the way that instances are created and initialized, and the fact that Objective-C selectors look strange when translated to Python methods.
Multiple inheritance may be used when subclassing an Objective-C class, so long as the Objective-C class is the first base class and there is only one Objective-C base class. The Objective-C runtime does not support multiple inheritance. These mix-in classes should not contain different implementations for Objective-C methods. To achieve this behavior, Categories should be used instead.
Another thing to keep in mind is that the names of Objective-C classes must be globally unique per process, including across Python modules. That is, it is not possible to have two Python modules that define a class with the same name. It is conventional to choose class names with a short prefix that uniquely identify your project or company. For example, Apple uses NS as the prefix for all classes in the Cocoa libraries. Note that the NS prefix made much more sense when it was called NeXTstep, but persists to this day for compatibility reasons.
As described in Objective-C for PyObjC users the creation of Objective-C objects is a two-stage process. To initialize objects, first call a class method to allocate the memory (typically alloc), and then call an initializer (typically starts with init). Some classes have class methods which perform this behind the scenes, especially classes that create cached, immutable, or singleton instances.
Objective-C methods are bridged to Python methods. Because Objective-C message dispatch syntax can not be translated directly to Python, a few simple translations must take place. The rules for these translations are:
Replace all colons in the selector with underscores:
- someMethod:withFoo:andBar: translates to someMethod_withFoo_andBar_
If the result class or raise (Python keywords), append two underscores:
- class translates to class__
- raise translates to raise__
Use this translated selector as a normal Python method. The arguments must be passed in the same order, and the number of arguments passed will normally be equal to the number of underscores in the method name; exceptions to this rule and the behavior of “result” are mentioned below.
1 | result = [someObject someMethod:firstArg withFoo:foo andBar:bar];
|
translates to
1 | result = someObject.someMethod_withFoo_andBar_(firstArg, foo, bar)
|
Note that it is currently not possible to support methods with a variable number of arguments from Python. These selectors must be wrapped by custom Objective-C code in order to be accessible by Python.
Wrapped/bridged methods (and functions) have the same number of arguments as the corresponding Objective-C method or function, unless otherwise noted in the documentation (Notes on supported APIs and classes on Mac OS X for Cocoa on Mac OS X).
Most methods or functions that take or return pointers to values will be an exception to this rule if it is callable from Python at all. In Objective-C terminology, there are three kinds of pointers that can be used in a method:
Used to pass data by reference to the function. This is not a special case from Python.
Instead of a regular value you may also pass in the value objc.NULL, when you do that the Objective-C method will receive a NULL pointer instead of a pointer to your value.
Used to pass data from the function (e.g. an additional return value).
Pass in either None or objc.NULL for output arguments. to the method. If the value is objc.NULL the Objective-C code will receive a NULL pointer for this argument, otherwise it will receive a valid pointer.
A combination of in and out (a value is passed by reference, and mutated upon return). Unlike out, these arguments remain in the argument list, and thus do not have an effect on the number of arguments a method expects. See below for notes on how inout arguments change the return value.
Instead of a regular value you may also pass in the value objc.NULL, when you do that the Objective-C method will receive a NULL pointer instead of a pointer to your value.
In order to determine what the return value of such an exceptional message will look like, you must “make a list” of the return values with the following rules:
After creating this list, you will have one of three cases:
The rules for pass by reference arguments may look quite complicated, but it turns out this is very straightforward when working with them.
As an example of a method with two output arguments, NSMatrix implements a selector named getNumberOfRows:columns: with the following signature:
-(void)getNumberOfRows:(int *)rowCount columns:(int *)columnCount
This method is used from Python like this:
rowCount, columnCount = matrix.getNumberOfRows_columns_(None, None)
When a function or method has an array of values and the length of that array as arguments, None may be passed as the length to specify that the length of the given sequence should be used.
Python’s array.array type may be used to represent a C array if the typestr and size match what is expected by the selector. Numeric, numarray, and other third party array types are not supported at the moment.
When defining methods in an Objective-C subclass, the bridge must provide type signatures for each method to the Objective-C runtime. The default type signature is for all arguments as well as the return value to be objects (just like with normal Python methods). If there is no return statement in the implementation, then the return value will be void. The bridge will automatically pick a better signature when it has more information available. Specifically, a method overrides an existing method, the bridge will assume you want to use the same method signature. Furthermore, if the method is implemented in an (informal) protocol known to the bridge it will use the signature from the corresponding method in that signature.
The end result is that it is rarely necessary to explicitly add information about the signature of methods. For the two most common cases where this is necessary, we have provided convenience decorators (used like staticmethod or classmethod):
For complete control of the mapping to Objective-C you can use the function objc.selector to create custom descriptors. See the documentation of the objc module for the arguments you can use with this function. It is normally used like this:
1 2 3 4 5 6 7 class MyObject(NSObject): # -(void)someMethod:(float)arg def someMethod_(self, arg): pass someMethod_ = objc.selector(someMethod_, signature='v@:f')
In Python 2.4 or later there is a decorator for this purpose:
1 2 3 4 5 class MyObject(NSObject): @objc.signature('v@:f') def someMethod_(self, arg): pass
The Cocoa libraries, and most (if not all) other class libraries for Objective-C use explicit reference counting to manage memory. The methods retain, release and autorelease are used to manage these reference counts. You won’t have to manage reference counts in Python, the bridge does all that work for you (but see Notes on supported APIs and classes on Mac OS X for some advanced issues).
The only reasons reference counts are mentioned at all are to tell you about ignoring them, and more importantly to introduce you to some issues w.r.t. reference counting.
It turns out that Cocoa uses a primitive form of weak references. Those are not true weak references as in Python, but use-cases where an object stores a reference to another object without increasing the reference count for that other object. The bridge cannot solve the issues this introduces for you, which means that you get hard crashes when you’re not careful when dealing with those weak references.
The basic rule to deal with weak references is: make sure objects stays alive as long as someone might have a weak reference to them. Due to the way the bridge works, this means that you must make sure that you don’t create weak references from Objective-C to a plain Python object. The Python object stays alive, but the proxy object as seen by the Objective-C code is actually an autoreleased object that will be cleaned up unless the Objective-C code increases its reference count.
The document Notes on supported APIs and classes on Mac OS X contains information about classes that work with weak references. The most important are notification centers and NSOutlineView, to be exact: the outline view stores weak references to the objects return by the method outlineView:child:ofItem: of its data source. The easiest way to avoid crashes with outline views is to make sure that you model for the view uses subclasses of NSObject to represent the nodes in the outline view.
Another gotcha is that obj.setDelegate_() often does not retain the delegate, so a reference should be maintained elsewhere.
Cocoa defines a number of formal and informal protocols that specify methods that should be implemented by a class if it is to be used in a specific role, such as the data source for an NSTableView.
Those protocols are represented by instances of objc.informal_protocol, and objc.formal_protocol. The only ones that have to care about these objects are the maintainers of wrappers around Objective-C frameworks: they have to keep these protocol wrappers up-to-date.
PyObjC will automatically use the information in the informal_protocol objects to add the right method signatures to methods, and to warn about classes that partially implement a protocol.
See PyObjC protocol support for more information.
In Mac OS X 10.3 Apple introduced Cocoa Bindings, a method to make it easier to create and use Controller objects using Key-Value Observing and Key-Value Coding. In order to create accessors compatible with this, you must use objc.accessor to create an appropriate selector descriptor.
PyObjC automaticly emits the right Key-Value Observing notifications when you set attributes on an Objective-C class. This is however not supported for pure python objects. You should therefore use NSMutableArray instances instead of Python lists for instance variables that will be observed and contain a sequence of values (and simularly for NSMutableDictionary instead of dict).
NOTE: Key-Value Observing is not supported for “pure” python objects, that is instances of classes that don’t inherit from NSObject. Adding such support is not possible adding a KVO-like interface to the Python interpreter.
Objective-C has a mechanism for modularize a class definition, it is possible to add methods to an existing class in a separate compilation unit and even a separate library. This mechanism is named categories and is used to enhance existing classes, for splitting classes in several parts and to document informal protocols.
An example of a category definition:
1 2 3 @interface NSObject (MyCategory) - (NSSize)objectFootprint; @end
This declares an additional category on NSObject. This category contains a single method.
The function objc.classAddMethods can be used to get the same effect in Python:
1 2 3 4 def objectFootprint(self): pass objc.classAddMethods(NSObject, [objectFootprint])
This is not very clear, PyObjC therefore also provides the following mechanism, implemented on top of objc.classAddMethods:
1 2 3 class NSObject(objc.Category(NSObject)): def objectFootprint(self): pass
To make it clear that objc.Category performs a special task the name in the class definition must be the same as the __name__ of the argument to objc.Category.
All Python objects can be accessed from Objective-C through proxy objects. Whenever a Python object crosses the line from Python to Objective-C a proxy object is created (of class OC_PythonObject, a subclass of NSProxy). This proxy object will forward all method calls from Objective-C to Python, and will return the results back to Objective-C.
See the section ‘Method protocol’ for a description of how PyObjC translates between Python and Objective-C method calls.
A number of Python types/classes are treated specially:
These special cases allow for more transparent bridging between Python and Objective-C.
Cocoa frameworks are mapped onto Python packages with the same name; that is the classes, constants and functions from the AppKit framework are available after you import AppKit in your Python script.
These helper modules contain only functions, constants and classes that wrap items in the corresponding framework. All utility functions and classes are located in the PyObjCTools package and objc module. Note that it is possible to use pydoc (or the help()) function with the framework wrappers, but that this is not very useful for the entire module due to the size of these modules.
This makes it easier to find documentation for an item: if you import it from the wrapper module for an Objective-C framework the documentation for that item can be found in the documentation for the framework; otherwise the item is documented in the PyObjC documentation.
The module PyObjCTools.NibClassBuilder can be used to make working with NIB files more convenient. This module can be used to extract information about classes from NIB files, both as a standalone tool generating source code and during runtime. See the online documentation for this module for more information.
PyObjC includes a number of examples that show how to use Cocoa from Python. The PyObjC Example index contains an overview of those examples.
More information on Cocoa programming can be found at:
Most of Cocoa, and thus PyObjC, requires an NSAutoreleasePool in order to function properly. PyObjC does this automatically on the first thread it is imported from, but other threads will require explicit NSAutoreleasePool management. The following practice for working with NSAutoreleasePool is recommended:
1 2 3 pool = NSAutoreleasePool.alloc().init() ... del pool
Typically this will be done at the beginning and end of the thread. It is important to use del before rebinding the pool local to another NSAutoreleasePool instance, otherwise it will not have the intended effect.
For long running threads and tight loops, it can also be useful to use this pattern in the body of the loop in order to optimize memory usage. For example, NSRunLoop will be create a new NSAutoreleasePool at the beginning of each run loop iteration and release it at the end.
In normal Python, there are two methods for writing finalizers: implementing __del__, and using weakref.ref callbacks. Generally, __del___ is discouraged as it does not allow the object to participate in cyclic garbage collection and create uncollectible garbage if not implemented properly. weakref.ref callbacks avoid this restriction as they do not provide a real reference to the object.
In Objective-C, there is no cyclic garbage collection, so all Objective-C objects (including subclasses from Python) are already subject to these restrictions. When subclassing an Objective-C class, you may implement dealloc or __del__. If you implement dealloc, ensure that you call the super dealloc at the end. If you implement both __del__ and dealloc, the order in which they are called is undefined.
It is not currently possible to create a weakref.ref for any Objective-C object. It is probably technically possible to do, but tricky, so it may eventually be implemented in a future version of PyObjC (especially if a future Objective-C runtime supports it).
It is possible for a Python subclass of an Objective-C class to implement the NSCopying protocol. Some care must be taken when the superclass already implements the protocol.
Some NSCopying compliant Objective-C classes copy the template object manually. In those cases the Python subclass must also copy the additional ivars manually.
Other NSCopying compliant Objective-C classes use a convenience function that creates a shallow copy of the object and all of its ivars. In those cases the Python subclass will not have to explicitly copy all of the ivars. However, the ivars in the copy will refer to the same objects as the original, and will thus share some state. As with shallow copies in Python, if any of the ivars refer to mutable objects (list, dict, etc.) it may be desirable to explicitly make shallow or deep copies of the mutable ivars.
NOTE: PyObjC might introduce a helper class when you inherit from a class that implements NSCopying as an internal implementation detail. External code should not rely on the existance of this class.
NOTE2: SomeClass.copyWithZone_ should not be implemented unless a superclass already implements copyWithZone:, or else the behavior will be undefined (memory corruption, crashes, etc.).
There are two different recommended ways to build applications with PyObjC.
The PyObjC installer includes a copy of the py2app package. This package offers a way to build distutils scripts for building (standalone) applications and plugin bundles.
An example setup.py script:
1 2 3 4 5 6 7 from distutils.core import setup import py2app setup( app = ["iClass.py"], data_files = ["English.lproj"], )
During development you typically invoke it from the command line like this:
$ python setup.py py2app -A
This will build an application bundle in a folder named dist in the current folder. The -A option tells py2app to add symbolic links for data folders and files and an Alias to your main script, allowing you quickly rebuild the application without doing a full dependency scan, with the additional bonus that you can edit them without rebuild. To build a standalone application, simply do not use the -A option. Note that if you are using a version of Python shipped with your operating system, it will not be included in the application. Otherwise, your application will include stripped down version of the Python runtime that you ran setup.py with.
For more information about py2app usage, read through some of the setup.py scripts used by the examples in the Examples folder. On any setup.py script that imports py2app, you can use the following command to see the list of options:
$ python setup.py py2app --help
PyObjC includes a number of Xcode templates that can be used to develop applications, using the same underlying functionality that is in py2app. These templates are used like any other Xcode template, but there are some organizational rules about the template.
See the documentation for the templates for more details.


--- layout: default ---
Universal Split Screen has been superseded by Proto Input, which is part of Nucleus Co-Op
Split screen multiplayer for any PC game with multiple keyboards, mice and controllers
Universal Split Screen is a standalone application that directs Windows input to enable local multiplayer in PC games with keyboards, mice and controllers. Play local co-op with one game copy on one computer.
Download and run without administrator privileges. Full guides and settings presets are available for all tested games.
Universal Split Screen can work with any game designed for keyboard and mouse. All major input techniques are supported in the options, meaning there are many compatible games.
100% of the code is open source on GitHub under the MIT license. Submit patches or pull requests and use it freely in your projects. Please consider donating if you like the program.


This sentence must be green
This sentence must be green
This sentence must be green
This sentence must be green
This sentence must be green
This sentence must be green


UFC 205 was a hostorical event and will go down as one of the biggest events of all time. Conor Mcgregor became the first person in the UFC to become the champion of two weight divisions simultaniously.
View StoryThe fight between Khabib Nurmagomedov and Michael Johnson took place at UFC 205. Khabib said to the press that he told Johnson to give up as he was destined to have a title shot.
View StoryAfter her loss to her former student, Miesha Tate shockingly decided she is going to retire from the sport of MMA. Fans saw this as a surprise as only a couple of months ago, she won the title and lost it shortly after.
View StoryRoy Nelson has faced a nine month ban after he kicked the referee of his recent fight, John McCarthy. Roy says that the fact that his opponent is his friend had a lot to do with what happened that night.
View StoryLyoto Machida of Salvador, Brazil has accepted his 18 month sanction for doping after declaring the use of a prohibited substance and testing positive for the use of the substance.
View Story


--- layout: page status: publish published: true title: 'Schools & Libraries' author: display_name: Jessie Pechmann login: jpechmann email<EMAIL_ADDRESS>url: '' author_login: jpechmann author_email<EMAIL_ADDRESS>wordpress_id: 9829 wordpress_url: http://gis.utah.gov/?page_id=9829 date: '2012-06-13 14:52:45 -0600' date_gmt: '2012-06-13 20:52:45 -0600' categories: [] tags: - sgid - Data - utah - gis - mapping - education - dataset - download - agrc - layer - shapefile - geodatabase - metadata - shp - gdb - digital - geographic - information - database - state - statewide - vector - arcgis - schools - libraries - bookmobile ---
Data Type: GIS Data Layer
Steward(s): AGRC
Abstract:
This data package contains a statewide schools dataset and a statewide libraries dataset.
Data Content:
The following data is available for download:
Other Links:


MKBlockQueue
final class MKBlockQueue
The main block queue class.
We use a class
so we don’t need to mutate it like a struct
, when passing it around.
-
Init a
MKBlockQueue
.Declaration
Swift
init(onCompletion newCompletionBlock:MKBQCompletionBlock?=nil)
Parameters
onCompletion
The completion block for the queue i.e. when all blocks have completed, this block is called at the end.
-
Add a block to the queue.
Declaration
Swift
func addBlock(_ newBlock:@escaping MKBQBlock)
Parameters
newBlock
A block type.
-
Run queue from the beginning.
Declaration
Swift
@discardableResult func runWithDictionary(_ newDictionary: inout [String : Any]) -> Bool
Parameters
newDictionary
A dictionary for receiving & sending data between blocks.
Return Value
´true´ if queue was started. ´false´ queue did not start.