SWIG

SWIG

The Simplified Wrapper and Interface Generator (SWIG) is an open-source software tool used to connect computer programs or libraries written in C or C++ with scripting languages such as Lua, Perl, PHP, Python, R, Ruby, Tcl, and other language implementations like C#, Java, JavaScript, Go, D, OCaml, Octave, Scilab and Scheme. Output can also be in the form of XML. == Function == The aim is to allow the calling of native functions (that were written in C or C++) by other programming languages, passing complex data types to those functions, keeping memory from being inappropriately freed, inheriting object classes across languages, etc. The programmer writes an interface file containing a list of C/C++ functions to be made visible to an interpreter. SWIG will compile the interface file and generate code in regular C/C++ and the target programming language. SWIG will generate conversion code for functions with simple arguments; conversion code for complex types of arguments must be written by the programmer. The SWIG tool creates source code that provides the glue between C/C++ and the target language. Depending on the language, this glue comes in three forms: a shared library that an extant interpreter can link to as some form of extension module, or a shared library that can be linked to other programs compiled in the target language (for example, using Java Native Interface (JNI) in Java). a shared dynamic library source code that should be compiled and dynamically loaded (e.g. Node.js native extensions) SWIG is not used for calling interpreted functions by native code; this must be done by the programmer manually. == Example == SWIG wraps simple C declarations by creating an interface that closely matches the way in which the declarations would be used in a C program. For example, consider the following interface file: In this file, there are two functions sin() and strcmp(), a global variable Foo, and two constants STATUS and VERSION. When SWIG creates an extension module, these declarations are accessible as scripting language functions, variables, and constants respectively. In Python: == Purpose == There are two main reasons to embed a scripting engine in an existing C/C++ program: The program can then be customized far faster, via a scripting language instead of C/C++. The scripting engine may even be exposed to the end-user, so that they can automate common tasks by writing scripts. Even if the final product is not to contain the scripting engine, it may nevertheless be very useful for writing test scripts. There are several reasons to create dynamic libraries that can be loaded into extant interpreters, including: Provide access to a C/C++ library which has no equivalent in the scripting language. Write the whole program in the scripting language first, and after profiling, rewrite performance-critical code in C or C++. == History == SWIG is written in C and C++ and has been publicly available since February 1996. The initial author and main developer was David M. Beazley who developed SWIG while working as a graduate student at Los Alamos National Laboratory and the University of Utah and while on the faculty at the University of Chicago. Development is currently supported by an active group of volunteers led by William Fulton. SWIG has been released under a GNU General Public License. == Google Summer of Code == SWIG was a successful participant of Google Summer of Code in 2008, 2009, 2012. In 2008, SWIG got four slots. Haoyu Bai spent his summers on SWIG's Python 3.0 Backend, Jan Jezabek worked on Support for generating COM wrappers, Cheryl Foil spent her time on Comment 'Translator' for SWIG, and Maciej Drwal worked on a C backend. In 2009, SWIG again participated in Google Summer of Code. This time four students participated. Baozeng Ding worked on a Scilab module. Matevz Jekovec spent time on C++0x features. Ashish Sharma spent his summer on an Objective-C module, Miklos Vajna spent his time on PHP directors. In 2012, SWIG participated in Google Summer of Code. This time four out of five students successfully completed the project. Leif Middelschulte worked on a C target language module. Swati Sharma enhanced the Objective-C module. Neha Narang added the new module on JavaScript. Dmitry Kabak worked on source code documentation and Doxygen comments. == Alternatives == For Python, similar functionality is offered by SIP, Pybind11, and Boost's Boost.python library. == Projects using SWIG == ZXID (Apache License, Version 2.0) Symlabs SFIS (commercial) LLDB GNU Radio up to (including) version 3.8.x.x; later versions use Pybind11 Xapian TensorFlow Apache SINGA QuantLib Babeltrace

Conservative morphological anti-aliasing

Conservative morphological anti-aliasing (CMAA) is an antialiasing technique originally developed by Filip Strugar at Intel. CMAA is an image-based, post processing technique similar to that of morphological antialiasing. CMAA uses 4 main steps which are image analysis for color discontinuities, locally dominant edge detection, simple shape handling, and lastly symmetrical long edge shape handling. A couple of years after CMAA was introduced, Intel unveiled an updated version which they named CMAA2.

RightsCon

RightsCon is an annual conference on digital rights hosted by Access Now. It convenes international leaders and organizations to discuss global problems including internet censorship, the regulation of algorithms, electronic surveillance, the ethics of technology, online hate speech, content moderation, cyberwarfare, and more. == History == The conference was first convened by Access (today, Access Now) in Silicon Valley in 2011, with the intention of gathering civil society to discuss impacts of the growing tech industry on digital rights and human rights. It sought the participation of leaders from both industry (including companies such as Twitter, Google, Mozilla, and Comcast) and civil society organizations (such as the Electronic Frontier Foundation and New America). Keynote speakers included the then-Assistant Secretary of State, Michael Posner; Egyptian blogger and political prisoner, Alaa Abd El-Fattah; and then-director of public policy at Google, Bob Boorstin. RightsCon organizers have sought to ensure the event is accessible to attendees from across the globe, particularly global majority countries, informing the decision to hold the conference in Asia, the Middle East, and Latin America. === Online convenings === In 2020, RightsCon was to be held in San José, Costa Rica, but due to the COVID-19 pandemic, the meeting took place in an online format. In 2021, the 10th edition of RightsCon was again held online from Monday, June 7 to Friday, June 11, 2021, due to the continued global COVID-19 pandemic which altered several digital rights physical meetings. The topics for RightsCon2021 included: Artificial Intelligence (AI), automation, data protection and user control, digital futures, democracy, elections, new business models, content control, peacebuilding, censorship, internet shutdowns, freedom of the media and many others were discussed by several digital rights organizations and individuals. === 2026 cancellation === The 14th RightsCon was scheduled to be held in Zambia from May 5 to 8, 2026. On April 29, 2026, the Zambian government abruptly postponed the conference, writing in a statement that the postponement was "necessitated by the need for comprehensive disclosure […] relating to key thematic issues proposed for discussion during the Summit." In May 2026, the conference was cancelled due to pressure from the Chinese government. In a statement the same day, Access Now wrote that it was "told that diplomats from the People's Republic of China (PRC) were putting pressure on the Government of Zambia because Taiwanese civil society participants were planning to join us in person." == List of conferences == Past RightsCon conferences include:

Early-exit network

Early-exit networks are a class of dynamic neural networks designed for efficient inference by allowing models to make confident predictions at intermediate layers, rather than processing the full network. Early-exit mechanisms are methods for deep neural networks that add intermediate classifiers, allowing inference to stop at earlier layers for inputs assessed as low uncertainty. Decisions to exit are typically based on confidence measures such as softmax-derived scores, classification margins, or entropy-based criteria, with the goal of reducing computational cost. These approaches are commonly paired with specialized training procedures and system-level optimizations to improve efficiency while preserving accuracy. The main idea behind the technology is to stop excessive calculations when a good answer can already be given with a high degree of probability, which can save both computation and time. Early-exit networks have also been extended with expert-based exit criteria, where intermediate classifiers are treated as multiple “experts” whose predictions and confidence scores can be aggregated to decide whether to stop computation early. Hardware implementations are also being developed.

Eline Van der Velden

Eline van der Velden is a Dutch comedian, writer, actress and producer based in London, England. She is best known for her work creating Tilly Norwood, an AI-generated "actress". == Early life == Van der Velden was born on the Dutch island of Curaçao, Netherlands Antilles to Dutch businessman Steven van der Velden and physiotherapist Quirine van der Velden. She moved to the United Kingdom at age 14 to study drama and musical theatre at Tring Park School for the Performing Arts. She graduated with an MSc in physics from Imperial College London in 2008. == Career == She was nominated by the International Academy of Digital Arts and Sciences for the Lovie Awards and won Best Online Comedy in 2013 for two of her submitted entries. She has created multiple online shows such as Sketch My Life with London Hughes and Emily Hartridge and Match.com Parody. She became managing director of Makers Channel (makerschannel.co.uk), the first curated video platform in Europe in 2015. Makers Channel has been recently acquired by a Belgian media company De Persgroep, due to its success in the Netherlands. In 2016, she appeared in adverts for the Dutch shampoo brand Andrelon. Miss Holland, a comedy character created by Van der Velden, made headlines in 2016 as she asked the British public to teach her the national anthem. As an actress, she has starred in Dutch TV series De Troon, Beatrix and the Golden Calf-winning series Overspel. In Belgium, she appeared opposite Jamie Dornan in Flying Home. Van der Velden starred in the BBC Three series Putting It Out There, in which she challenges social perceptions of body hair, heels, spit, personal space, and authority figures. In 2018, she starred in the BBC One comedy series Soft Border Patrol and the BBC Three comedy series Miss Holland. In 2025, Particle6 Group, which Van der Velden founded in 2016, introduced Tilly Norwood, an AI-generated "actress" at the Zurich Film Festival. The announcement was met with outrage and a condemnation by the American actors' union SAG-AFTRA. == Awards and recognition == Miss Holland won the Best Online Comedy at the 2013 Lovie Awards, judged by Stephen Fry. The Match.com Parody video won Best Online Comedy People's Lovie Award, the people's vote. Miss Holland and Match.com Parody Date 1 were also featured in the 2013 Google Lovie Letters.

Structural risk minimization

Structural risk minimization (SRM) is an inductive principle of use in machine learning. Commonly in machine learning, a generalized model must be selected from a finite data set, with the consequent problem of overfitting – the model becoming too strongly tailored to the particularities of the training set and generalizing poorly to new data. The SRM principle addresses this problem by balancing the model's complexity against its success at fitting the training data. This principle was first set out in a 1974 book by Vladimir Vapnik and Alexey Chervonenkis and uses the VC dimension. In practical terms, Structural Risk Minimization is implemented by minimizing E t r a i n + β H ( W ) {\displaystyle E_{train}+\beta H(W)} , where E t r a i n {\displaystyle E_{train}} is the train error, the function H ( W ) {\displaystyle H(W)} is called a regularization function, and β {\displaystyle \beta } is a constant. H ( W ) {\displaystyle H(W)} is chosen such that it takes large values on parameters W {\displaystyle W} that belong to high-capacity subsets of the parameter space. Minimizing H ( W ) {\displaystyle H(W)} in effect limits the capacity of the accessible subsets of the parameter space, thereby controlling the trade-off between minimizing the training error and minimizing the expected gap between the training error and test error. The SRM problem can be formulated in terms of data. Given n data points consisting of data x and labels y, the objective J ( θ ) {\displaystyle J(\theta )} is often expressed in the following manner: J ( θ ) = 1 2 n ∑ i = 1 n ( h θ ( x i ) − y i ) 2 + λ 2 ∑ j = 1 d θ j 2 {\displaystyle J(\theta )={\frac {1}{2n}}\sum _{i=1}^{n}(h_{\theta }(x^{i})-y^{i})^{2}+{\frac {\lambda }{2}}\sum _{j=1}^{d}\theta _{j}^{2}} The first term is the mean squared error (MSE) term between the value of the learned model, h θ {\displaystyle h_{\theta }} , and the given labels y {\displaystyle y} . This term is the training error, E t r a i n {\displaystyle E_{train}} , that was discussed earlier. The second term, places a prior over the weights, to favor sparsity and penalize larger weights. The trade-off coefficient, λ {\displaystyle \lambda } , is a hyperparameter that places more or less importance on the regularization term. Larger λ {\displaystyle \lambda } encourages sparser weights at the expense of a more optimal MSE, and smaller λ {\displaystyle \lambda } relaxes regularization allowing the model to fit to data. Note that as λ → ∞ {\displaystyle \lambda \to \infty } the weights become zero, and as λ → 0 {\displaystyle \lambda \to 0} , the model typically suffers from overfitting.

BabelNet

BabelNet is a multilingual lexical-semantic knowledge graph, ontology and encyclopedic dictionary developed at the NLP group of the Sapienza University of Rome under the supervision of Roberto Navigli. BabelNet was automatically created by linking Wikipedia to the most popular computational lexicon of the English language, WordNet. The integration is done using an automatic mapping and by filling in lexical gaps in resource-poor languages by using statistical machine translation. The result is an encyclopedic dictionary that provides concepts and named entities lexicalized in many languages and connected with large amounts of semantic relations. Additional lexicalizations and definitions are added by linking to free-license wordnets, OmegaWiki, the English Wiktionary, Wikidata, FrameNet, VerbNet and others. Similarly to WordNet, BabelNet groups words in different languages into sets of synonyms, called Babel synsets. For each Babel synset, BabelNet provides short definitions (called glosses) in many languages harvested from both WordNet and Wikipedia. == Statistics of BabelNet == As of December 2023, BabelNet (version 5.3) covers 600 languages. It contains almost 23 million synsets and around 1.7 billion word senses (regardless of their language). Each Babel synset contains 2 synonyms per language, i.e., word senses, on average. The semantic network includes all the lexico-semantic relations from WordNet (hypernymy and hyponymy, meronymy and holonymy, antonymy and synonymy, etc., totaling around 364,000 relation edges) as well as an underspecified relatedness relation from Wikipedia (totaling around 1.9 billion edges). Version 5.3 also associates around 61 million images with Babel synsets and provides a Lemon RDF encoding of the resource, available via a SPARQL endpoint. 2.67 million synsets are assigned domain labels. == Applications == BabelNet has been shown to enable multilingual natural language processing applications. The lexicalized knowledge available in BabelNet has been shown to obtain state-of-the-art results in: Semantic relatedness, Multilingual word-sense disambiguation and entity linking, with the Babelfy system, Video games with a purpose. == Prizes and acknowledgments == BabelNet received the META prize 2015 for "groundbreaking work in overcoming language barriers through a multilingual lexicalised semantic network and ontology making use of heterogeneous data sources". The Artificial Intelligence Journal paper that describes BabelNet won the Prominent Paper Award in 2017. BabelNet featured prominently in a Time magazine article about the new age of innovative and up-to-date lexical knowledge resources available on the Web.