Who loves eye candy? Don’t be shy — you can raise both hands!! Both feet too if you’re sufficiently pliant.
Linux Candy is a new series of articles covering interesting eye candy software. We’re only going to feature open-source software in this series.
I’m not going to harp on about the tired proverb “All work and no play makes Jack a dull boy”. But there’s a certain element of truth here. If you spend all day coding neural networks, mastering a new programming language, sit in meetings feeling bored witless, you’ll need some relief at the end of the day. And what better way by making your desktop environment a bit more memorable.
EJ Artist Reference Studio is a reference image browser for Daz Studio and other software, programmed in C#, the same computer programming language that Unity uses, and most modern Windows applications.
This application allows you to look at photos, renders, drawing, or any image file while working with your 3D applications like Daz Studio or Zbrush, or any other. This allows you to do better art, as you will be looking for references and don't depend on memory, and do things like.:
Create custom faces or bodies looking at images of people.
Pose a character looking at real-life photos.
Replicate a scene from a picture.
Style a 3d hair in the way it looks in real life.
Just browse images that you love and get inspired by them.
There are 3 ways of using EJ Artist Reference Studio:
DAZ STUDIO INTEGRATION: Includes an Install icon that creates a menu option to run the program from Daz Studio menu. Just click the icon and the menu option will be created. Click this menu, and it will run a new window of EJ Artist Reference Studio.
ZBRUSH 4R8 / ZBRUSH 2018 INTEGRATION (64bits): The program also comes as a Zbrush plugin for Zbrush 4R8 and Zbrush 2018 (64 bits versions), that creates a button to run the program from the Plugins menu. You can take this button and place it in another part of your interface.
GENERAL USE AS A STANDALONE APPLICATION: Just install it in the folder you prefer, and run it. It is recommended that you attach it to your taskbar so you always have it at hand, as you are going to use it very much.
EJ Artist Reference Studio has an interface with multiple tabs. Each tab is an image browser in which you can load an image from a folder. Then, you use the buttons to browse to the next and previous image in the same folder. If you want to select another image, just click it and you can go to another folder or set another image at any moment. You can also open more tabs, and have up to 20 image browsers for the same or different image folders.
You can also flip the view vertically or horizontally. The actual file of the image won't be altered, so it's safe: just the view will flip. You can also resize the window by hand or use one of the buttons for quick resize to two customizable big and small sizes. There are also transparency buttons that allow you to make the window more or less transparent so you can look through without having to minimize the window.
To make you feel comfortable while working, you can change the colors of the application, choosing the dark theme, the light theme, or custom colors. The custom theme you create, as well as the transparencies and quick, resize sizes, will be remembered for the next time you open the program.
With an intuitive and easy interface, and customizable colors and functions, it is created by artists for the artist. Don't hesitate and get this application, as it will soon become one of your must-have tools for inspiration and creation!
On the morning of October 7, 2019, staffers at WBAI in New York were locked out and all programming suspended. According to the Pacifica Foundation (parent of WBAI), this was done due to "serious and persistent financial losses at WBAI." This necessitated the foundation laying off all the staff.
But, as with most things, it's not quite that simple. For one, the implication that WBAI is responsible for all of Pacifica's financial woes is simply not true. There has long been hostility towards WBAI from other members of the network who believe that too much money is being spent on New York rents and that selling the station's valuable license could benefit the rest of the network. However, many of the problems WBAI has faced in recent years came about as a direct result of Pacifica actions. For instance, WBAI's recent financial crisis caused by being locked into an exhorbitant transmitter lease to the Empire State Building only happened because Pacifica signed that lease. There are numerous other examples, but the point is that it's inaccurate and unfair to blame one station for problems that the entire network is responsible for. We also question the wisdom of suspending all programming at the beginning of a month-long fund drive.
So for now, "Off The Hook" is off the air. Yes, we can always do a podcast, but we're a radio show and half the magic is reaching those people who aren't on the net while also talking to those who are. We intend to fight to preserve that. We hope you join us.
Be sure to tune in today to our weekly think tank The Falcon Forum on www.LIBRadio.com / Sundays from 9 AM PDT / Noon EDT / 5 PM GMT / 8 PM EAT
Our Sunday think tank features analysis of news, research and educational programming and incorporates cutting-edge research with deep background to current news stories as well as practical insights on how to make progress a regular part of our lives. We cover culture, history, education, economics, business development, health and disease prevention, along with a broad spectrum of other human endeavors. Our aim is to create a peaceful, prosperous and sustainable society wherein all of our children can live toward their greatest potential.
To call into the live show dial our BlogTalk cue at (646) 716-9835 and press #1 to speak; or call (323) 328-1863 for the studio access line (for brief calls only). Learn more at www.LIBRadio.com / Archive recordings at www.LIBRadio.com/7MAC.
Recently I got a chance to play around with the Data Protection Application Programming Interface (DPAPI). With .NET 2.0 installed, you can encrypt your Web.config just by using aspnet_regiis.exe on the command line.
The same code above can work for Web.config and App.config. For Web.config I would use WebConfigurationManager.OpenWebConfiguration(webConfig). For our environment we have a web project and some winform projects, so it is easier for us to create a simple tool to maintain both configuration file types.
Recently I decided to check out the beta version of Agile Web Development with Rails book, which is targeted to be released this fall. It is very interesting that the authors also brought agility into book writing. It allows readers to provide feedback to new material during the development of the book. I am also glad to see that the migration part of the framework has become a big part of the book, even having a separate chapter dedicated to it. It uses migration instead of DDL in the entire demo application. Besides the migration, there are many significant updates to various parts of the book. But in this post, I will focus mostly on the migration tool.
The migration tool is targeting Rails applications, but it can also be useful outside the Rails world. There are some people out there already (includes us, here is my old post on it) experimenting using Rails migration as "Enterprise glue" to maintain database schemas. I hope the final release version of the book will have something on this topic.
I will outline the basics of rails migration below for those are not familiar with it.
What is Ruby on Rails Migration?
At the most simple level, it allows developers to change the database schema as the application requires it in a simple and easy manner. Instead of writing DDL scripts, you use Ruby as a DSL (domain specific language) to describe what the schema should look like when the changes are required.
Why use it?
The migration tool allows developers to upgrade or downgrade a schema version without loosing data (of course, if you drop stuff it will be lost). Sure, you can write DDL that does the same thing for you (sort of, but not really without some external tooling), but it will take a lot more effort especially when you are supporting more than one database. In theory, the migration script you write for one database should work on other databases as long as the operation is supported (currently, it supports all major databases including open source alternatives). I said in theory because not all databases behave exactly the same way for a given operation. There might be some minor differences, but that's for another post. If you need to extend or change the existing migration functionality, it is usually very easy to do so.
How does it work?
You basically write a Ruby class that inherits from ActiveRecord::Migration to describe what needs to be accomplished. There are only two methods you need to write, up and down. Up method will be called during an upgrade, and down method for downgrading.
class AddTable < ActiveRecord::Migration def self.up create_table :cars do |t| t.column :model, :string t.column :year, :int t.column :make, :string t.column :comments, :text end end
def self.down drop_table :cars end end
In this trivial example, it creates a cars table with model, year, make, and comments columns. One interesting thing to note about model and make columns are both string type. This is not DDL we are working with. Migration uses Ruby classes to encapsulate the internal database types in order to abstract out the databases. Depending on what type of database you are using, string type might vary, but it tends to be pretty consistant across different databases. In the down method, it just does exactly the opposite, as if the script has never been run.
On the command line, if you run “rake db:migrate”, your database will be upgraded to the latest version. In this case, the cars table will be added. Each migration script will have a 3 digit number in the start of the file name which represents the schema version of the script. That same version number is also stored in the database you are using. That is how migration knows which script to run during an upgrade or downgrade. Using the example above, the file name would look something like the following:
Lets say you are currently on version four but you need to roll back to version one, you can run the following command:
rake db:migration VERSION=1
Migration supports most of the operations you would need to perform on the daily basis. But if you need to do something it does not support you can always execute DDL in your migration script.
One of the really cool things about using Ruby as a DSL is that you have the power of a real programming language to create your migration scripts. This comes in really handy when you need to create test data.
I only scratched the surface on the stuff I covered on Rails migration. I would encourage anyone that is interested to read the Rails book.
FOX and FS1 are back online for Dish and Sling TV customers after the channels went dark, preventing WWE fans from watching the Smackdown premiere. WWE Superstars filmed public service announcements to urge fans to call Dish and Sling to solve their dispute with FOX. The dispute resulted in two weeks of no programming for […]
Dear Colleagues: Please let us know if you have upcoming events or recent studies and reports to feature in the next biweekly update. REPORTS USAID Yemen Water, Sanitation and Hygiene Fact Sheet, September 2019. USAID is implementing programming that addresses … Continue reading →
APLU: Jeff Lieberson, (202) 478-6073
USDA-NIFA: William Hoffman, (202) 401-1112
Cooperative Extension: Sandy Ruble, (202) 478-6088
WASHINGTON, October 7, 2019 – Recognizing visionary leadership and diversity in educational programming, the U.S. Department of Agriculture’s (USDA) National Institute of Food and Agriculture (NIFA), Cooperative Extension, and the Association of Public and Land-grant Universities (APLU) today announced that Matthew Devereaux, of the University of Tennessee, will receive the 2019 Excellence in Extension Award, and two Iowa State University-led teams, will receive the National Extension Diversity Award. Both awards, along with Regional Excellence in Extension Awards, will be presented at a ceremony on Nov. 10 in San Diego, California during APLU’s 132nd Annual Meeting. NIFA and Cooperative Extension have sponsored the awards since 1991.
“NIFA is proud to support the national network of extension experts and educators through our land-grant institution partnership,” said NIFA Director J. Scott Angle. “This collaboration brings science-based knowledge to farmers, ranchers and community members to help them grow their businesses, raise healthy families and support their communities.”
“We applaud this year’s Excellence in Extension and National Extension Diversity Awards winners,” said Ed Jones, Associate Dean and Director of Extension, Virginia Tech, and Chair of the Extension Committee on Organization and Policy. “Their work stands as an exceptional example of the impact of Cooperative Extension for the people in all 50 states and five U.S. territories where more than 32,000 Cooperative Extension professionals serve.”
National Excellence in Extension Award The Excellence in Extension Award is given annually to one Cooperative Extension professional who excels at programming, provides visionary leadership and makes a positive impact on constituents served.
Matthew Devereaux is Interim Assistant Dean and Department Head for Family and Consumer Sciences at the University of Tennessee Extension. Much of Devereaux’s work has centered on developing innovative and highly impactful youth programs. Specifically, his research has focused on best practices for positively developing youth in afterschool settings.
His findings show the importance of focusing heavily on a student’s social/emotional development during the beginning of the school year to improve learning as the year progresses. Devereaux’s research has shown students have greater gains in grades and standardized test scores when incorporating significant social/emotional learning programming that teaches students how to recognize, understand, label, express and regulate emotions. He’s also focusing on developing resources on adverse childhood experiences (ACES), mindfulness, quality childcare and early brain development. He’s aiming to examine the impact of positive fathering in future research.
National Diversity in Extension Award The National Diversity Award recognizes significant contributions and accomplishments in achieving and sustaining diversity and pluralism.
Kimberly Greder, Professor of Human Sciences Extension and Outreach Family Life Specialist, leads efforts in Iowa to implement and evaluate extension programs to reduce educational and health disparities facing Latino families. Using Juntos Para Una Mejor Educación (Together for a Better Education), Greder and her teams helped 1,300 Latino youth and parents gain information, develop skills, access resources and broaden networks to help youth identify paths to post-secondary education.
In partnership with the University of Illinois, Iowa faculty engaged 262 parents and children of Mexican heritage in an extension research study focused on testing the efficacy of Abriendo Caminos, a curriculum designed to promote healthy lifestyles and reduce obesity risk. Preliminary findings revealed that families who participated had larger increases in good cholesterol levels, and larger decreases in bad cholesterol and blood inflammation, suggesting improved lifestyle behaviors reducing obesity risk. These efforts led to significant strides in expanding extension’s capacity to engage with and provide responsive programming to Iowa Latino families.
Regional Awards NIFA, Cooperative Extension, and APLU will also present four regional awards for excellence this year. The 2019 Regional Excellence in Extension recipients are:
1890 Institutions Region: Dorothy Brandon, Family and Finance Extension State Specialist at Alabama A&M University, for work to improve thousands of adults’ financial well-being.
North Central Region: Dianne Shoemaker, Extension Field Specialist, Dairy Production Economics and Associate Professor at The Ohio State University, for holistic farm business management education efforts that help dairy farms improve profitability and sustainability.
Northeast Region: Gordon Johnson, Assistant Professor and Fruits and Vegetables Extension Specialist at the University of Delaware, for work to address challenges facing fruit and vegetable producers in Delaware and the broader mid-Atlantic region.
Southern Region: Mark Peterson, Professor of Community and Economic Development with the Division of Agriculture at the University of Arkansas System, Cooperative Extension Service, for efforts to build vibrant, sustainable communities and regions through community leadership education programming and mentoring.
Western Region: Dave Schramm, Family Life Extension State Specialist, Human Development and Family Studies at Utah State University, for innovative, scholarly leadership of family life programs.
USDA is an equal opportunity provider, employer, and lender.
FL-Sarasota, job summary: Position Description: Develops highly complex and performance tuned software applications and modifies/maintains any existing C# based software. Actively participates in application design and programming activities with other technical staff members. May work alone or may lead teams with more junior software engineers. Devises or modifies procedures to solve complex problems consider
TX-Dallas, job summary: Position Description: Develops highly complex and performance tuned software applications and modifies/maintains any existing C# based software. Actively participates in application design and programming activities with other technical staff members. May work alone or may lead teams with more junior software engineers. Devises or modifies procedures to solve complex problems consider
Underscored need to pass legislation to implement recommendations of special commission...
Main Image Credit:
Governor Charlie Baker speaks about recommended legislation covering drivers impaired by chemical intoxication. (Courtesy of Gov. Baker)
BOSTON – Governor Charlie Baker and Lt. Governor Karyn Polito today joined state officials, road safety advocates, law enforcement officials and leaders of the cannabis industry to urge passage of the Administration’s impaired driving legislation. Following the Cannabis Control Commission’s approval last month of regulations for social consumption of marijuana, the group assembled at the State House today underscored the need to pass legislation that would implement recommendations made by the Special Commission on Operating Under the Influence and Impaired Driving.
The Governor and Lt. Governor were joined by Helen Witty, National President of Mothers Against Drunk Driving, David Torrisi, Executive Director of the Commonwealth Dispensary Association, Cannabis Control Commissioner Britte McBride and Walpole Police Chief John Carmichael.
“As Massachusetts continues to implement adult use of marijuana, including potential social consumption sites, it’s vital that we update our impaired driving laws to ensure the safety of everyone who uses the Commonwealth’s roads,” said Governor Charlie Baker. “This legislation which draws on thoughtful recommendations from a commission of a broad cross-section of stakeholders, gives public safety officials the tools they need to combat impaired driving and keep our roads safe.”
“Our Administration is committed to working with law enforcement officials and advocates in the public and private sector to combat impaired driving and ensure the safety of our residents and communities,” said Lt. Governor Karyn Polito. “We are grateful for these leaders’ support of this important legislation which will update our impaired driving laws as we confront new public safety challenges.”
According to Massachusetts crash statistics from 2013-2017, marijuana was the most prevalent drug (aside from alcohol) found in drivers involved in fatal crashes. In Colorado, where marijuana has been sold for adult use since 2014, traffic deaths involving drivers who tested positive for marijuana increased 109 percent while traffic deaths increased 31 percent, according to a report prepared by the Rocky Mountain High Intensity Drug Trafficking Area. Colorado also saw a marked increase in traffic deaths involving drivers who tested positive for marijuana which more than doubled from 55 in 2013 to 115 people killed in 2018. Since recreational marijuana was legalized, the percentage of all Colorado traffic deaths that were marijuana related increased from 15 percent in 2013 to 23 percent in 2018.
“While we trust that the overwhelming majority of adults who use cannabis will do so responsibly, our research shows that some marijuana users believe the myth that they drive better when high,” said Thomas Turco, Secretary of the Executive Office of Public Safety and Security (EOPSS). “It’s important that we state unequivocally that that is, in fact, a myth and that driving under the influence of cannabis is dangerous and potentially fatal.”
The Baker-Polito Administration’s bill is based on recommendations made by the Special Commission on Operating Under the Influence and Impaired Driving. The Special Commission is composed of a diverse set of stakeholders and experts, including police, prosecutors, medical and toxicological professionals, and representatives of the criminal defense bar and civil liberties community.
The proposed legislative changes in the bill include:
Adopting implied consent laws to suspend the driver’s licenses of arrested motorists who refuse to cooperate in chemical testing for drugs, as existing law has long required for arrested motorists who refuse breath testing for alcohol.
Adopting a statute authorizing courts to take judicial notice that ingesting THC, the active chemical in marijuana, can and does impair motorists.
Directing the Municipal Police Training Committee (MPTC) to expand the training of drug recognition experts and allowing them to testify as expert witnesses in civil and criminal cases.
Prohibiting drivers from having loose or unsealed packages of marijuana in the driver’s compartment of a vehicle, under the same provision of the motor vehicle code that has long prohibited driving with open containers of alcohol.
Permitting judicial notice of the scientific validity and reliability of the horizontal gaze nystagmus test, which would make it easier for the Commonwealth to introduce the results of that test at trial to demonstrate a driver’s intoxication.
Empowering police officers to seek electronic search warrants for evidence of chemical intoxication, as is the practice in over thirty other states. Any blood draw would have to be authorized by a neutral magistrate after a showing of probable cause and would be performed by a doctor, nurse, or other appropriate medical staff at a health care facility.
Developing educational materials and programming on drug impairment to share with trial court judges.
The Baker-Polito Administration recently kicked off an impaired driving educational campaign designed to reach men age 18 to 34, who are the most likely to be behind the wheel in impaired driving crashes. The campaign, titled “Wisdom,” was informed by focus groups made up of cannabis and alcohol users and conducted by the Executive Office of Public Safety and Security’s (EOPSS) Office of Grants and Research (OGR). The feedback was used to create TV spots featuring interviews of real people who were willing to share their perceptions about driving after consuming cannabis, alcohol, or other drugs.
“Our family – and the thousands we represent – know all too well the life-altering consequences of drunk and drugged driving,” said Helen Witty, National President of Mothers Against Drunk Driving. “My 16-year-old daughter, Helen Marie, was out rollerblading on a bike path near our Miami home in 2000 when she was run over and killed by a teenage driver impaired on alcohol and marijuana. I landed shattered in MADD’s lap, and determined to make sure this violent, preventable crime never happened to anyone else. MADD is grateful to the Baker-Polito Administration for doing everything they can to keep people from being needlessly injured or killed by impaired drivers.”
“An important goal of the commission’s work is to protect the health and safety of the people in our state as we navigate the new reality of legal adult use of cannabis. I am pleased to be here today to support the Baker-Polito Administration and their partners in promoting the safe use of marijuana and cannabis products,” said Britte McBride, Commissioner of the Cannabis Control Commission.
“We have made educating adults about the importance of responsible use of cannabis products a priority – and we hope the Legislature takes action on this bill,” said David Torrisi, Executive Director, Commonwealth Dispensary Association. “We welcome the opportunity to join the Baker-Polito administration in stressing the importance of safe driving habits, including planning for alternate transportation if using marijuana.”
Massachusetts Data (2013-2017) from the EOPSS Office of Grants and Research:
Marijuana was the most prevalent drug found in drivers involved in fatal crashes.
11 percent of drivers involved in fatal crashes were found with both alcohol and drugs in their system.
78 percent of impaired drivers in fatal crashes were men.
35 percent of drunk drivers involved in a fatal crash were 21-29 years old.
The number of drivers involved in a fatal crash who were alcohol-impaired (BAC .08+) and had drugs in their system increased by 63 percent (35 to 57).
From 2016 to 2017, alcohol-impaired driving fatalities decreased by 19 percent (148 to 120).
Reporting to the Manager of Transportation Planning and Programming the Transportation Analyst carries out, participates in and coordinates transportation… $86,950 - $100,521 a year From Yukon Government - Tue, 01 Oct 2019 09:03:51 GMT - View all Whitehorse, YT jobs
RocketCake is a free WYSIWYG web editor for creating responsive websites. It is for beginners and professional web developers. No programming needed. Edit the website as it appears on your device. Switch at any time to view and editor it as on any other tablet, PC or mobile. No need to learn any HTML or CSS. Just click, drag'n'drop or type. But of course, you are still free to mix in your own code, if you like.
RocketCake is a free WYSIWYG web editor for creating responsive websites. It is for beginners and professional web developers. No programming needed. Edit the website as it appears on your device. Switch at any time to view and editor it as on any other tablet, PC or mobile. No need to learn any HTML or CSS. Just click, drag'n'drop or type. But of course, you are still free to mix in your own code, if you like.
The Laboratory for Nucleon Structure (LSN) of the Nuclear Physics Department* at the University Paris-Saclay is looking for a postdoctoral research fellow to contribute to our ongoing activities. The new collaborator will take the responsibility of the analysis and interpretation of the Drell-Yan and charmonium production data collected by the COMPASS experiment at CERN, and will also take part in the ongoing activities in the laboratory. The postdoctoral term is for a minimum of one year, with an option for renewal.
The LSN laboratory has strong commitments in experimental and phenomenological investigations of the nucleon structure. Physicists from LSN play major roles in experiments at JLAB and at CERN, and collaborate in future projects like EIC in the USA and Compass++/Amber at CERN.
The successful applicant will become a full member of the COMPASS collaboration at CERN. Regular trips to CERN for presentations and discussions are expected.
Applicants should have a recent PhD degree in experimental nuclear or high-energy physics, expertise in data analysis and good programming skills. Prior experience with C++, Python and CERN software tools like ROOT and GEANT will be highly appreciated.
Applicants should send a resume and a brief description of research interests to the e-mail below. Reference letters will be asked at a later stage of the selection process.
Contact for information: Stéphane Platchkov
Applications are to be sent to: Stéphane Platchkov
*The Nuclear Physics Department is part of the Institute for Research of the Fundamental Laws of the Universe (IRFU), located near Paris, France: http://irfu.cea.fr/en
IRFU belongs to Paris-Saclay University.
Blank Forms has been presenting some of the most innovative and interesting programming that New York has seen this year. Thursday evening was no exception. On this night the Brooklyn Music School Theater was the site of live performances by Akira Sakata with Chikamorachi and the duo of Wadada Leo Smith and Pheeroan akLaff. The show was well attended, though it did not quite sell out the two hundred and sixty plus seats.
Akira Sakata and Chikamorachi
The rhythm section, known as Chikamorachi, is made up of bassist Darin Gray and drummer Chris Corsano. The duo has performed with Sakata since 2005, and they are as locked-in as can be. The trio in turn has worked repeatedly with guitarist Jim O’Rourke. Prior to the formation of the trio with Chikamorachi, Sakata was perhaps best known for an appearance on Last Exit’s recording titled The Noise of Trouble (Live in Tokyo) featuring Peter Brötzmann, Bill Laswell, Sonny Sharrock, Shannon Jackson, and Herbie Hancock. This might give you some idea of the power Sakata possesses on his horns.
In anticipation of this performance, I took the opportunity to go to the James Cohan gallery in Tribeca the night before to see Sakata play with Darin Gray. This show was also presented by Blank Forms. While the improvised performances were different, there are certain elements which seem to reappear in Sakata’s work. Sakata opened both performances with an extended demonstration of his saxophone work. Unlike many fire-breathing players, Sakata never loses his tone. Nearly every note is perfectly formed, bending but not cracking. On both nights he demonstrated total mastery, and it is this aspect of his playing that is most mesmerizing and compelling.
Portions of both performances were centered on Sakata's vocalisms. His complete control over the sounds he creates enables him to generate an emotional response from his audience, and the interplay of artist and audience is an organic part of the experience. Having had the opportunity to see him twice in 24 hours, I was impressed by how effective this aspect of his work is.
Pheeroan akLaff and Wadada Leo Smith
After an extended intermission, Wadada Leo Smith and Pheeroan akLaff began their performance. This was all about deep focus. As Smith noted at the end of the evening, he has worked with akLaff since he was nineteen. There is a level of telepathic communication here which drives the music. They seem to merge into one being and breathe together for the entirety of the performance.
As both musicians have worked together repeatedly over the years, including on Ten Freedom Summers (2012) and America’s National Parks (2016), this evening was exciting as it afforded a rare opportunity to see them as a duo. akLaff played with a bit more force than normally while his partner, in contrast, seemed to be in a more cerebral mode. Smith’s tone on the trumpet is simply gorgeous. His recent purple patch as a composer sometimes masks just how great a player he truly is. I highly recommend seeing this duo at every opportunity presented.
A word about the venues. The James Cohan gallery in Tribeca is a beautiful open space. Most of audience sat on the floor, but a few chairs were made available for the comfort of older guests. The sound was good, and Blank Forms is curating at this gallery an ongoing series of free live performances during the month of October.
The Brooklyn Music School is an older venue, which is located near the Brooklyn Academy of Music (BAM) and the Barclays Center, which means it is easy to get to by mass transit. It is a Spanish-style theatre which still has the wooden seats which speak to its antiquity. Blank Forms has had a knack for finding underutilized rooms for its shows, and this is another venue promoters should keep in mind.
Since last years TechEd everyone has been hearing about .NET 3.0 and the cool features of LINQ, lambda expressions, and all of the other cool new language features. I don't know about you, but I was definitely looking forward to them. We were also hearing about WinFx and “Avalon“ and “Indigo“, InfoCard, Windows Workflow Foundation (WWF) and the other new technologies that looked like they would only be part of Vista.
Fast-forward a year to this years TechEd and we're still hearing about .NET 3.0, Windows Presentation Foundation (WPF) and Windows Communication Foundation (WCF), WWF, and CardSpace (InfoCard). Most of us by now understand that WPF is “Avalon“ and WCF is “Indigo“. However, the big change is that .NET 3.0 isn't what it used to be.
In an effort to reduce the confusion in the industry about WinFx, Microsoft is essentially retiring that terminology. The key thing to note is that it is the terminology that is being retired, not the technology. Apparently there was a lot of confusion and concern that Microsoft was abandoning .NET and moving to this new platform named WinFx. What people failed to realize is that WinFx is .NET and is essentially some additional runtimes that sit on top of the .NET runtime.
To help sort all of this out, a new community site devoted to .NET 3.0 has been created. According to the site,
The Microsoft .NET Framework 3.0 (formerly WinFX), is the new managed code programming model for Windows. It combines the power of the .NET Framework 2.0 with new technologies for building applications that have visually compelling user experiences, seamless communication across technology boundaries, and the ability to support a wide range of business processes.
ePrint Report: Machine-Checked Proofs for Cryptographic Standards José Bacelar Almeida, Cécile Baritel-Ruet, Manuel Barbosa, Gilles Barthe, François Dupressoir, Benjamin Grégoire, Vincent Laporte, Tiago Oliveira, Alley Stoughton, Pierre-Yves Strub
We present a high-assurance and high-speed implementation of the SHA-3 hash function. Our implementation is written in the
Jasmin programming language, and is formally verified for functional correctness, provable security and timing attack resistance in the EasyCrypt proof assistant. Our implementation is the first to achieve simultaneously the four desirable properties (efficiency, correctness, provable security, and side-channel protection) for a non-trivial cryptographic primitive.
Concretely, our mechanized proofs show that: 1) the SHA-3 hash function is indifferentiable from a random oracle, and thus is resistant against collision, first and second preimage attacks; 2) the SHA-3 hash function is correctly implemented by a vectorized x86 implementation. Furthermore, the implementation is provably protected against timing attacks in an idealized model of timing leaks. The proofs include new EasyCrypt libraries of independent interest for programmable random oracles and modular indifferentiability proofs.
ePrint Report: Further Optimizations of CSIDH: A Systematic Approach to Efficient Strategies, Permutations, and Bound Vectors Aaron Hutchinson, Jason LeGrow, Brian Koziel, Reza Azarderakhsh
CSIDH, presented at Asiacrypt 2018, is a post-quantum key establishment protocol based on constructing isogenies between supersingular elliptic curves. Several recent works give constant-time implementations of CSIDH along with some optimizations of the ideal-class group action evaluation algorithm, including the SIMBA technique of Meyer, Campos, and Reith and the two-point method of Onuki, Aikawa, Yamazaki, and Takagi. A recent work of Cervantes-Vázquez, Chenu, Chi-Domínguez, De Feo, Rodríguez-Henríquez, and Smith details a number of improvements to the works of Meyer et al. and Onuki et al. Several of these optimizations---in particular, the choice of ordering of the primes, the choice of SIMBA partition and strategies, and the choice of bound vector which defines the secret keyspace---have been made in an ad hoc fashion, and so while they yield performance improvements it has not been clear whether these choices could be improved upon, or how to do so. In this work we present a framework for improving these optimizations using (respectively) linear programming, dynamic programming, and convex programming techniques. Our framework is applicable to any CSIDH security level, to all currently-proposed paradigms for computing the class group action, and to any choice of model for the underlying curves. Using our framework---along with another new optimization technique---we find improved parameter sets for the two major methods of computing the group action: in the case of the implementation of Meyer et al. we obtain a 16.85% speedup without applying the further optimizations proposed by Cervantes-Vázquez et al., while for that of Cervantes-Vázquez et al. under the two-point method we obtain a speedup of 5.08%, giving the fastest constant-time implementation of CSIDH to date.
Having been back from CppCon 2019 for
over a week, I thought it was about time I wrote up my trip report.
This year, CppCon was at a new venue: the Gaylord Rockies Resort near Denver,
Colorado, USA. This is a huge conference centre, currently surrounded by vast
tracts of empty space, though people told me there were many plans for
developing the surrounding area.
There were hosting multiple conferences and events alongside CppCon; it was
quite amusing to emerge from the conference rooms and find oneself surrounded by
people in ballgowns and fancy evening wear for an event in the nearby ballroom!
There were a choice of eating establishments, but they all had one thing in
common: they were overpriced, taking advantage of the captured nature of the
hotel clientelle. The food was reasonably nice though.
The size of the venue did make for a fair amount of walking around between
Overall the venue was nice, and the staff were friendly and helpful.
I ran a 2-day pre-conference class, entitled More Concurrent Thinking in C++:
Beyond the Basics, which was
for those looking to move beyond the basics of threads and locks to the next
level: high level library and application design, as well as lock-free
programming with atomics. This was well attended, and I had interesting
discussions with people over lunch and in the evening.
If you would like to book this course for your company, please see
my training page.
The main conference
Bjarne Stroustrup kicked off the main conference with his presentation on
"C++20: C++ at 40". Bjarne again reiterated his vision for C++, and outlined
some of the many nice language and library features we have to make development
easier, and code clearer and less error-prone.
Matt Godbolt's presentation on "Compiler Explorer: Behind the Scenes" was good
and entertaining. Matt showed how he'd evolved Compiler Explorer from a simple
script to the current website, and demonstrated some nifty things about it along
the way, including features you might not have known about such as the LLVM
instruction cost view, or the new "run your code" facility.
In "If You Can't Open It, You Don't Own It", Matt Butler talked about security
and trust, and how bad things can happen if something you trust is
compromised. Mostly this was obvious if you thought about it, but not something
we necessarily do think about, so it was nice to be reminded, especially with
the concrete examples. His advice on what we can do to build more secure
systems, and existing and proposed C++ features that help was also good.
Barbara Geller and Ansel Sermersheim made an enthusiastic duo presenting "High
performance graphics and text rendering on the GPU for any C++ application". I
am excited about the potential for their Copperspice wrapper for the
Vulkan rendering library: rendering 3D graphics portably is hard, and text more
Andrew Sutton's presentation on "Reflections: Compile-time Introspection of
Source Code" was an interesting end to Monday. There is a lot of scope for
eliminating boilerplate if we can use reflection, so it is good to see the
progress being made on it.
Tuesday morning began with a scary question posed by Michael Wong, Paul McKenney
and Maged Michael: "Will Your Code Survive the Attack of the Zombie Pointers?"
Currently, if you delete an object or call free then all copies of those
pointers immediately become invalid across all threads. Since invalid pointers
can't even be compared, this can result in zombies eating your brains. Michael,
Paul and Maged looked at what we can do in our code to avoid this, and what they
are proposing for the C++ Standard to fix the problem.
Andrei Alexandrescu's presentation
"Speed is found in the minds of people" was
an insightful look at optimizing sort. Andrei showed how compiler and
processor features mean that performance can be counter-intuitive, and code with
a higher algorithmic complexity can run faster in the right conditions. Always
use infinite loops (except for most cases).
I love the interactive slides in Hana Dusikova's
"A State of Compile Time Regular Expressions". She
is pushing the boundaries of compile-time coding to make our code perform better
at runtime. std::regex can be slow compared to other regular expression
libraries, but ctre can be much better. I am excited to see how this can be
extended to compile-time parsing of other DSLs.
Samy Al Bahra and Paul Khuong presented the final session I attended: "Abusing
Your Memory Model for Fun and Profit". They discussed how they have written code
that relies on the stronger memory ordering requirements imposed by X86 CPUs
over and above the standard C++ memory model in order to write high-performance
concurrent data structures. I am intrigued to see if any of their techniques can
be used in a portable fashion, or used to
improve Just::Thread Pro.
This year there were a few whiteboards around the conference area for people to
use for impromptu discussions. One of them had a challenge written on it:
"Can you write a requires expression that ensures a class has a member
function with a specified signature?"
This led to a lot of discussion, which Arthur
wrote up as a blog post. Though
the premise of the question is wrong (we shouldn't want to constrain on such
specifics), it was fun, interesting and enlightening trying to think how one
might do it — it allows you to explore the corner cases of the language in
ways that might turn out to be useful later.
As well as the workshop, I presented a talk on "Concurrency in C++20 and beyond",
which was on Tuesday afternoon. It was in an intermediate-sized room, and I
believe was well attended, though it was hard to see the audience with the
bright stage lighting. There were a number of interesting questions from the
audience addressing the issues raised in my presentation, which is always good,
though the acoustics did make it hard to hear some of them.
So that was an overview of another awesome CppCon. I love the in-person
interactions with so many people involved in using C++ for such a wide variety
of things. Everyone has their own perspective, and I always learn something.
The videos are being uploaded incrementally to
the CppCon YouTube channel, so
hopefully the video of my presentation and the ones above that aren't already
available will be uploaded soon.
GraphQL is a powerful technology that is altering the API development landscape. Since its release into the public domain by Facebook in 2015, the specification has been implemented in a variety of programming frameworks including but not limited to Java, .NET, Python, Node.js and Ruby. The GraphQL Query Language (GQL) provides developers with the ability to use a GraphQL API in a declarative manner.
Convoy, a nationwide digital freight network, today launched Convoy Now, a program that gives shippers, Transportation Management Solution (TMS) providers, Managed Transportation Providers (MTP) and other logistics companies access to Convoy's automated real-time pricing and capacity for both live and drop-and-hook loads. Convoy Now is a suite of application programming interfaces (APIs) and developer tools that provide access to Convoy's network of high-quality carriers.