Bifurcated Rivets: From FB

Newberry Sons

Bifurcated Rivets: From FB

Good piece on Haden

Bifurcated Rivets: From FB

On board TdF

Bifurcated Rivets: From FB

Peer review ring

Bifurcated Rivets: From FB

Want a lighthouse?

search.cpan.org: Proclet-0.35

minimalistic Supervisor

MetaFilter: "a whisper of perfection in an otherwise cruel and inhumane world"

Beyoncé's "Rosie the Riveter" Instagram photo is causing internet waves. The Independent has a more substantive, historically concerned article.

Hackaday: Fishing for Radio Signals With the Moxon Antenna

mox-antenna

[Bill Meara] has finished his latest project, a Moxon antenna for HF on 17 meters. [Bill] is well-known here on Hackaday. When not building awesome radios, he can be found ranting about ham radio. His new antenna turned out to be a true hack. He even used a hacksaw to build it!

The Moxon antenna is named for the late [Les Moxon, G6XN] who first described it in “Two-Element Driven Arrays”, a QST magazine article published in July of 1952.  [Bill] built his Moxon loosely based on [Jim/AE6AC's] excellent instructions. The design is incredibly simple – a two element directional antenna using crappie fishing poles as spreaders. That’s crappie as in the fish, not the quality of the pole. Crappie poles are typically made up of telescoping sections of graphite or fiberglass  in common lengths of 14, 16, and 20 feet. The poles can be bought for under $20 at sporting goods stores. [Bill] used 16 foot poles purchased from Amazon.

The antenna is created by connecting all four poles at their bases in an X shape. The wire elements are stretched across the ends of the poles. The entire antenna bends up as the stiff poles hold the driven and reflector elements in tension. [Bill] used some scrap wood and U-bolts to attach the fishing poles, and bungee cord ends at the tips. Since the antenna is directional, [Bill] added a TV antenna rotor to spin the beam around. The antenna is so light that one could get by with a couple of cords and the “Armstrong method” of antenna rotation.

Once up on the roof, [Bill] found his antenna really performed. He was easily able to cross the Atlantic from his Northern Virginia home to France, Belgium, and Latvia. The mostly horizontal antenna makes it a bit more unobtrusive than other directional designs. [Bill] mentions that his neighbors haven’t revolted yet, so he’s continuing to enjoy the fruits of his antenna labors.


Filed under: radio hacks

Computer Science: Theory and Application: Let me tell you about the types of data (x-post from /r/programming)

submitted by tel
[link] [1 comment]

search.cpan.org: Complete-Getopt-Long-0.03

Complete command-line argument using Getopt::Long specification

search.cpan.org: Complete-Bash-0.08

Completion module for bash shell

Recent additions: CBOR 0.1.0.1

Added by KyleMurphy, Thu Jul 24 04:38:49 UTC 2014.

Encode/Decode values to/from CBOR

MetaFilter: Geraldine Ferraro, first woman nominated as a major party VP, in 1984

There were a number of notable firsts for women elected to office as early as the late 1800s, and there is a significant history of women running for president and vice president in the United States, but until 1984, no woman had been nominated to as vice president in one of the major parties. 30 years ago, the Democratic presidential candidate Walter Mondale announced Geraldine Ferraro as his running mate, and she accepted the nomination to resounding roar of excitement (another version, on YouTube; transcript).
GERALDINE FERRARO: I was stunned by the reception.

And, all of a sudden, I looked down. They were all women and children. And so many of them were crying. I remember thinking, I just don't want to make a mistake. I have to talk slowly. I tried — I had never used prompters before then.

I also took my speech, because I wanted to be sure, if the prompters went out, so that I could look down and read it, and tell my daughters, whatever you do, don't cry, because we can't. Women can't cry over the things. It's too emotional, and it's a tough job. And you have to be tough to be vice president of the United States.

And so I looked out and I said, my name is Geraldine Ferraro.

My name is Geraldine Ferraro

(CHEERING AND APPLAUSE)

GERALDINE FERRARO: And the place went crazy.

(CHEERING AND APPLAUSE)

GERALDINE FERRARO: Ladies and gentlemen of the convention...

(CHEERING AND APPLAUSE)

GERALDINE FERRARO: I got two words out of my mouth, and they would applaud and yell, "Gerry, Gerry." And it was very, very slow.

And it was almost like a dance between me and these people.

I stand before you to proclaim tonight, America is a land where dreams can come true for all of us.
Though they ended up with 40.56% of the popular vote, their candidacy ended as an astonishing failure in terms of electoral votes, and it would take another 24 years for another woman to be nominated to be vice president in a major US political party. Some of the same issues facing Ferraro again faced Palin, including the questions based on female stereotypes -- Ferraro was asked if she "could push the button," while Palin was asked if she could handle Russia, and both were questioned on their roles as women and mothers in interviews and profiles. The state of Ferraro's husband's finances were questioned, and became a sticking point that stopped the momentum gained by the initial nomination, though when he was asked about it years later, Mondale said he made the right choice with Ferraro.

Though she was not elected to office following the 1984 defeat, she ran for a Senate in 1992, and was appointed by then President Bill Clinton as U.S. ambassador to the United Nations Human Rights Commission in 1994, then was with Senator Hillary Clinton during her 2008 presidential candidacy on her fundraising committee. Ferraro also hosted on CNN's Crossfire, and later joined Fox News as a commentator, where she talked about the 2008 presidential election on election night with Sarah Palin.

Geraldine Ferraro passed away in 2011, and her legacy was recalled far and wide, remembered by Hillary Clindon (interview, on YouTube) and Sarah Palin (clip on Fox News). Progress has been made since 1984, though some comment that the pace of change is too slow.

Slashdot: The Psychology of Phishing

An anonymous reader writes Phishing emails are without a doubt one of the biggest security issues consumers and businesses face today. Cybercriminals understand that we are a generation of clickers and they use this to their advantage. They will take the time to create sophisticated phishing emails because they understand that today users can tell-apart spam annoyances from useful email, however they still find it difficult identifying phishing emails, particularly when they are tailored to suit each recipient individually. Fake emails are so convincing and compelling that they fool 10% of recipients into clicking on the malicious link. To put that into context a legitimate marketing department at a FTSE 100 company typically expects less than a 2% click rate on their advertising campaigns. So, how are the cybercriminals out-marketing the marketing experts?

Read more of this story at Slashdot.








Recent additions: hailgun-send 0.1.0.0

Added by RobertMassaioli, Thu Jul 24 04:16:31 UTC 2014.

A program to send emails throught the Mailgun api.

Potz!Blitz!Szpilman!: Thomas Mailaender

Thomas Mailaender, Family tree, 2007

Recent additions: hailgun 0.1.0.1

Added by RobertMassaioli, Thu Jul 24 03:43:36 UTC 2014.

Mailgun REST api interface for Haskell.

search.cpan.org: Net-HTTP-6.07

Low-level HTTP connection (client)

Twitch: First Glimpse Of Neill Blomkamp's CHAPPIE

A Facebook page for Neill Blomkamp's Chappie, a sci-fi comedy starring fellow South Africans Ninja and ¥o-Landi Vi$$er of Die Antwoord as themselves and frequent Blomkamp collaborator  Sharlto Copley (Wikus in District 9 and Kruger in Elysium) as the titular android Chappie, has gone live and indicates we can expect the film in 2015. Die Antwoord separately posted the first image of Chappie himself. Chappie's local South African cast is fleshed out with some big international names, not least of which are Hugh Jackman, Sigourney Weaver, and Dev Patel.After being kidnapped by two criminals during birth, Chappie becomes the adopted son in a strange and dysfunctional family. Chappie is preternaturally gifted, one of a kind, a prodigy. He also happens to be a robot....

[Read the whole post on twitchfilm.com...]

search.cpan.org: Mojo-IOLoop-ForkCall-0.11

run blocking functions asynchronously by forking

Twitch: Fantasia 2014 Review: IN ORDER OF DISAPPEARANCE Is Cold, Wry, Excellent

I think it's pretty hard not to completely adore Stellan Skarsgård. From his achingly perfect performances working with Von Trier, to comic book blockbusters like Thor, to the original Insomnia, he's one of the great actors of this or any generation.Yet audiences, it seems, sometimes take his talents for granted. Sure, he's received a share of plaudits, but for an actor with such range and sensitivity I think he's deserving of being considered in the absolute upper echelon of performers.Perhaps one reason that he doesn't quite get the respect of some of his peers is that he's unafraid to balance doing art house cinema with mainstream action fare. Skarsgård is comfortable as the everyman as he is the tortured soul, and gives dignity to even...

[Read the whole post on twitchfilm.com...]

s mazuk: Every Canadian Novel Ever

Every Canadian Novel Ever:

wolf-speaks-to-girl:

hfml:

3. The Next Three Chapters Are Set in the 1830s Bush For No Reason But Then We’ll Be Back to This 1970s University Women’s Studies Department

[…]

13. Sex Farm Woman: All of These Albertan Crops Are Metaphors For My Empty, Yearning Vagina

[…]

22. It Doesn’t Really Matter, You Can Tell By the Emily Carr Painting on the Cover That This Novel Is Important

oh my god

Twitch: BANG BANG Teaser Gives You Abs, Explosions, And Footjets(?) Aplenty!

Fox Star Studios in India gave us what could turn out to be the most ridiculous teaser of 2014 today with the first footage from Siddarth Anand's Bang Bang! The film is an official remake of the Tom Cruise/Cameron Diaz film Knight and Day, which is remarkable in that they actually bothered to get remake rights for a film. Headlining Bang Bang are Hrithik Roshan, who has proven his action chops in films like Dhoom 2, and Katrina Kaif, on whom a Barbie doll is based. Director Anand has a couple of solid Bollywood rom-coms under his belt with Bacchna Ae Haseeno and Salaam Namaste, however, his action skills are as yet untested unless you count his "cars turning left" opus, Ta Ra Rum Pum....

[Read the whole post on twitchfilm.com...]

All Content: Theater with a Capital "T"

Thumb_fences

Listening to the excited whispering of industry people and fellow critics at the recent Los Angeles premiere of “Life Itself" at the Hollywood ArcLight, I realized how jaded I had become. As red carpets go, it was a modest affair.

Outside, tourists lingering around Hollywood sensed something was happening. A long line was forming for the Transformers movie that was opening later that evening. We walked right in.

Industry screenings don't normally include celebrities, particularly two Academy Award-nominated directors like Steve James and Werner Herzog. Herzog, the man Francois Truffaut called "the most important director alive" and Roger Ebert described as a man who "never created a single film that is compromised, shameful, made for pragmatic reasons or uninteresting," was the center of the greater film geek excitement.

I had almost forgotten: That is one of the exciting things about Los Angeles—celebrity sightings. Some people come to town or take off of work for the red carpets.

Yet movie red carpets aren't the only place you can see celebrities in Hollywood. Roger Ebert came to experience the low budget and lusty side of Hollywood when he wrote the script for "Beyond the Valley of the Dolls," but you don't have to spend months slaving over a computer either (or doing stunt journalism that verges on harassment like a certain Ukrainian former journalist) to get close to celebrities or experience that side of Hollywood culture.

Hollywood is divided up geographically into Hollywood, West Hollywood (WeHo) and North Hollywood (NoHo). It's also culturally divided between film and theater. New York is a Theater town with a capital "T," but Los Angeles is a theater town with a small "t" because the movie industry is more prominent here. Some smaller productions cancel, even last-minute, when an actor gets a movie job. Yet with so many actors converging on Hollywood, Los Angeles County has a healthy theater community that spreads outside of Hollywood. Actors and directors for the theater are also, of course, movie literate.

For a time, I used to spend almost every weekend in Hollywood as a theater critic and I saw a few stars and a lot of flesh (male and female nudity). Los Angeles was the original site of "Naked Boys Singing," a male nudie musical, that is no longer playing here, but still attracting audiences in New York and, in 2007, the musical became a movie.

Scenes from the 1970 cult film Roger Ebert scripted, "Beyond the Valley of the Dolls" (which we see flashes of during "Life Itself"), remind me of both bad theater and good schlock stage productions. In particular, I always recall a campy production of “Valley of the Dolls,” but other cult classic films were translated from silver screen to stage for laughs: "The Poseidon Adventure," "Eating Raoul," "Plan Nine from Outer Space" and, of course, "Rocky Horror Picture Show." One of my favorites was a telenovela version of "Star Wars," although "Star Wars Saga in 60 Minutes" is better, longer running and George Lucas-approved.

For the starstruck, on opening nights, the stars often come out. I sat next to Paul Reiser once at the Geffen Playhouse (Westwood) and saw Cindy Crawford just a few seats down. "Dancing with the Stars" professional dancers and SYTYCD judges and contestants (and a few "Glee" stars) often pop up at the Pantages Theatre openings. There was the time I spied Warren Beatty in the audience at a now defunct theater.

At the smaller theaters, the 99-seat equity waiver theaters, you can get closer to the stars. The seats aren't cushy and sometimes the leg-room is lacking. Actors on hiatus or searching for creative freedom or a chance to stretch beyond typecasting often turn to theater. That's when actors seriously want your attention to fill the theaters. The neighborhoods might not be as bright, shiny and crowded as the Hollywood that most tourists see—near the ArcLight, Disney's El Capitan and the Chinese Theatre.

Pre-Brangelina, I saw Jennifer Aniston and Brad Pitt in the audience supporting a David Schwimmer production. Will Farrell, Lisa Kudrow and Jennifer Coolidge used to perform at The Groundlings on Melrose.

French Stewart ("3rd Rock from the Sun") and Laurie Metcalf ("Roseanne") were part of the Cast Theater company and Stewart just finished up performing at the Pasadena Playhouse in a production, "Stoneface," that started as the Sacred Fools acting company's small theater. The play was written by Stewart's wife, Vanessa Claire French, and is about movie legend Buster Keaton.

Laurence Fishburne and Angela Bassett performed at the Pasadena Playhouse in "Fences" in 2011. Kate Mulgrew ("Orange Is the New Black") performed a one-woman show "Tea at Five" at the Pasadena Playhouse in 2005.

Not all actors are on the stage. Oscar-winner Tim Robbins is the artistic director of The Actors’ Gang in Culver City and is directing a production of “A Midsummer Night’s Dream” that opens on 24 July 2014. I bumped into George Takei at the Kirk Douglas Theatre in Culver City two years ago.

Back at the smaller theaters, what could be more intimate than a one-person show? During my more active theater going days, I saw Dan Butler ("Frasier"), Alec Mapa ("Ugly Betty") and John Leguizamo performing. I missed Nia Vardalos ("My Big Fat Greek Wedding"). Vardalos saw her show become a movie. You never know what might happen.

If you're interested in movies, so are the actors and directors in Hollywood and outlying areas of Los Angeles. Don't just go for the glamour, come and see the low-budget grunge. The kind of culture that Roger came to sample during his "Beyond the Valley of the Dolls" days with Russ Meyer still exists, but you have to go beyond the red carpets and big box stores to see it.


Recent additions: tighttp 0.0.0.0

Added by YoshikuniJujo, Thu Jul 24 02:21:31 UTC 2014.

Tiny and Incrementally-Growing HTTP library

Twitch: First Poster For THE HOBBIT: THE BATTLE OF THE FIVE ARMIES

Peter Jackson has shared the first poster for The Hobbit: The Battle Of The Five Armies ahead of the big event Warner Brothers has planned for San Diego Comic-Con. And it is a ripper!The poster is clearly intended to remind us where The Hobbit: The Desolation Of Smaug left off, rather than hype us up for the titular battle, which *SPOILER ALERT* is a glorious clusterfuck crescendo of dwarves and men and elves and orcs and wargs and bats and giant eagles and motherfucking bezerker bear-mode Beorn. All in good time, and good times ahead. ...

[Read the whole post on twitchfilm.com...]

Instructables: exploring - featured: Mixed Media Crochet: Festoon Pendant

This project began as many of my other projects begin: with a pin from pinterest.com (gotta love that site...). The pin was a picture of string crocheted onto a necklace chain with big links, and I really liked the idea. The problems were that A) I didn't have chain with large links (and neither was...
By: watchmeflyy

Continue Reading »

Hackaday: Red Bull Creation Winners: Maker Twins

This year’s Red Bull Creation theme “Reinvent the Wheel” was pretty broad, but the Maker Twins managed to incorporate it quite closely with their winning project which was completed in under 72 hours. They took the idea of urban farming and figured out one way to make farmer’s markets more feasible by helping to eliminate waste and spruce up the presentation of the produce.

The project amounts to a Ferris wheel. Instead of passenger compartments there are modular crates which are built with one wooden pallet each. The wheel itself is chain-driven and allows the system to track where each crate is in the rotation. This data is leveraged for a couple of different uses. One lets the customer select their produce on a tablet app and the crate will rotate into position so they may pick the individual items they want. The machine will also take care of automated watering to ensure the produce on display doesn’t get dried out. The icing on the cake is a separate station for washing and cutting the purchased veggies.

Thank you to Maker Twins for contributing some demonstration “b-roll” for use in this video.


Filed under: contests, green hacks

Twitch: Japan Cuts 2014 Interview: UZUMASA LIMELIGHT Captures the True Dying Art of Samurai Cinema's Kirare-Yaku

Uzumasa Limelight is a love letter to the unsung heroes of samurai cinema, the kirare-yaku; the team of actors whose job is to die spectacularly on screen, as seen through the fictional eyes of one of its true artists.  We had a chat with Director Ochiai Ken, Actress Yamamoto Chihiro and Producer Mori Ko at the Japan Cuts festivalThe Lady Miz Diva:  You've written your previous features and short films, but this film came from somewhere else.  Please tell us how UZUMASA LIMELIGHT came to you?Ochiai Ken:  Well, first of all, there was Fukumoto Seizo {Laughs}, the legend.  This story and the script was largely based on his life.  Ono Hiroyuki, the writer/producer, has kind of been with him through filming and also he lives...

[Read the whole post on twitchfilm.com...]

Slashdot: Dropbox Head Responds To Snowden Claims About Privacy

First time accepted submitter Carly Page writes When asked for its response to Edward Snowden's claims that "Dropbox is hostile to privacy", Dropbox told The INQUIRER that users concerned about privacy should add their own encryption. The firm warned however that if users do, not all of the service's features will work. Head of Product at Dropbox for Business Ilya Fushman says: "We have data encrypted on our servers. We think of encryption beyond that as a users choice. If you look at our third-party developer ecosystem you'll find many client-side encryption apps....It's hard to do things like rich document rendering if they're client-side encrypted. Search is also difficult, we can't index the content of files. Finally, we need users to understand that if they use client-side encryption and lose the password, we can't then help them recover those files."

Read more of this story at Slashdot.








MetaFilter: Comedians in Cars Getting Cocaine

"The Soup" host Joel McHale takes a classic 1959 Ford Skyliner to new heights with "Veep" star Tony Hale. Comedians in Cars Getting Cocaine.

Slashdot: Verizon's Offer: Let Us Track You, Get Free Stuff

mpicpp points out a new program from Verizon that is perfect if you don't mind being tracked. Are you comfortable having your location and Web browsing tracked for marketing purposes? If so, Verizon's got a deal for you. The wireless giant announced a new program this week called 'Smart Rewards' that offers customers credit card-style perks like discounts for shopping, travel and dining. You accrue points through the program by doing things like signing onto the Verizon website, paying your bill online and participating in the company's trade-in program. Verizon emphasizes that the data it collects is anonymized before it's shared with third parties. The program is novel in that offers Verizon users some compensation for the collection of their data, which has become big business for telecom and tech companies. Some privacy advocates have pushed data-collecting companies to reward customers for their personal information in the interest of transparency.

Read more of this story at Slashdot.








MetaFilter: "wait for a bunch of old ideas to die in order for a church to live"

A Church Divided Over Marriage Equality
The Church's rules against homosexuality have divided Methodists for forty years. Attempts to abolish or even soften these rules have failed at every General Conference, the quadrennial meeting of the denomination, since they were first added, in 1972, to the Book of Discipline, which contains the Church's laws and doctrine.

"And They Will Know We Are Christians by Our Love"
"Methodists should call meeting on gay divide, pastor says"
"Ranks of defiant United Methodist clergy rise"
"Defrocking of Minister Widens Split Over Gays"

Slashdot: Microsoft's CEO Says He Wants to Unify Windows

Deathspawner writes A lot of people have never been able to understand the logic behind Microsoft's Windows RT, with many urging the company to kill it off so that it can focus on more important products, like the mainline Windows. Well, this is probably not going to come as a huge surprise, especially in light of mass layoffs announced last week, but Microsoft CEO Satya Nadella has said that his company will be working to combine all Windows versions into a unified release by next year.

Read more of this story at Slashdot.








MetaFilter: "Be excellent to each other" is not a code of conduct

Why Silicon Valley Needs The Coder Grrrls Of Double Union, The Feminist Hacker Space
The lack of women in the tech world isn't just a pipeline problem--it's one of rampant sexism. Enter the haven of Double Union.
Like many area hacker spaces, Double Union offers a place for people to use and learn technical skills, charging a sliding scale fee between $10 and $50 a month. What differentiates DU from the dozen or so other Bay Area hacker spaces is that it exists specifically and exclusively for people who identify as both women and feminists. (That includes trans women. "Not all women have uteri, or xx chromosomes," reads the DU website.) Double Union wants to provide a safe place for women to try things--and potentially fail--and then dust themselves off and try again, no judgment.

"It was hilariously radical just to make it," Greenhall says of Double Union. "To have a space for women, and to have a space that you know, wasn't like the Lean In style--just explicitly saying it was a feminist space."

explodingdog: When am I leaving?



When am I leaving?

explodingdog: Can you please do "When am I leaving?". BTW, love the art! I love using your drawings for inspiration!

yes. i can draw that.

it will be next.

thanks

Sam

Quiet Earth: Another Look at PA Drama YOUNG ONES [Trailer]

We've already seen two trailers for Jake Paltrow's upcoming PA drama Young Ones but with the movie's release quickly approaching, the studio has seen fit to cut a third, rather short but effective teaser for the movie.

Starring Michael Shannon, Kodi Smit-McPhee (now a regular when it comes to PA fare), and Dakota Fanning all star as members of a family surviving in the desert of the future and their attempt to subvert Nicholas Hoult who has more in mind than simply rejuvenating the soil.

The new teaser features much of the same footage from the earlier trailers but it promises a movie that is a lot more action packed than we've previously seen and I expect this is a [Continued ...]

Hackaday: Hacked e-cigarette vaporizer can send smells…in space!

IMG_20140717_143831_173

This 3D printed scent distributor was put together by eight people from three states during the 2014 NYC NASA Space Apps Challenge. The team went on to take 1st place in the competition.

The project is called Senti8 and uses a FLORA Arduino micro-controller and a Neopixel LED strip purchased from Adafruit. A smartphone mobile app then remotely connects to the device allowing the user to choose which scent they would like to send to their friend, who is also wearing one of the wristbands.

They came up with the idea by simply asking an American astronaut named [Doug Wheelock] what he missed the most while travelling through the boundless reaches of outer space. To their surprise, he said that the thing he missed the most was his sense of smell.

Originally, the project was envisioned to be a wearable technology for space tourism. But over time, the project morphed into a wristband that would allow people to remember places or planets visited. Even memories unique to those places through scent could be experimented with.

One of the team members, [Brooks], was spotted wearing the Senti8 at the Wearable Tech LA conference in Pasadena, CA on July 17, 2014. The LED lights lining the outside could be seen all the way across the large auditorium as she chatted up with local Crashspace members as they prepared to present their design-oriented hacks to the public.

She gave an interview demoing the wristband which can be seen in the video posted below:

The Senti8 Intro video can be see here as well:


Filed under: wearable hacks

Slashdot: Raspberry Pi Gameboy

An anonymous reader writes: An enterprising hacker took on a project to rebuild a broken Gameboy using emulation software, a Raspberry Pi, and a few other easily-obtainable parts. The result: success! The hacker has posted a detailed walkthrough explaining all of the challenges and how they were solved. "Using a Dremel, I cut out a most of the battery compartment as well as some posts that on the case for the LCD that would no longer be needed. Doing so, the Pi sits flush with the back of the DMG case. ... The screen was the first challenge. The screen runs off 12V out of the box which wouldn't work with the USB battery pack. The USB battery pack is rated at 5V, 1000mAH so the goal was go modify the screen to allow it to run at 5V. ... I finally got it to work by removing the power converter chip as well as soldering a jumper between the + power in and the resister on the top right."

Read more of this story at Slashdot.








programming: GitHub's CSS

submitted by Perceptes
[link] [2 comments]

Embedded in Academia: ALIVe: Automatic LLVM InstCombine Verifier

[This post was jointly written by Nuno Lopes, David Menendez, Santosh Nagarakatte, and John Regehr.]

A modern compiler is a big, complex machine that contains a lot of moving parts, including many different kinds of optimizations. One important class of optimization is peephole optimizations, each of which translates a short sequence of instructions into a more desirable sequence of instructions. For example, consider this LLVM code that first shifts an unsigned 32-bit value 29 bits to the left, then 29 bits to the right:

%1 = shl i32 %x, 29 
%2 = lshr i32 %1, 29

As long as %1 is not used anywhere else, this computation would be better written as:

%2 = and i32 %x, 7

Unsurprisingly, LLVM already knows how to perform this peephole optimization; the code implementing it can be found here.

Although most peephole transformations are pretty straightforward, the problem is that there are a lot of them, creating a lot of opportunities to make mistakes. Many of LLVM’s peephole optimizations can be found in its instruction combiner. According to Csmith, the instruction combiner was the single buggiest file in LLVM (it used to all be a single file) with 21 bugs found using random testing.

Wouldn’t it be nice if, instead of embedding peephole optimizations inside C++ code, they could be specified in a clearer fashion, and if bugs in them could be found automatically? These are some of the goals of a new project that we have been working on. So far, we have produced an early prototype of a tool called ALIVe that reads in the specification for one or more optimizations and then, for each one, either proves that it is correct or else provides a counterexample illustrating why it is wrong. For example, the optimization above can be written in ALIVe like this:

%1 = shl i32 %x, 29
%2 = lshr i32 %1, 29 
  => 
%2 = and i32 %x, 7

Each optimization that is fed to ALIVe has an input or left-hand side (LHS), before the =>, that specifies a pattern to look for in LLVM code. Each optimization also has an output or right-hand side (RHS) after the => that specifies some new LLVM code that has to refine the original code. Refinement happens when the new code produces the same effect as the old code for all inputs that do not trigger undefined behavior.

Here is what happens when the code above is provided to ALIVe:

$ alive.py < example1.opt  
----------------------------------------  
Optimization: 1  
Precondition: true  
%1 = shl i32 %x, 29  
%2 = lshr i32 %1, 29 
  => 
%2 = and i32 %x, 7

Done: 1 
Optimization is correct!

(All of the example ALIVe files from this post can be found here.)

The proof is accomplished by encoding the meaning of the LHS and RHS in an SMT query and then asking a solver whether the resulting formula is satisfiable. The “Done: 1″ in the output means that ALIVe’s case splitter, which deals with instantiations of type variables, only had one case to deal with.

Of course, the optimization that we just specified is not a very good one: it handles only a single register width (32 bits) and a single shift amount (29 bits). The general form is a bit more interesting since the optimized code contains a constant not found on the LHS:

%1 = shl %x, C 
%2 = lshr %1, C 
  => 
%2 = and %x, (1<<(width(C)-C))-1

This also verifies as correct. To finish specifying this optimization, we also would want to support the case where the right shift comes before the left shift. At present, to do this in ALIVe you need to specify a second optimization rule, but in the future we will support transformations that are parameterized by lists of instructions.

Undefined Behavior

Undefined behavior makes optimizations much harder to think about. For example, let's look at PR20186, an LLVM wrong-code bug that we found while translating optimizations from the instruction combiner into ALIVe, where the optimization looks like this:

%a = sdiv %X, C 
%r = sub 0, %a 
  =>
%r = sdiv %X, -C

In other words, dividing an integer by a constant, and then negating the result, can be optimized into dividing the integer by the negated constant. The optimization is attractive since it reduces the number of instructions. It also looks reasonable at first glance since we all learned in school that -(X/C) is equal to X/(-C).

However, ALIVe is not happy with this optimization:

$ alive.py < example2.opt  
----------------------------------------  
Optimization: 1  
Precondition: true  
%a = sdiv %X, C  
%r = sub 0, %a  
  =>
%r = sdiv %X, -C

Done: 1 
ERROR: Domain of definedness of Target is smaller than Source's for i2 %r

Example: 
%X i2 = 2 (0x2) 
C i2 = 1 (0x1) 
%a i2 = 2 (0x2) 
Source value: 2 (0x2) 
Target value: undef

What's the problem? If C=1, then -C=-1. When %X=-2, %X/(-C) overflows, since 2 is not representable in a 2-bit signed representation (ALIVe gives counterexamples at the smallest bitwidth that is required to trigger an optimization bug). LLVM's language reference states that overflow in sdiv leads to undefined behavior. In summary, in the original code there was no undefined behavior when C=1, but the optimized version may be undefined in that case.

ALIVe is able to prove that a fixed version of this optimization is correct (but note that we've restricted the bitwidth since division is difficult for SMT solvers):

----------------------------------------
Optimization: 1
Precondition: ((C != 1) && !isSignBit(C))
%a = sdiv i16 %X, C
%r = sub 0, %a
  =>
%r = sdiv %X, -C

Done: 1
Optimization is correct!

And, in fact, the fix that was committed to LLVM's instruction combiner is equivalent to the one we've shown here.

A precondition specifies additional conditions beyond the occurrence of a pattern of instructions that must hold before the optimization is allowed to fire. The isSignBit() predicate is an LLVM function that tests whether a value is INT_MIN, where INT_MIN is the minimum integer value for a given bit-width. In general, it is not possible to call arbitrary LLVM code from ALIVe code, but we have reimplemented some commonly used functions, and will continue to add more of these as needed.

Another kind of undefined behavior bug that ALIVe can help find is incorrect propagation of the nsw/nuw flags which inform LLVM that an arithmetic operation is guaranteed to not overflow (nsw stands for "no signed wrap" and nuw is "no unsigned wrap"). For example, while translating instruction combiner patterns into ALIVe, we ran across PR20189 (which was independently discovered and then reported by another developer). This transformation wanted to convert x -nsw (-C) into x +nsw C, which is invalid; the optimization should only fire when both subtractions on the LHS are nsw.

So far, we have translated some of LLVM's instruction combiner (88 transformations, in total) into ALIVe; you can look at the results of that effort here. Each file in this directory corresponds to a file in LLVM's instruction combiner.

Design Goals

Tools based on formal methods are not always easy to use. One of our major design goals is that regular LLVM developers, and other interested people, can use ALIVe to explore new transformations and to evaluate the correctness of existing transformations. To meet this goal, we have designed ALIVe to look and act like the textual representation of LLVM IR. The major departure from LLVM is support for abstraction. As we saw above, optimizations must contain elements of abstraction in order to be effective in as wide a range of situations as possible. Syntactically, ALIVe supports abstraction via omission and via variables. For example, if you fail to specify the bit-width of a register, then ALIVe will assume that the optimization is intended to apply to all bit-widths. If an optimizations doesn't care about bitwidth but requires that two registers have the same width, then they can be given symbolic widths. Another aspect of usability is that ALIVe should clearly explain its reasoning not only in the case where something is wrong with an optimization, but also when an optimization is correct. We are still working out the details of this, but probably ALIVe will need to share some details about the results of its type inference. The reason that ALIVe must explain itself in the "correct optimization" case is to help avoid vacuously correct specifications, which are undesirable although not nearly as harmful as incorrect specifications.

The second major goal of ALIVe is to automate as many hard and tedious tasks as possible. Obviously, reasoning about the correctness of optimizations is one of these tasks. Another is inferring the placement of LLVM's undefined behavior qualifiers: nsw, nuw, and exact. Above, we saw an example where LLVM was erroneously optimistic about where such a flag needed to be placed. We believe that the instruction combiner contains many instances of the opposite error: undefined behavior flags are left out in cases where they could have been added. ALIVe will help find these, leading to more effective optimizations. Going forward, we also want to compile ALIVe specifications into efficient C++ code that could be included in LLVM. This has multiple benefits for LLVM developers: eliminating bugs in the instruction combiner and reducing the time to develop new instruction combiner patterns. Code review can then focus on whether the pattern is profitable, rather than worrying that it may be wrong.

Our third goal is to separate correctness from profitability. These are orthogonal concerns and neither is easy to deal with. Currently, this separation is accomplished by not reasoning about profitability at all. In some cases, the profitability of peephole optimizations is straightforward: if instructions can be removed, they should be. But in many other cases, transformations are desirable for a more subtle reason: they create conditions that are conducive to further optimization. Some of this is captured by canonicalization rules.

The Language

ALIVe abstracts away types. For example, the icmp instruction can either take a pair of integers of arbitrary bit-width or a pair of pointers. If you write an optimization that matches an icmp instruction, then ALIVe will try to prove the optimization correct for all possible integer bit-widths and pointer types, since an optimization may be correct for, say, i1 but not i8. Currently, however, ALIVe limits its proofs to bit-widths from 1 to 64 bits, and pointer sizes of 32 and 64 bits. Types may be named to express the constraint that a type is the same in different parts of an optimization.

ALIVe supports the specification of optimizations over several instruction types. Generally, anything that is left unspecified means that the optimization is intended to apply to all possible instantiations. For example, the following optimization encodes all possible choices of icmp comparisons and zero extensions:

%1 = icmp %n, %a 
%2 = zext %1 
%3 = icmp %n, %b 
%4 = zext %3 
%5 = or %2, %4 
%6 = icmp eq %5, 0 
  =>
%1 = icmp %n, %a 
%3 = icmp %n, %b 
%. = or %1, %3 
%6 = icmp eq %., 0

ALIVe assumes that identifiers matching the regex 'C\d*' are constants. This is not important for correctness, but it will be important once we start generating C++ code from the specifications.

Like LLVM, identifiers starting with % are unaliased temporaries that are likely to be mapped to registers by a backend. They hold arbitrary values (subject to preconditions) on the input side. If a temporary appears on both the RHS and the LHS, then the RHS must end up with the same value for the temporary as the LHS, for all valid inputs. A valid input is one that does not trigger undefined behavior in any instruction on the LHS. If a register appears only on the LHS or only on the RHS and it is not an input, then it is an intermediate value that imposes no correctness requirement. In practice, that value will be removed from the output if the number of users reaches zero.

What Next?

There's much left to do! We are still working on improving and extending the ALIVe language, as well as improving the performance of the tool and the quality of the diagnostics.

We welcome users and contributions from the LLVM community. We are looking for feedback regarding the specification language, the tool itself, how to best integrate ALIVe within the LLVM development process, and so on.

If you find a bug in ALIVe or find an LLVM bug using ALIVe or if you manage to verify an awesome optimization, please get in touch.

Licensing

Although ALIVe is open source (Apache 2 license), it relies on the Z3 SMT solver. Z3 is licensed under the Microsoft Research License Agreement (MSR-LA), which forbids commercial usage. However -- after discussions with people at Microsoft -- it is our and Microsoft's understanding that using Z3 with ALIVe for the development of LLVM does not constitute commercial usage for the following reasons:

  1. LLVM is not a commercial product of any particular company.
  2. ALIVe is free.

Questions regarding Z3's license should be directed to Behrooz Chitsaz (behroozc@microsoft.com), the Director of IP at Microsoft Research, who kindly offered to answer any question regarding the usage of Z3 within ALIVe. This statement does not constitute legal advice and it is not legally binding. Interested parties should seek professional consultation with an attorney.

things magazine: Last dance

Tonight is the 25th anniversary of the Cure’s three-night residency at Wembley Arena in July 1989. The result was a live album, Entreat, issued in 1991 and remixed and re-released in 2010

Recent additions: statistics 0.13.1.1

Added by BryanOSullivan, Wed Jul 23 21:48:57 UTC 2014.

A library of statistical types, data, and functions

Hackaday: New Round of Astronaut or Not: Most Outrageous Component

 

Round 2 Astronaut or Not Voting Results Graph

And so ends round 2 of Astronaut or Not. We asked you to vote for the projects “most likely to be used in other projects”. Again you didn’t disappoint. We had a mountain of votes, and happily gave away a Bukito portable 3D printer to one of the lucky voters.

You must vote at least once in this new round to be eligible for the voter lottery on Friday!

Vote for the project with “the most outrageous component”. Can’t figure out what we mean by that? Well, if you come across an entry that has a quarter-million-dollar hard drive in it… vote for that one.

Voter Lottery Prize:

BK Precision 1760AHow long have you been making do with a hacked together power supply?

Be sure you vote and you could kiss those days goodbye with this BK Precision 1760A bench supply. It has three channels; 0-30V 0-2A on the first two and 4-6.5V 0-5A on the third. We’re also throwing in some leads so that you can be up and running as soon as it arrives.

We’ll draw a random number on Friday morning. If you have voted at least one time in this current round (your participation in previous rounds doesn’t matter) and your hacker number is drawn you will win! But if your number is drawn and you haven’t voted… no bench supply for you.

Now for the results:

Congratulations to the second round winners of Astronaut or Not!

* 9 of these projects were voted to the top in the first round and already have T-shirts on the way to them. This time around those double-winners are awarded the prestige of being on top again. But we’ll just be sending shirts to the 15 projects that didn’t win earlier. Here’s nine that nearly made the top projects in this second round of voting:


Filed under: cons, The Hackaday Prize

Computer Science: Theory and Application: Machines Will Outsmart Humans by 2075, Say 90% of Computer Scientists

submitted by linuxjava
[link] [10 comments]

Greater Fool - Authored by Garth Turner - The Troubled Future of Real Estate: The bomb

RISK 1 modified

“We’ve always lived below our means and have no children,” says Louise, “so it’s been easier for us to save than it is for many people.  Neither of us ever had well-paying work (my husband never hit $75,000) but we’ve never had big needs or wants – we spend about $50,000 per year.”

That seems to be enough when you’re in a small Ontario city like Guelph. At least for her and Paul. So on their combined incomes of $150,000 (but no pensions), they’ve saved up a storm despite paying off their home years ago.

Both are in the middle-fifties. They read the post here a few days ago about net worth, and seem a little shocked that the average Canadian (says StatsCan) clocks in at $243,800. As you may recall, a third of that number comes from pension benefits that may or may not be received in the future, and another 30% is in residential real estate, reflecting our bubblicious market and historic values.

“So our net worth number (including a conservative house value estimate) is: $2.45 million.  Of that, the house is worth about $350,000, and our after-tax accounts are more than half of the rest.

“Garth – since I like to feel secure, I feel I need to keep earning for a few more years (three perhaps? Do you think that’s long enough?) but my question is:  What the heck are “average” Canadians and Americans going to do to make it through their retirement years?  I don’t feel wealthy at all, given how many expenses will come our way during the next (possibly) 30-40+ years.  But when I see what the typical pre-retiree has saved, I just don’t understand how they’re going to make it.  What do you think?”

Indeed. The numbers are sad. At present 72% of Canadians do not have a corporate pension with any defined or pre-determined benefits. Most folks are lucky today if the employer matches them for contributions to a group RRSP, which is then managed by a company flogging mutual funds. Meanwhile real estate values are at record levels, suggesting this will change because nothing goes up forever. Those two items (pension, house) make up two-thirds of average family net worth, which would leave about $80,000 in actual liquid assets.

But as I mentioned, the wealth gap is growing, and the top 20% have net worth of $1.4 million or greater (like Louise, and a lot of people who come here), which suggests mucho middle-class people have far less liquidity and far more real estate equity than the median.

Now, what about retirement?

First, it’s long. Count on twenty years. That could take a lot of dough. Second, you’re largely on your own. The average Canada Pension Plan monthly payment is $611. Big deal. That’s $7,300 a year. Even if you worked your whole life and contributed the maximum (which relatively few do), the biggest monthly is $1,038. Once you hit 65, the Old Age Supplement adds $537 (but clawed back for many). So the average government pension package is a piteous $13,800 a year.

Worse, of course, you might not even get the OAS in the future until you’re well and truly wrinkled and dried up – like age 70. Already the qualifying age has been moved to 67 (for those born after 1963), and you can be sure it will move again.

By the way, the average American social security payment for retirees is $1,294 a month, or more than our CPP and OAS combined. Houses there cost 50% less and retirees have universal health care. Mortgages are fixed (no rate increases) for 30 years, plus people who retire with one can deduct both the loan interest and property taxes from their taxable income.

This may be why US stats look even worse than ours. The average Yank spends 18 years retired, and yet by age 50 has saved just $43,797. The number of people aged 30 to 54 who currently think they are screwed in terms of income after they stop working is 80%. Actually 36% save zero before retirement, and rely totally on government pogey.

So, in summary, Louise is right to worry. Yes, with her $2.45 million and the $150,000 a year in income it will throw off (forever, if invested nicely), she and her squeeze are okay. But society is unlikely to let millions of other middle class people – who foolishly saved too little, bought too much house and will be caught in the downturn – end up on KD and kibble. Given the wealth disparity and current demographics, it’s pretty much assured personal tax rates will rise and benefits like CPP and OAS disappear for all but the needy.

If you know that now, max out your TFSA and invest it aggressively. Think twice about loading up on RRSPs for retirement, which will be sitting ducks for any increase in general tax rate as all proceeds must be taken as taxable income. Stop putting money into assets which pay interest with no potential for capital gains, since rates will stay relatively low for years and the yield is 100% taxed. Focus on returns which come as capital gains and dividends, on which the tax hit is reduced by about 50%. Income split with vigour, most effectively through spousal RRSPs that can be collapsed during years of low income. Sell your house, invest and downsize at the most auspicious time. That could well be now. And understand, above all, that the greatest risk we face is running out of money. Not losing it.

As you know, the people who read this pathetic blog are not normal. Incomes and net worth are far above the herd. Meanwhile there are 85 million Boomers in the US and Canada. Their collective stagger into years of non-work and higher needs will sure be an economic bomb.

Have you heard what’s already being said about ‘eat the rich’? Yikes.

OCaml Planet: Richard Jones: libguestfs now works on 64 bit ARM

arm

Pictured above is my 64 bit ARM server. It’s under NDA so I cannot tell you who supplied it or even show you a proper photo.

However it runs Fedora 21 & Rawhide:

Linux arm64.home.annexia.org 3.16.0-0.rc6.git1.1.efirtcfix1.fc22.aarch64 #1 SMP Wed Jul 23 12:15:58 BST 2014 aarch64 aarch64 aarch64 GNU/Linux

libvirt and libguestfs run fine, with full KVM acceleration, although right now you have to use qemu from git as the Rawhide version of qemu is not new enough.

Also OCaml 4.02.0 beta works (after we found and fixed a few bugs in the arm64 native code generator last week).


Hackaday: THP Entry: Cut Energy Consumption by 30 percent with this WiFi XBee Setup

5277901405891974757

Let’s be honest. Paying electricity bills sucks. The amount paid is always too much, and the temperatures in the building are rarely set at a comfortable level. But now, with the help of this DIY Climate Control system, power-users can finally rejoice knowing that the heating and cooling process of their home (or commercial space) can be easily controlled through the utilization of an XBee Remote Kit and a process called zoning.

The team behind the project is [Doug], [Benjamin] and [Lucas]. They hope to solve the inconsistent temperature problems, which are caused by a moving sun, by open-sourcing their work into the community.

Their XBee system runs on a mesh network making it a perfect tool for sensing and communicating which areas in the house are too hot or too cold. Once the data is collected, XBee modules route the information wirelessly to each other until it reaches a central Arduino gatekeeper; which then decides if it wants to heat, ventilate, or air condition the room.

Not to mention all the added benefits posted below:

For one, you can hook-up temperature ICs like the TMP36 (PDF) without the need to buy extra parts. Better yet, the XBee can be programmed to fall asleep thus saving battery life. This means that the whole module can run on rechargeable AAA batteries.

Even further, it can be coded at its various ports to read other devices. This is great because it gives the setup the potential to turn on and off devices that are hooked to the module, transforming it into a networked hub of interconnected devices.

This approach not only allows you to be involved in saving the planet, but it keeps your home, warehouse, or office building at a much more comfortable level in the process, a real win-win.


SpaceWrencherThe project featured in this post is an entry in The Hackaday Prize. Build something awesome and win a trip to space or hundreds of other prizes.


Filed under: home hacks, The Hackaday Prize

explodingdog: too much



too much

explodingdog: Could you draw "too much"? I love your drawings~

it will be next.

awesome,

Sam

Colossal: Woven Sky: A Bamboo Tunnel Installation Woven Together Like a Basket by Wang Wen-Chih

Woven Sky: A Bamboo Tunnel Installation Woven Together Like a Basket by Wang Wen Chih bamboo Australia architecture

all images courtesy Cave Urban

Woven Sky: A Bamboo Tunnel Installation Woven Together Like a Basket by Wang Wen Chih bamboo Australia architecture

Woven Sky: A Bamboo Tunnel Installation Woven Together Like a Basket by Wang Wen Chih bamboo Australia architecture

Woven Sky: A Bamboo Tunnel Installation Woven Together Like a Basket by Wang Wen Chih bamboo Australia architecture

Woven Sky: A Bamboo Tunnel Installation Woven Together Like a Basket by Wang Wen Chih bamboo Australia architecture

Woven Sky: A Bamboo Tunnel Installation Woven Together Like a Basket by Wang Wen Chih bamboo Australia architecture

Woven Sky: A Bamboo Tunnel Installation Woven Together Like a Basket by Wang Wen Chih bamboo Australia architecture

Woven Sky: A Bamboo Tunnel Installation Woven Together Like a Basket by Wang Wen Chih bamboo Australia architecture

Using 600 poles of bamboo and 70 radiata pine logs all harvested locally, Taiwanese Artist Wang Wen-Chih created a massive installation that served as the entrance to the Woodford Folk Festival in Australia. Working with the Sydney-based architecture and design collective Cave Urban, a team of 40 workers and volunteers spent 3 weeks building the structure. Each bamboo pole was split into 4-5 pieces and weaved together like a basket. Woven Sky, which rises 15m high and is 100m long, was completed late last year, just in time for the music festival, and served an impressive entrance point into the amphitheater stage.

Planet Haskell: Neil Mitchell: Applicative vs Monadic build systems

Summary: Shake is a monadic build system, and monadic build systems are more powerful than applicative ones.

Several people have wondered if the dependencies in the Shake build system are monadic, and if Make dependencies are applicative. In this post I'll try and figure out what that means, and show that the claim is somewhat true.

Gergo recently wrote a good primer on the concepts of Applicative, Monads and Arrows (it is worth reading the first half if you are unfamiliar with monad or applicative). Using a similar idea, we can model a simple build system as a set of rules:

rules :: [(FilePath, Action String)]
rules = [("a+b", do a <- need "a"; b <- need "b"; return (a ++ b))
,("a" , return "Hello ")
,("b" , return "World")
]

Each rule is on a separate line, containing a pair of the file the rule produces (e.g. a for the second rule) and the action that produces the files contents (e.g. return "Hello"). I've used need to allow a rule to use the contents of another file, so the rule for a+b depends on the files a and b, then concatenates their contents. We can run these rules to produce all the files. We've written these rules assuming Action is a Monad, using the do notation for monads. However, for the above build system, we can restrict ourselves to Applicative functions:

rules = [("a+b", (++) <$> need "a" <*> need "b")
,("a" , pure "Hello ")
,("b" , pure "World")
]

If Action is applicative but not monadic then we can statically (without running any code operating on file contents) produce a dependency graph. If Action is monadic we can't generate a graph upfront, but there are some build systems that cannot be expressed applicatively. In particular, using a monad we can write a "dereferencing" build system:

rules = [("!a", do a <- need "a"; need a)
,("a" , pure "b")
,("b" , pure "Goodbye")
]

To build the file !a we first require the file a (which produces the contents b), then we require the file b (which produces the contents Goodbye). Note that the first rule has changed b the content into b the file name. In general, to move information from the file content to a file name, requires a monad. Alternatively stated, a monad lets you chose future dependencies based on the results of previous dependencies.

One realistic example (from the original Shake paper), is building a .tar file from the list of files contained in a file. Using Shake we can write the Action:

contents <- readFileLines "list.txt"
need contents
cmd "tar -cf" [out] contents

The only build systems that I'm aware of that are monadic are redo, SCons and Shake-inspired build systems (including Shake itself, Jenga in OCaml, and several Haskell alternatives).

While it is the case that Shake is monadic, and that monadic build systems are more powerful than applicative ones, it is not the case that Make is applicative. In fact, almost no build systems are purely applicative. Looking at the build shootout, every build system tested can implement the !a example (provided the file a is not a build product), despite several systems being based on applicative dependencies.

Looking at Make specifically, it's clear that the output: input1 input2 formulation of dependencies is applicative in nature. However, there are at least two aspects I'm aware of that increase the power of Make:

  • Using $(shell cat list.txt) I can splice the contents of list.txt into the Makefile, reading the contents of list.txt before the dependencies are parsed.
  • Using -include file.d I can include additional rules that are themselves produced by the build system.

It seems every "applicative" build system contains some mechanism for extending its power. I believe some are strictly less powerful than monadic systems, while others may turn out to be an encoding of monadic rules. However, I think that an explicitly monadic definition provides a clearer foundation.

Potz!Blitz!Szpilman!: Unknown

Unknown, White Flag on top of Brooklyn Bridge, 2014

Computer Science: Theory and Application: Com sci major here, I just got hired to write a website, how can I get started? (explained more)

I know the question is very vague let me explain:

I'm proficient in C, C++, Java, Python, ARM and SPARC assembly but I've never made a website, but I'm a pretty fast learner. This website is simply a video hosting website, the business wants a private website to host videos, so people who are invited to login can view the videos posted. It's really basic and I know I can write the code if I just learn the languages needed, but I'm lost on where to get started. Any advice?

submitted by like_a_bbas
[link] [23 comments]

explodingdog: I’m not alone anymore



I’m not alone anymore

Colossal: Surreal Graphite Drawings by ‘Violaine & Jeremy’ Merge Nature and Humor

Surreal Graphite Drawings by Violaine & Jeremy Merge Nature and Humor surreal illustration drawing animals

Surreal Graphite Drawings by Violaine & Jeremy Merge Nature and Humor surreal illustration drawing animals

Surreal Graphite Drawings by Violaine & Jeremy Merge Nature and Humor surreal illustration drawing animals

Surreal Graphite Drawings by Violaine & Jeremy Merge Nature and Humor surreal illustration drawing animals

Surreal Graphite Drawings by Violaine & Jeremy Merge Nature and Humor surreal illustration drawing animals

Surreal Graphite Drawings by Violaine & Jeremy Merge Nature and Humor surreal illustration drawing animals

Surreal Graphite Drawings by Violaine & Jeremy Merge Nature and Humor surreal illustration drawing animals

Surreal Graphite Drawings by Violaine & Jeremy Merge Nature and Humor surreal illustration drawing animals

Violaine & Jeremy is a graphic design
and illustration studio based in Paris formed by Violaine Orsoni and Jeremy Schneider. The duo collaborate on a wide range of projects including the design and layout of Influencia magazine, indentity projects, and album covers. Among their best work are these astounding graphite drawings of quirky animals adorned with beards of wildlife and other unexpected characters. You can see much more over on Behance.

Quiet Earth: TIFF 2014: Jake Gyllenhaal Goes Dark(er) In NIGHTCRAWLER [Trailer]

Jake Gyllenhaal is killing it. After an ill advised foray into summer action blockbuster territory (I rather enjoyed Prince of Persia but I'm in the minority there), Gyllenhaal has slowly reverted back to the smaller movies that brought him so much success earlier in his career. Last year he had the winning one-two punch of Prisoners and Enemy (review) and now he follows it up with Nightcrawler.

Writer-turned-director Dan Gilroy is responsible for this thriller that stars Gyllenhaal as a wannabe journalist who finds his way into the business through the sleazy underground world of LA crime journalism. Bill Paxton and Rene Russo co-star.

It sounds pretty straight forwa [Continued ...]

Lambda the Ultimate - Programming Languages Weblog: A Next Generation Smart Contract and Decentralized Application Platform

A Next Generation Smart Contract and Decentralized Application Platform, Vitalik Buterin.

When Satoshi Nakamoto first set the Bitcoin blockchain into motion in January 2009, he was simultaneously introducing two radical and untested concepts. The first is the "bitcoin", a decentralized peer-to-peer online currency that maintains a value without any backing, intrinsic value or central issuer. So far, the "bitcoin" as a currency unit has taken up the bulk of the public attention, both in terms of the political aspects of a currency without a central bank and its extreme upward and downward volatility in price. However, there is also another, equally important, part to Satoshi's grand experiment: the concept of a proof of work-based blockchain to allow for public agreement on the order of transactions. Bitcoin as an application can be described as a first-to-file system: if one entity has 50 BTC, and simultaneously sends the same 50 BTC to A and to B, only the transaction that gets confirmed first will process. There is no intrinsic way of determining from two transactions which came earlier, and for decades this stymied the development of decentralized digital currency. Satoshi's blockchain was the first credible decentralized solution. And now, attention is rapidly starting to shift toward this second part of Bitcoin's technology, and how the blockchain concept can be used for more than just money.

Commonly cited applications include using on-blockchain digital assets to represent custom currencies and financial instruments ("colored coins"), the ownership of an underlying physical device ("smart property"), non-fungible assets such as domain names ("Namecoin") as well as more advanced applications such as decentralized exchange, financial derivatives, peer-to-peer gambling and on-blockchain identity and reputation systems. Another important area of inquiry is "smart contracts" - systems which automatically move digital assets according to arbitrary pre-specified rules. For example, one might have a treasury contract of the form "A can withdraw up to X currency units per day, B can withdraw up to Y per day, A and B together can withdraw anything, and A can shut off B's ability to withdraw". The logical extension of this is decentralized autonomous organizations (DAOs) - long-term smart contracts that contain the assets and encode the bylaws of an entire organization. What Ethereum intends to provide is a blockchain with a built-in fully fledged Turing-complete programming language that can be used to create "contracts" that can be used to encode arbitrary state transition functions, allowing users to create any of the systems described above, as well as many others that we have not yet imagined, simply by writing up the logic in a few lines of code.

Includes code samples.

Arduino Blog: Opensourcing imagination and sharing knowledge in Nepal

DSC_1570

David Cuartielles held a worshop at Campus Party Berlin introducing  Arduino and the cool things you can do with it. Some months later, on of the students, Sanjeet Raj Pandey, wrote him to reveal that the event was a life changing moment.

After that Sajeet decided  to share his knowledge and experience organising workshops in a rural city called Janakpur in Nepal. In that occasion a 100 participants got introduced to Arduino. They learnt how to blink LEDs, work with a temperature sensor, light sensor, ultrasound sensor and also to make a DIY Arduino:

Most of it was financed by myself and a bit of donation from Telecommunication department -Technical University of Berlin and Berlin Promotion Agency.

I like to make things which are real and can be put to work for society . Making things, one just cannot see but also touch is awesome.

Hope you will share Janakpur (Nepal) as one more place with Arduino. I would be keeping up pace and will be doing more such projects, workshops, seminars, remote sessions, etc for students in Nepal.

These are some pictures from the workshops:

DSC_1509 DSC_1512 DSC_1513 DSC_1514 DSC_1516 DSC_1570 DSC_1578 DSC_1582 DSC_1584 DSC_1599 DSC_1613 DSC_1630

Do you have a similar story to share? Submit it to our blog!

The Rhizome Frontpage RSS: Rhizome's 2014-15 Support for Artists: Announcing New Microgrants and Commissions

Aleksandra Domanović, From yu to me, supported by Rhizome's commissions program in 2014.

Rhizome supports the creation of significant new art through commissions and direct funding for artists. These works may take various forms and scales, but are tied together by their considered illumination of contemporary digital culture.

Today, I outline our vision for awarding money to artists in 2014-15, focusing on three new initiatives with funding totaling nearly $40,000.

Internet Art Microgrants 

Now accepting proposals. Deadline: August 22, 2014. 

In the spirit of our open award each year, we'd like the Rhizome community to consider a collection of compelling ideas for net-based works of art, so as to provide a modest injection that may help bring them to life. This program values dynamic concepts, and the feedback of an engaged peer audience.  

Five awards of $500 will be largely determined by public vote, for those with user accounts on Rhizome. Submissions will comprise a simple 150-word statement and a single sketch or image. Rhizome community votes will narrow the selection down to a pool of 20 ideas, from which a guest jury will award five. 

These awards will be announced, and featured, with our autumn program. The submission form and guidelines are available here


Curated Commissions

Throughout 2014-15, four substantial commissions—selected by Rhizome curators in conversation with artists will be awarded to artists based in New York City for the creation of new works. These new works will feature prominently in Rhizome's program, and benefit from significant curatorial, editorial, and presentation support in addition to funding. 

Much of the feedback we get from our commissioned artists is that the money we award is significantly enhanced by our capacity to support the work through its production and presentation. With this curatorial-led model, we can be more proactive about how these fit within our entire program, and realize each commission most fully. Commissioned artists will be announced with our autumn program. 

Our funding for this program currently requires a NYC focus, however, we're working to find new funding to commission artists nationally and internationally—and we hope to announce more programs to this end, as well as support international artists throughout our other programs. 

 Ann Hirsch, Playground, supported by Rhizome's commissions program in 2013.

Prix Net Art: International Prize for Internet Art

Now accepting nominations. Deadline: August 31, 2014. 

Last week, we announced the establishment of a new $10,000 prize for internet art, in collaboration with Chinese partners TASML and CAT/CCLI. The prize, which will be awarded three times in total in 2014, 2015 and 2016, will recognize the past work and future promise of one artist making outstanding work on the internet. A second distinction award of $5,000 will also be made. Please see full information about the prize at http://www.prixnetart.org

Questions about any of these programs can be directed to info@rhizome.org.


The Rhizome commissions program is supported in part, by funds from Deutsche Bank Americas Foundation, the Jerome Foundation, the National Endowment for the Arts, and by public funds from the New York City Department of Cultural Affairs and New York State Council on the Arts. 

Colossal: Hidden Geometric Patterns Gradually Revealed inside Giant Chocolate Cylinder

Hidden Geometric Patterns Gradually Revealed inside Giant Chocolate Cylinder geometric food chocolate

Hidden Geometric Patterns Gradually Revealed inside Giant Chocolate Cylinder geometric food chocolate

Hidden Geometric Patterns Gradually Revealed inside Giant Chocolate Cylinder geometric food chocolate

Hidden Geometric Patterns Gradually Revealed inside Giant Chocolate Cylinder geometric food chocolate

Hidden Geometric Patterns Gradually Revealed inside Giant Chocolate Cylinder geometric food chocolate

Hidden Geometric Patterns Gradually Revealed inside Giant Chocolate Cylinder geometric food chocolate

Hidden Geometric Patterns Gradually Revealed inside Giant Chocolate Cylinder geometric food chocolate

Hidden Geometric Patterns Gradually Revealed inside Giant Chocolate Cylinder geometric food chocolate

Hidden Geometric Patterns Gradually Revealed inside Giant Chocolate Cylinder geometric food chocolate

For a major retrospective of Dutch furniture designer and architect Gerrit Rietveld, the team at Studio Wieki Somers collaborated with chocolatier Rafael Mutter to create Chocolate Mill. The piece was comprised of a giant cylindrical chocolate block that was carefully organized in 10 stacked layers, with flavored shapes used to create different geometric patterns. As a crank-turned blade similar to a cheese slicer grazed shavings off the top, the hidden layers were slowly revealed. You can watch a timelapse of the piece in the video above. (via Designboom, Design You Trust)

programming: One of the best articles I've read about programmers, working in teams, and managing 'geeks'.

submitted by reddit_user48
[link] [237 comments]

OUR VALUED CUSTOMERS: While discussing movies...


Michael Geist: OECD Releases New Broadband Data: Canada Ranks in Bottom Third on Mobile Broadband Subscriptions

The OECD released its latest Internet broadband data yesterday, covering the 34 OECD member states. The update emphasized wireless broadband access, comparing subscription rates across the OECD (many other aspects of the OECD data collection, including pricing and speeds, were not updated). Wireless broadband has emerged in recent years as a critical method of Internet connectivity with consumers and businesses relying on mobile broadband, yet the OECD data has Canada ranking poorly for wireless broadband subscriptions when compared to the rest of the developed economy world (coverage from the Wire Report (sub req)). The OECD release comes one week after a CRTC sponsored report found that Canadian wireless pricing is among the most expensive in the G7 in every tier of usage.

Seven countries, including Finland, Australia, Japan, Sweden, Denmark, Korea, and the U.S., have at least one subscription for every inhabitant. In Canada, the number drops to 53.3 subscriptions for every 100 inhabitants. That places Canada 24th out of 34 OECD countries.

OECD, 2014, http://www.oecd.org/sti/broadband/oecdbroadbandportal.htm

OECD, 2014, http://www.oecd.org/sti/broadband/oecdbroadbandportal.htm

Canada’s major wireless providers insist that speeds and pricing are competitive with the rest of the world, yet the data confirms that there are far fewer mobile broadband subscriptions in Canada when compared to other OECD countries. Policy makers and regulators must be asking why the numbers are much lower in Canada. Canada ranks higher for fixed broadband (ie. cable or DSL) at 11th in the OECD, but virtually all the countries ahead of it also rank ahead on wireless, so it is not simply a case of consumers replacing fixed with wireless services. Further, countries such as Japan and South Korea rank toward the top of the wireless broadband chart, so multiple subscriptions to overcome roaming costs do not explain the differences. Is it a function of pricing? Different access plans or tethering? Different usage of devices? The consistently poor rank – Canada has been in the bottom third of the OECD on wireless broadband subscriptions for years – requires some answers.

The post OECD Releases New Broadband Data: Canada Ranks in Bottom Third on Mobile Broadband Subscriptions appeared first on Michael Geist.

Instructables: exploring - featured: littleBits SMS Doorbell

Receive a text notification when someone rings your doorbell! Whether you are in the backyard gardening, over at the neighbors house, or listening to music at full blast, you will always know when someone is at your door. Install this littleBits doorbell outside your home, and never miss a ring.Make...
By: littleBits

Continue Reading »

The Universe of Discourse: When do n and 2n have the same digits?

[This article was published last month on the math.stackexchange blog, which seems to have died young, despite many earnest-sounding promises beforehand from people who claimed they would contribute material. I am repatriating it here.]

A recent question on math.stackexchange asks for the smallest positive integer for which the number has the same decimal digits in some other order.

Math geeks may immediately realize that has this property, because it is the first 6 digits of the decimal expansion of , and the cyclic behavior of the decimal expansion of is well-known. But is this the minimal solution? It is not. Brute-force enumeration of the solutions quickly reveals that there are 12 solutions of 6 digits each, all permutations of , and that larger solutions, such as 1025874 and 1257489 seem to follow a similar pattern. What is happening here?

Stuck in Dallas-Fort Worth airport one weekend, I did some work on the problem, and although I wasn't able to solve it completely, I made significant progress. I found a method that allows one to hand-calculate that there is no solution with fewer than six digits, and to enumerate all the solutions with 6 digits, including the minimal one. I found an explanation for the surprising behavior that solutions tend to be permutations of one another. The short form of the explanation is that there are fairly strict conditions on which sets of digits can appear in a solution of the problem. But once the set of digits is chosen, the conditions on that order of the digits in the solution are fairly lax.

So one typically sees, not only in base 10 but in other bases, that the solutions to this problem fall into a few classes that are all permutations of one another; this is exactly what happens in base 10 where all the 6-digit solutions are permutations of . As the number of digits is allowed to increase, the strict first set of conditions relaxes a little, and other digit groups appear as solutions.

Notation

The property of interest, , is that the numbers and have exactly the same base- digits. We would like to find numbers having property for various , and we are most interested in . Suppose is an -digit numeral having property ; let the (base-) digits of be and similarly the digits of are . The reader is encouraged to keep in mind the simple example of which we will bring up from time to time.

Since the digits of and are the same, in a different order, we may say that for some permutation . In general might have more than one cycle, but we will suppose that is a single cycle. All the following discussion of will apply to the individual cycles of in the case that is a product of two or more cycles. For our example of , we have in cycle notation. We won't need to worry about the details of , except to note that completely exhaust the indices , and that because is an -cycle.

Conditions on the set of digits in a solution

For each we have $$a_{P(i)} = b_{i} \equiv 2a_{i} + c_i\pmod R $$ where the ‘carry bit’ is either 0 or 1 and depends on whether there was a carry when doubling . (When we are in the rightmost position and there is never a carry, so .) We can then write:

$$\begin{align} a_{P(P(i))} &= 2a_{P(i)} + c_{P(i)} \\ &= 2(2a_{i} + c_i) + c_{P(i)} &&= 4a_i + 2c_i + c_{P(i)}\\ a_{P(P(P(i)))} &= 2(4a_i + 2c_i + c_{P(P(i)})) + c_{P(i)} &&= 8a_i + 4c_i + 2c_{P(i)} + c_{P(P(i))}\\ &&&\vdots\\ a_{P^n(i)} &&&= 2^na_i + v \end{align} $$

all equations taken . But since is an -cycle, , so we have $$a_i \equiv 2^na_i + v\pmod R$$ or equivalently $$\big(2^n-1\big)a_i + v \equiv 0\pmod R\tag{$\star$}$$ where depends only on the values of the carry bits —the are precisely the binary digits of .

Specifying a particular value of and that satisfy this equation completely determines all the . For example, is a solution when because , and this solution allows us to compute

$$\def\db#1{\color{darkblue}{#1}}\begin{align} a_0&&&=2\\ a_{P(0)} &= 2a_0 &+ \db0 &= 4\\ a_{P^2(0)} &= 2a_{P(0)} &+ \db0 &= 0 \\ a_{P^3(0)} &= 2a_{P^2(0)} &+ \db1 &= 1\\ \hline a_{P^4(0)} &= 2a_{P^3(0)} &+ \db0 &= 2\\ \end{align}$$

where the carry bits are visible in the third column, and all the sums are taken . Note that as promised. This derivation of the entire set of from a single one plus a choice of is crucial, so let's see one more example. Let's consider . Then we want to choose and so that where . One possible solution is . Then we can derive the other as follows:

$$\begin{align} a_0&&&=5\\ a_{P(0)} &= 2a_0 &+ \db1 &= 1\\ a_{P^2(0)} &= 2a_{P(0)} &+ \db0 &= 2 \\\hline a_{P^3(0)} &= 2a_{P^2(0)} &+ \db1 &= 5\\ \end{align}$$

And again we have as required.

Since the bits of are used cyclically, not every pair of will yield a different solution. Rotating the bits of and pairing them with different choices of will yield the same cycle of digits starting from a different place. In the first example above, we had . If we were to take (which also solves ) we would get the same cycle of values of the but starting from instead of from , and similarly if we take or . So we can narrow down the solution set of by considering only the so-called bracelets of rather than all possible values. Two values of are considered equivalent as bracelets if one is a rotation of the other. When a set of -values are equivalent as bracelets, we need only consider one of them; the others will give the same cyclic sequence of digits, but starting in a different place. For , for example, the bracelets are and ; the sequences and being equivalent to , and so on.

Example

Let us take , so we want to find 3-digit numerals with property . According to we need where . There are 9 possible values for ; for each one there is at most one possible value of that makes the sum zero:

$$\pi \approx 3 $$

$$\begin{array}{rrr} a_i & 7a_i & v \\ \hline 0 & 0 & 0 \\ 1 & 7 & 2 \\ 2 & 14 & 4 \\ 3 & 21 & 6 \\ 4 & 28 & \\ 5 & 35 & 1 \\ 6 & 42 & 3 \\ 7 & 49 & 5 \\ 8 & 56 & 7 \\ \end{array} $$

(For there is no solution.) We may disregard the non-bracelet values of , as these will give us solutions that are the same as those given by bracelet values of . The bracelets are:

$$\begin{array}{rl} 000 & 0 \\ 001 & 1 \\ 011 & 3 \\ 111 & 7 \end{array}$$

so we may disregard the solutions exacpt when . Calculating the digit sequences from these four values of and the corresponding we find:

$$\begin{array}{ccl} a_0 & v & \text{digits} \\ \hline 0 & 0 & 000 \\ 5 & 1 & 512 \\ 6 & 3 & 637 \\ 8 & 7 & 888 \ \end{array} $$

(In the second line, for example, we have , so and .)

Any number of three digits, for which contains exactly the same three digits, in base 9, must therefore consist of exactly the digits or .

A warning

All the foregoing assumes that the permutation is a single cycle. In general, it may not be. Suppose we did an analysis like that above for and found that there was no possible digit set, other than the trivial set 00000, that satisfied the governing equation . This would not completely rule out a base-10 solution with 5 digits, because the analysis only rules out a cyclic set of digits. There could still be a solution where was a product of a and a -cycle, or a product of still smaller cycles.

Something like this occurs, for example, in the case. Solving the governing equation yields only four possible digit cycles, namely , and . But there are several additional solutions: and . These correspond to permutations with more than one cycle. In the case of , for example, exchanges the and the , and leaves the and the fixed.

For this reason we cannot rule out the possibility of an -digit solution without first considering all smaller .

The Large Equals Odd rule

When is even there is a simple condition we can use to rule out certain sets of digits from being single-cycle solutions. Recall that and . Let us agree that a digit is large if and small otherwise. That is, is large if, upon doubling, it causes a carry into the next column to the left.

Since , where the are carry bits, we see that, except for , the digit is odd precisely when there is a carry from the next column to the right, which occurs precisely when is large. Thus the number of odd digits among is equal to the number of large digits among .
This leaves the digits and uncounted. But is never odd, since there is never a carry in the rightmost position, and is always small (since otherwise would have digits, which is not allowed). So the number of large digits in is exactly equal to the number of odd digits in . And since and have exactly the same digits, the number of large digits in is equal to the number of odd digits in . Observe that this is the case for our running example : there is one odd digit and one large digit (the 4).

When is odd the analogous condition is somewhat more complicated, but since the main case of interest is , we have the useful rule that:

For even, the number of odd digits in any solution is equal to the number of large digits in .

Conditions on the order of digits in a solution

We have determined, using the above method, that the digits might form a base-9 numeral with property . Now we would like to arrange them into a base-9 numeral that actually does have that property. Again let us write and , with . Note that if , then (if there was a carry from the next column to the right) or (if there was no carry), but since is impossible, we must have and therefore must be small, since there is no carry into position . But since is also one of , and it cannot also be , it must be . This shows that the 1, unless it appears in the rightmost position, must be to the left of the ; it cannot be to the left of the . Similarly, if then , because is impossible, so the must be to the left of a large digit, which must be the . Similar reasoning produces no constraint on the position of the ; it could be to the left of a small digit (in which case it doubles to ) or a large digit (in which case it doubles to ). We can summarize these findings as follows:

$$\begin{array}{cl} \text{digit} & \text{to the left of} \\ \hline 1 & 1, 2, \text{end} \\ 2 & 5 \\ 5 & 1,2,5,\text{end} \end{array}$$

Here “end” means that the indicated digit could be the rightmost.

Furthermore, the left digit of must be small (or else there would be a carry in the leftmost place and would have 4 digits instead of 3) so it must be either 1 or 2. It is not hard to see from this table that the digits must be in the order or , and indeed, both of those numbers have the required property: , and .

This was a simple example, but in more complicated cases it is helpful to draw the order constraints as a graph. Suppose we draw a graph with one vertex for each digit, and one additional vertex to represent the end of the numeral. The graph has an edge from vertex to whenever can appear to the left of . Then the graph drawn for the table above looks like this:

Graph for 125 base 9

A 3-digit numeral with property corresponds to a path in this graph that starts at one of the nonzero small digits (marked in blue), ends at the red node marked ‘end’, and visits each node exactly once. Such a path is called hamiltonian. Obviously, self-loops never occur in a hamiltonian path, so we will omit them from future diagrams.

Now we will consider the digit set , again base 9. An analysis similar to the foregoing allows us to construct the following graph:

Graph for 367 base 9

Here it is immediately clear that the only hamiltonian path is , and indeed, .

In general there might be multiple instances of a digit, and so multiple nodes labeled with that digit. Analysis of the case produces a graph with no legal start nodes and so no solutions, unless leading zeroes are allowed, in which case is a perfectly valid solution. Analysis of the case produces a graph with no path to the end node and so no solutions. These two trivial patterns appear for all and all , and we will ignore them from now on.

Returning to our ongoing example, in base 8, we see that and must double to and , so must be to the left of small digits, but and can double to either or and so could be to the left of anything. Here the constraints are so lax that the graph doesn't help us narrow them down much:

Graph for 1024 base 8

Observing that the only arrow into the 4 is from 0, so that the 4 must follow the 0, and that the entire number must begin with 1 or 2, we can enumerate the solutions:

      1042
      1204
      2041
      2104

If leading zeroes are allowed we have also:

      0412
      0421

All of these are solutions in base 8.

The case of

Now we turn to our main problem, solutions in base 10.

To find all the solutions of length 6 requires an enumeration of smaller solutions, which, if they existed, might be concatenated into a solution of length 6. This is because our analysis of the digit sets that can appear in a solution assumes that the digits are permuted cyclically; that is, the permutations that we considered had only one cycle each. If we perform the analy

There are no smaller solutions, but to prove that the length 6 solutions are minimal, we must analyze the cases for smaller and rule them out. We now produce a complete analysis of the base 10 case with and . For there is only the trivial solution of , which we disregard. (The question asked for a positive number anyway.)

For , we want to find solutions of where is a two-bit bracelet number, one of or . Tabulating the values of and that solve this equation we get:

$$\begin{array}{ccc} v& a_i \\ \hline 0 & 0 \\ 1& 3 \\ 3& 9 \\ \end{array}$$

We can disregard the and solutions because the former yields the trivial solution and the latter yields the nonsolution . So the only possibility we need to investigate further is , which corresponds to the digit sequence : Doubling gives us and doubling , plus a carry, gives us again.

But when we tabulate of which digits must be left of which informs us that there is no solution with just and , because the graph we get, once self-loops are eliminated, looks like this:

graph for 36 base 10

which obviously has no hamiltonian path. Thus there is no solution for .

For we need to solve the equation where is a bracelet number in , specifically one of or . Since and are relatively prime, for each there is a single that solves the equation. Tabulating the possible values of as before, and this time omitting rows with no solution, we have:

$$\begin{array}{rrl} v & a_i & \text{digits}\\ \hline 0& 0 & 000\\ 1& 7 & 748 \\ 3& 1 & 125\\ 7&9 & 999\\ \end{array}$$

The digit sequences and yield trivial solutions or nonsolutions as usual, and we will omit them in the future. The other two lines suggest the digit sets and , both of which fails the “odd equals large” rule.

This analysis rules out the possibility of a digit set with , but it does not completely rule out a 3-digit solution, since one could be obtained by concatenating a one-digit and a two-digit solution, or three one-digit solutions. However, we know by now that no one- or two-digit solutions exist. Therefore there are no 3-digit solutions in base 10.

For the governing equation is where is a 4-bit bracelet number, one of . This is a little more complicated because . Tabulating the possible digit sets, we get:

$$\begin{array}{crrl} a_i & 15a_i& v & \text{digits}\\ \hline 0 & 0 & 0 & 0000\\ 1 & 5 & 5 & 1250\\ 1 & 5 & 15 & 1375\\ 2 & 0 & 0 & 2486\\ 3 & 5 & 5 & 3749\\ 3 & 5 & 15 & 3751\\ 4 & 0 & 0 & 4862\\ 5 & 5 & 5 & 5012\\ 5 & 5 & 5 & 5137\\ 6 & 0 & 0 & 6248\\ 7 & 5 & 5 & 7493\\ 7 & 5 & 5 & 7513\\ 8 & 0 & 0 & 8624 \\ 9 & 5 & 5 & 9874\\ 9 & 5 & 15 & 9999 \\ \end{array}$$

where the second column has been reduced mod . Note that even restricting to bracelet numbers the table still contains duplicate digit sequences; the 15 entries on the right contain only the six basic sequences , and . Of these, only and obey the odd equals large criterion, and we will disregard and as usual, leaving only . We construct the corresponding graph for this digit set as follows: must double to , not , so must be left of a large number or . Similarly must be left of or . must also double to , so must be left of . Finally, must double to , so must be left of or the end of the numeral. The corresponding graph is:

graph for 3749 base 10

which evidently has no hamiltonian path: whichever of 3 or 4 we start at, we cannot visit the other without passing through 7, and then we cannot reach the end node without passing through 7 a second time. So there is no solution with and .

We leave this case as an exercise. There are 8 solutions to the governing equation, all of which are ruled out by the odd equals large rule.

For the possible solutions are given by the governing equation where is a 6-bit bracelet number, one of . Tabulating the possible digit sets, we get:

$$\begin{array}{crrl} v & a_i & \text{digits}\\ \hline 0 & 0 & 000000\\ 1 & 3 & 362486 \\ 3 & 9 & 986249 \\ 5 & 5 & 500012 \\ 7 & 1 & 124875 \\ 9 & 7 & 748748 \\ 11 & 3 & 362501 \\ 13 & 9 & 986374 \\ 15 & 5 & 500137 \\ 21 & 3 & 363636 \\ 23 & 9 & 989899 \\ 27 & 1 & 125125 \\ 31 & 3 & 363751 \\ 63 & 9 & 999999 \\ \end{array}$$

After ignoring and as usual, the large equals odd rule allows us to ignore all the other sequences except and . The latter fails for the same reason that did when . But , the lone survivor, gives us a complicated derived graph containing many hamiltonian paths, every one of which is a solution to the problem:

graph for 124578 base 10

It is not hard to pick out from this graph the minimal solution , for which , and also our old friend for which .

We see here the reason why all the small numbers with property contain the digits . The constraints on which digits can appear in a solution are quite strict, and rule out all other sequences of six digits and all shorter sequences. But once a set of digits passes these stringent conditions, the constraints on it are much looser, because is only required to have the digits of in some order, and there are many possible orders, many of which will satisfy the rather loose conditions involving the distribution of the carry bits. This graph is typical: it has a set of small nodes and a set of large nodes, and each node is connected to either all the small nodes or all the large nodes, so that the graph has many edges, and, as in this case, a largish clique of small nodes and a largish clique of large nodes, and as a result many hamiltonian paths.

Onward

This analysis is tedious but is simple enough to perform by hand in under an hour. As increases further, enumerating the solutions of the governing equation becomes very time-consuming. I wrote a simple computer program to perform the analysis for given and , and to emit the possible digit sets that satisfied the large equals odd criterion. I had wondered if every base-10 solution contained equal numbers of the digits and . This is the case for (where the only admissible digit set is ), for (where the only admissible sets are and ), and for (where the only admissible sets are and ). But when we reach the increasing number of bracelets has loosened up the requirements a little and there are 5 admissible digit sets. I picked two of the promising-seeming ones and quickly found by hand the solutions and , both of which wreck any theory that the digits must all appear the same number of times.

Acknowledgments

Thanks to Karl Kronenfeld for corrections and many helpful suggestions.

Planet Haskell: Mark Jason Dominus: When do n and 2n have the same digits?

[This article was published last month on the math.stackexchange blog, which seems to have died young, despite many earnest-sounding promises beforehand from people who claimed they would contribute material. I am repatriating it here.]

A recent question on math.stackexchange asks for the smallest positive integer for which the number has the same decimal digits in some other order.

Math geeks may immediately realize that has this property, because it is the first 6 digits of the decimal expansion of , and the cyclic behavior of the decimal expansion of is well-known. But is this the minimal solution? It is not. Brute-force enumeration of the solutions quickly reveals that there are 12 solutions of 6 digits each, all permutations of , and that larger solutions, such as 1025874 and 1257489 seem to follow a similar pattern. What is happening here?

Stuck in Dallas-Fort Worth airport one weekend, I did some work on the problem, and although I wasn't able to solve it completely, I made significant progress. I found a method that allows one to hand-calculate that there is no solution with fewer than six digits, and to enumerate all the solutions with 6 digits, including the minimal one. I found an explanation for the surprising behavior that solutions tend to be permutations of one another. The short form of the explanation is that there are fairly strict conditions on which sets of digits can appear in a solution of the problem. But once the set of digits is chosen, the conditions on that order of the digits in the solution are fairly lax.

So one typically sees, not only in base 10 but in other bases, that the solutions to this problem fall into a few classes that are all permutations of one another; this is exactly what happens in base 10 where all the 6-digit solutions are permutations of . As the number of digits is allowed to increase, the strict first set of conditions relaxes a little, and other digit groups appear as solutions.

Notation

The property of interest, , is that the numbers and have exactly the same base- digits. We would like to find numbers having property for various , and we are most interested in . Suppose is an -digit numeral having property ; let the (base-) digits of be and similarly the digits of are . The reader is encouraged to keep in mind the simple example of which we will bring up from time to time.

Since the digits of and are the same, in a different order, we may say that for some permutation . In general might have more than one cycle, but we will suppose that is a single cycle. All the following discussion of will apply to the individual cycles of in the case that is a product of two or more cycles. For our example of , we have in cycle notation. We won't need to worry about the details of , except to note that completely exhaust the indices , and that because is an -cycle.

Conditions on the set of digits in a solution

For each we have $$a_{P(i)} = b_{i} \equiv 2a_{i} + c_i\pmod R $$ where the ‘carry bit’ is either 0 or 1 and depends on whether there was a carry when doubling . (When we are in the rightmost position and there is never a carry, so .) We can then write:

$$\begin{align} a_{P(P(i))} &= 2a_{P(i)} + c_{P(i)} \\ &= 2(2a_{i} + c_i) + c_{P(i)} &&= 4a_i + 2c_i + c_{P(i)}\\ a_{P(P(P(i)))} &= 2(4a_i + 2c_i + c_{P(P(i)})) + c_{P(i)} &&= 8a_i + 4c_i + 2c_{P(i)} + c_{P(P(i))}\\ &&&\vdots\\ a_{P^n(i)} &&&= 2^na_i + v \end{align} $$

all equations taken . But since is an -cycle, , so we have $$a_i \equiv 2^na_i + v\pmod R$$ or equivalently $$\big(2^n-1\big)a_i + v \equiv 0\pmod R\tag{$\star$}$$ where depends only on the values of the carry bits —the are precisely the binary digits of .

Specifying a particular value of and that satisfy this equation completely determines all the . For example, is a solution when because , and this solution allows us to compute

$$\def\db#1{\color{darkblue}{#1}}\begin{align} a_0&&&=2\\ a_{P(0)} &= 2a_0 &+ \db0 &= 4\\ a_{P^2(0)} &= 2a_{P(0)} &+ \db0 &= 0 \\ a_{P^3(0)} &= 2a_{P^2(0)} &+ \db1 &= 1\\ \hline a_{P^4(0)} &= 2a_{P^3(0)} &+ \db0 &= 2\\ \end{align}$$

where the carry bits are visible in the third column, and all the sums are taken . Note that as promised. This derivation of the entire set of from a single one plus a choice of is crucial, so let's see one more example. Let's consider . Then we want to choose and so that where . One possible solution is . Then we can derive the other as follows:

$$\begin{align} a_0&&&=5\\ a_{P(0)} &= 2a_0 &+ \db1 &= 1\\ a_{P^2(0)} &= 2a_{P(0)} &+ \db0 &= 2 \\\hline a_{P^3(0)} &= 2a_{P^2(0)} &+ \db1 &= 5\\ \end{align}$$

And again we have as required.

Since the bits of are used cyclically, not every pair of will yield a different solution. Rotating the bits of and pairing them with different choices of will yield the same cycle of digits starting from a different place. In the first example above, we had . If we were to take (which also solves ) we would get the same cycle of values of the but starting from instead of from , and similarly if we take or . So we can narrow down the solution set of by considering only the so-called bracelets of rather than all possible values. Two values of are considered equivalent as bracelets if one is a rotation of the other. When a set of -values are equivalent as bracelets, we need only consider one of them; the others will give the same cyclic sequence of digits, but starting in a different place. For , for example, the bracelets are and ; the sequences and being equivalent to , and so on.

Example

Let us take , so we want to find 3-digit numerals with property . According to we need where . There are 9 possible values for ; for each one there is at most one possible value of that makes the sum zero:

$$\pi \approx 3 $$

$$\begin{array}{rrr} a_i & 7a_i & v \\ \hline 0 & 0 & 0 \\ 1 & 7 & 2 \\ 2 & 14 & 4 \\ 3 & 21 & 6 \\ 4 & 28 & \\ 5 & 35 & 1 \\ 6 & 42 & 3 \\ 7 & 49 & 5 \\ 8 & 56 & 7 \\ \end{array} $$

(For there is no solution.) We may disregard the non-bracelet values of , as these will give us solutions that are the same as those given by bracelet values of . The bracelets are:

$$\begin{array}{rl} 000 & 0 \\ 001 & 1 \\ 011 & 3 \\ 111 & 7 \end{array}$$

so we may disregard the solutions exacpt when . Calculating the digit sequences from these four values of and the corresponding we find:

$$\begin{array}{ccl} a_0 & v & \text{digits} \\ \hline 0 & 0 & 000 \\ 5 & 1 & 512 \\ 6 & 3 & 637 \\ 8 & 7 & 888 \ \end{array} $$

(In the second line, for example, we have , so and .)

Any number of three digits, for which contains exactly the same three digits, in base 9, must therefore consist of exactly the digits or .

A warning

All the foregoing assumes that the permutation is a single cycle. In general, it may not be. Suppose we did an analysis like that above for and found that there was no possible digit set, other than the trivial set 00000, that satisfied the governing equation . This would not completely rule out a base-10 solution with 5 digits, because the analysis only rules out a cyclic set of digits. There could still be a solution where was a product of a and a -cycle, or a product of still smaller cycles.

Something like this occurs, for example, in the case. Solving the governing equation yields only four possible digit cycles, namely , and . But there are several additional solutions: and . These correspond to permutations with more than one cycle. In the case of , for example, exchanges the and the , and leaves the and the fixed.

For this reason we cannot rule out the possibility of an -digit solution without first considering all smaller .

The Large Equals Odd rule

When is even there is a simple condition we can use to rule out certain sets of digits from being single-cycle solutions. Recall that and . Let us agree that a digit is large if and small otherwise. That is, is large if, upon doubling, it causes a carry into the next column to the left.

Since , where the are carry bits, we see that, except for , the digit is odd precisely when there is a carry from the next column to the right, which occurs precisely when is large. Thus the number of odd digits among is equal to the number of large digits among .
This leaves the digits and uncounted. But is never odd, since there is never a carry in the rightmost position, and is always small (since otherwise would have digits, which is not allowed). So the number of large digits in is exactly equal to the number of odd digits in . And since and have exactly the same digits, the number of large digits in is equal to the number of odd digits in . Observe that this is the case for our running example : there is one odd digit and one large digit (the 4).

When is odd the analogous condition is somewhat more complicated, but since the main case of interest is , we have the useful rule that:

For even, the number of odd digits in any solution is equal to the number of large digits in .

Conditions on the order of digits in a solution

We have determined, using the above method, that the digits might form a base-9 numeral with property . Now we would like to arrange them into a base-9 numeral that actually does have that property. Again let us write and , with . Note that if , then (if there was a carry from the next column to the right) or (if there was no carry), but since is impossible, we must have and therefore must be small, since there is no carry into position . But since is also one of , and it cannot also be , it must be . This shows that the 1, unless it appears in the rightmost position, must be to the left of the ; it cannot be to the left of the . Similarly, if then , because is impossible, so the must be to the left of a large digit, which must be the . Similar reasoning produces no constraint on the position of the ; it could be to the left of a small digit (in which case it doubles to ) or a large digit (in which case it doubles to ). We can summarize these findings as follows:

$$\begin{array}{cl} \text{digit} & \text{to the left of} \\ \hline 1 & 1, 2, \text{end} \\ 2 & 5 \\ 5 & 1,2,5,\text{end} \end{array}$$

Here “end” means that the indicated digit could be the rightmost.

Furthermore, the left digit of must be small (or else there would be a carry in the leftmost place and would have 4 digits instead of 3) so it must be either 1 or 2. It is not hard to see from this table that the digits must be in the order or , and indeed, both of those numbers have the required property: , and .

This was a simple example, but in more complicated cases it is helpful to draw the order constraints as a graph. Suppose we draw a graph with one vertex for each digit, and one additional vertex to represent the end of the numeral. The graph has an edge from vertex to whenever can appear to the left of . Then the graph drawn for the table above looks like this:

Graph for 125 base 9

A 3-digit numeral with property corresponds to a path in this graph that starts at one of the nonzero small digits (marked in blue), ends at the red node marked ‘end’, and visits each node exactly once. Such a path is called hamiltonian. Obviously, self-loops never occur in a hamiltonian path, so we will omit them from future diagrams.

Now we will consider the digit set , again base 9. An analysis similar to the foregoing allows us to construct the following graph:

Graph for 367 base 9

Here it is immediately clear that the only hamiltonian path is , and indeed, .

In general there might be multiple instances of a digit, and so multiple nodes labeled with that digit. Analysis of the case produces a graph with no legal start nodes and so no solutions, unless leading zeroes are allowed, in which case is a perfectly valid solution. Analysis of the case produces a graph with no path to the end node and so no solutions. These two trivial patterns appear for all and all , and we will ignore them from now on.

Returning to our ongoing example, in base 8, we see that and must double to and , so must be to the left of small digits, but and can double to either or and so could be to the left of anything. Here the constraints are so lax that the graph doesn't help us narrow them down much:

Graph for 1024 base 8

Observing that the only arrow into the 4 is from 0, so that the 4 must follow the 0, and that the entire number must begin with 1 or 2, we can enumerate the solutions:

      1042
      1204
      2041
      2104

If leading zeroes are allowed we have also:

      0412
      0421

All of these are solutions in base 8.

The case of

Now we turn to our main problem, solutions in base 10.

To find all the solutions of length 6 requires an enumeration of smaller solutions, which, if they existed, might be concatenated into a solution of length 6. This is because our analysis of the digit sets that can appear in a solution assumes that the digits are permuted cyclically; that is, the permutations that we considered had only one cycle each. If we perform the analy

There are no smaller solutions, but to prove that the length 6 solutions are minimal, we must analyze the cases for smaller and rule them out. We now produce a complete analysis of the base 10 case with and . For there is only the trivial solution of , which we disregard. (The question asked for a positive number anyway.)

For , we want to find solutions of where is a two-bit bracelet number, one of or . Tabulating the values of and that solve this equation we get:

$$\begin{array}{ccc} v& a_i \\ \hline 0 & 0 \\ 1& 3 \\ 3& 9 \\ \end{array}$$

We can disregard the and solutions because the former yields the trivial solution and the latter yields the nonsolution . So the only possibility we need to investigate further is , which corresponds to the digit sequence : Doubling gives us and doubling , plus a carry, gives us again.

But when we tabulate of which digits must be left of which informs us that there is no solution with just and , because the graph we get, once self-loops are eliminated, looks like this:

graph for 36 base 10

which obviously has no hamiltonian path. Thus there is no solution for .

For we need to solve the equation where is a bracelet number in , specifically one of or . Since and are relatively prime, for each there is a single that solves the equation. Tabulating the possible values of as before, and this time omitting rows with no solution, we have:

$$\begin{array}{rrl} v & a_i & \text{digits}\\ \hline 0& 0 & 000\\ 1& 7 & 748 \\ 3& 1 & 125\\ 7&9 & 999\\ \end{array}$$

The digit sequences and yield trivial solutions or nonsolutions as usual, and we will omit them in the future. The other two lines suggest the digit sets and , both of which fails the “odd equals large” rule.

This analysis rules out the possibility of a digit set with , but it does not completely rule out a 3-digit solution, since one could be obtained by concatenating a one-digit and a two-digit solution, or three one-digit solutions. However, we know by now that no one- or two-digit solutions exist. Therefore there are no 3-digit solutions in base 10.

For the governing equation is where is a 4-bit bracelet number, one of . This is a little more complicated because . Tabulating the possible digit sets, we get:

$$\begin{array}{crrl} a_i & 15a_i& v & \text{digits}\\ \hline 0 & 0 & 0 & 0000\\ 1 & 5 & 5 & 1250\\ 1 & 5 & 15 & 1375\\ 2 & 0 & 0 & 2486\\ 3 & 5 & 5 & 3749\\ 3 & 5 & 15 & 3751\\ 4 & 0 & 0 & 4862\\ 5 & 5 & 5 & 5012\\ 5 & 5 & 5 & 5137\\ 6 & 0 & 0 & 6248\\ 7 & 5 & 5 & 7493\\ 7 & 5 & 5 & 7513\\ 8 & 0 & 0 & 8624 \\ 9 & 5 & 5 & 9874\\ 9 & 5 & 15 & 9999 \\ \end{array}$$

where the second column has been reduced mod . Note that even restricting to bracelet numbers the table still contains duplicate digit sequences; the 15 entries on the right contain only the six basic sequences , and . Of these, only and obey the odd equals large criterion, and we will disregard and as usual, leaving only . We construct the corresponding graph for this digit set as follows: must double to , not , so must be left of a large number or . Similarly must be left of or . must also double to , so must be left of . Finally, must double to , so must be left of or the end of the numeral. The corresponding graph is:

graph for 3749 base 10

which evidently has no hamiltonian path: whichever of 3 or 4 we start at, we cannot visit the other without passing through 7, and then we cannot reach the end node without passing through 7 a second time. So there is no solution with and .

We leave this case as an exercise. There are 8 solutions to the governing equation, all of which are ruled out by the odd equals large rule.

For the possible solutions are given by the governing equation where is a 6-bit bracelet number, one of . Tabulating the possible digit sets, we get:

$$\begin{array}{crrl} v & a_i & \text{digits}\\ \hline 0 & 0 & 000000\\ 1 & 3 & 362486 \\ 3 & 9 & 986249 \\ 5 & 5 & 500012 \\ 7 & 1 & 124875 \\ 9 & 7 & 748748 \\ 11 & 3 & 362501 \\ 13 & 9 & 986374 \\ 15 & 5 & 500137 \\ 21 & 3 & 363636 \\ 23 & 9 & 989899 \\ 27 & 1 & 125125 \\ 31 & 3 & 363751 \\ 63 & 9 & 999999 \\ \end{array}$$

After ignoring and as usual, the large equals odd rule allows us to ignore all the other sequences except and . The latter fails for the same reason that did when . But , the lone survivor, gives us a complicated derived graph containing many hamiltonian paths, every one of which is a solution to the problem:

graph for 124578 base 10

It is not hard to pick out from this graph the minimal solution , for which , and also our old friend for which .

We see here the reason why all the small numbers with property contain the digits . The constraints on which digits can appear in a solution are quite strict, and rule out all other sequences of six digits and all shorter sequences. But once a set of digits passes these stringent conditions, the constraints on it are much looser, because is only required to have the digits of in some order, and there are many possible orders, many of which will satisfy the rather loose conditions involving the distribution of the carry bits. This graph is typical: it has a set of small nodes and a set of large nodes, and each node is connected to either all the small nodes or all the large nodes, so that the graph has many edges, and, as in this case, a largish clique of small nodes and a largish clique of large nodes, and as a result many hamiltonian paths.

Onward

This analysis is tedious but is simple enough to perform by hand in under an hour. As increases further, enumerating the solutions of the governing equation becomes very time-consuming. I wrote a simple computer program to perform the analysis for given and , and to emit the possible digit sets that satisfied the large equals odd criterion. I had wondered if every base-10 solution contained equal numbers of the digits and . This is the case for (where the only admissible digit set is ), for (where the only admissible sets are and ), and for (where the only admissible sets are and ). But when we reach the increasing number of bracelets has loosened up the requirements a little and there are 5 admissible digit sets. I picked two of the promising-seeming ones and quickly found by hand the solutions and , both of which wreck any theory that the digits must all appear the same number of times.

Acknowledgments

Thanks to Karl Kronenfeld for corrections and many helpful suggestions.

programming: How recursion got into programming: a comedy of errors

submitted by sidcool1234
[link] [55 comments]

BOOOOOOOM!: Martina Matencio

Lovenenoso04

Photos by Martina Matencio aka Lovenenoso. More below.

View the whole post: Martina Matencio over on BOOOOOOOM!.

BOOOOOOOM!: Neels Castillon

neels-castillon04

“Black Patagonia”, photos by Neels Castillon. More below.

View the whole post: Neels Castillon over on BOOOOOOOM!.

Better Embedded System SW: Don’t Overflow the Stack

Somewhere in your embedded system is the stack (or several of them for some multitasking systems). If you blow up the stack, your software will crash. Or worse, especially if you don’t have memory protection. For a critical system you need to make sure the stack has some elbow room and make sure that you know when you have a stack size problem.

Also, you shouldn’t ever use recursion in a safety critical embedded system. (This shouldn’t even need to be said, but apparently it does.)

Consequences: The consequences of not understanding maximum stack depth can be a seemingly random memory corruption as the stack overwrites RAM variables. Whether or not this actually causes a program crash depends upon a number of factors, including chance, and in the worse case it can cause unsafe program behavior without a crash. 

Accepted Practices:
  • Compute worst case stack depth using a static analysis tool.
  • Include a stack sentinel or a related technique in the supervisor task and perform a graceful shutdown or reset prior to an actual overflow.
  • Avoid all recursion to ensure that worst case stack depth is bounded.
Discussion:
The “stack” is an area in memory used for storing certain types of data. For example, in the C programming language this is where non-static local variables go. The stack gets bigger every time a subroutine is called, usually holding the subroutine return address, parameter values that have been passed, and local variables for each currently active subroutine. As nested subroutines are called, the stack keeps getting bigger as more information is added to the stack to perform each deeper and deeper call. When each subroutine is completed, the stack information is returned to the stack area for later use, un-nesting the layers of stack usage and shrinking the stack size. Thus the maximum size of the stack is determined by how many subroutines are called on top of each other (the depth of the subroutine call graph), as well as the storage space needed by each of those subroutines, plus additional area needed by any interrupt service routines that may be active at the same time.

Some processors have a separate hardware stack for subroutine return information and a different stack for parameters and variables. And many operating systems have multiple stacks in support of multiple tasks. But for the most part similar ideas apply to all embedded controllers, and we’ll just discuss the single-stack case to keep things simple.


It is common for stacks to grow “downward” from high memory locations to low locations, with global variables, Real Time Operating System (RTOS) task information, or other values such as the C heap being allocated from the low memory locations to high memory locations. There is an unused memory space in between the stack and the globals. In other words, the stack shares limited RAM space with other variables. Because RAM space is limited, there is the possibility of the stack growing so large that it overlaps variable storage memory addresses so that the stack corrupts other memory (and/or loads and stores to global memory corrupt the stack). To avoid this, it is accepted practice to determine the worst case maximum stack depth and ensure such overlap is impossible.

Maximum stack depth can be determined by a number of means. One way is to periodically sample the stack pointer while the program is running and find the maximum observed stack size. This approach is a starting point, but one should not expect that sampling will happen to catch the absolute maximum stack depth. Catching the worst case can be quite difficult because interrupt service routines also use the stack and run at times that are generally unpredictable compared to program execution flow. (Moreover, if you use a timer interrupt to sample the stack pointer value, you’ll never see the stack pointer when the timer interrupt is masked, leaving a blind spot in this technique.) So this is not how you should determine worst case stack depth.

A much better approach is to use static analysis tools specifically designed to find the worst case set of subroutine calls in terms of stack depth. This technique is effective unless the code has structures that confound the analysis (e.g., if a program uses recursion, this technique generally doesn’t work). When the technique does work, it has the virtue of giving an absolute bound without having to rely upon whether testing happened to have encountered the worst case. You should use this technique if at all possible. If static analysis isn’t possible because of how you have written your code, you should change your code so you actually can do static analysis for maximum stack depth. In particular, this means you should never use recursion in a critical system both because it makes static analysis of stack depth impossible. Moreover, recursive routines are prone to stack overflows even if they are bug free, but happen to be fed an exceptional input value that causes too many levels of recursion. (In general, using recursion in any small-microcontroller embedded system is a bad idea for these reasons even if the system is not safety critical.)



Beyond static analysis of stack depth (or if static analysis isn’t possible and the system isn’t safety critical), an additional accepted practice is to use a “stack sentinel” to find the “high water mark” of the stack (I’ve also heard this called a “stack watermark” and a “stack guard”). With this technique each memory location in the stack area of memory is initialized to a predetermined known value or pattern of known values. As the stack grows in size, it will overwrite these known sentinel values with other values, leaving behind new patterns in memory that remain behind, like footprints in fresh snow. Thus, it is easy to tell how big the stack has ever been since the system was started by looking for how far into the unused memory space the “footprints” of stack usage trample past the current stack size. This both gives the maximum stack size during a particular program run, and the overall system maximum stack size assuming that the worst case path has been executed. (Actually identifying the worst case path need not be done – it is sufficient to have run it at some time during program execution without knowing exactly when it happened. It will leave its mark on the stack memory contents when it does happen.)


To convert this idea into a run-time protection technique, extra memory space between the stack and other data is set up as a sacrificial memory area that is there to detect unexpected corruptions before the stack can corrupt the globals or other RAM data. The program is run, and then memory contents are examined periodically to see how many stack area memory words are left unchanged. As part of the design validation process, designers compare the observed worst case stack depth against the static analysis computed worst case stack depth to ensure that they understand their system, have tested the worst case paths, and have left adequate margin in stack memory to prevent stack overflows if they missed some special situation that is even worse than the predicted worst case.

This sentinel technique should also be used in testing and in production systems to periodically check the sentinels in the sacrificial memory area. If you have computed a worst case stack depth at design time and you detect that the computed depth has been exceeded at run time, this is an indication that you have a very serious problem.

If the stack overflows past the sacrificial memory space into global variables, the system might crash. Or that might just corrupt global variables or RTOS system state and have who-knows-what effect. (In a safety critical system “who-knows-what” equals “unsafe.”)  Naively assuming that you will always get a system crash detectable by the watchdog on a stack overflow is a dangerous practice. Sometimes the watchdog will catch a stack overflow. But there is no guarantee this will always happen. Consider that a stack-smashing attack is the security version of an intentional stack overflow, but is specifically designed to take over a system, not just merely crash it. So a crash after a stack overflow is by no means a sure thing.

Avoiding stack overflow problems is a matter of considering program execution paths to avoid a deep sequence of calls, and accounting for interrupts adding even more to the stack. And, again, even though we shouldn’t have to say this – never using recursion.

While there isn’t a set number for how much margin to leave in terms of extra memory past the computed maximum stack size, there are two considerations. First, you want to leave enough room to have an ample sacrificial area so that a problem with stack depth is unlikely to have enough time to go all the way through the sacrificial area and touch the globals before it is detected by a periodic timer tick checking sentinels. (Note: we didn’t say check current stack depth; we said periodically check sentinels to see if the stack has gotten too big between checks.)  Also, you want to leave some extra margin to account for the possibility you just never encountered the worst-case stack depth in analysis or testing. I’ve heard designers say worst case stack depth of 50% of available stack memory is a good idea. Above 90% use of stack memory (10% sacrificial memory area set aside) is probably a bad idea. But the actual number will depend on the details of your system.

Selected Sources:
Stack sentinels and avoidance of recursion are an entrenched part of embedded systems folklore and accepted practices. Douglass mentions watermarking in Section 9.8.6 (Douglass 2002).
MISRA Software Guidelines discourage recursion, saying that it can cause unpredictable behavior (MISRA Guidelines, pg. 20).

MISRA C required rule 70 explicitly bans recursion:

NASA recommends using stack guards (essentially the same as the technique that I call “stack sentinels”) to check for stack overflow or corruption (NASA 2004, p. 93).

Stack overflow errors are well known to corrupt memory and cause arbitrarily bad behavior of a running program. Regehr et al. provide an overview of research in that area relevant to embedded microcontrollers and ways to mitigate those problems (Regehr 2006). He notes that “the potential for stack overflow in embedded systems is hard to detect by testing.” (id., p. 776), with the point being that it is reasonable to expect that a system which has been tested but not thoroughly analyzed will have run-time stack overflows that corrupt memory.

References:
  • Douglass, B. P., Real-Time Design Patterns: robust scalable architecture for real-time systems, Pearson Education, first printing, September 2002, copyright by Pearson in 2003.
  • MISRA, (MISRA C), Guideline for the use of the C Language in Vehicle Based Software, April 1998.
  • MISRA, Development Guidelines for Vehicle Based Software, November 1994 (PDF version 1.1, January 2001).
  • NASA-GB-8719.13, NASA Software Safety Guidebook, NASA Technical Standard, March 31, 2004.
  • Regehr et al., Eliminating stack overflow by abstract interpretation, ACM Trans. Embedded Computing Systems, Nov. 2006, pp. 751-778.

BOOOOOOOM!: Music Video: M+A “When”

m+a-when-musicvideo

Love the vibes in this video for M+A’s song “When”. Watch below.

View the whole post: Music Video: M+A “When” over on BOOOOOOOM!.

BOOOOOOOM!: Misha Taylor

mishataylor08

Portraits by photographer Misha Taylor.

View the whole post: Misha Taylor over on BOOOOOOOM!.

programming: Proof Sublime Text is still alive

submitted by moonzdragoon
[link] [274 comments]

Electronics-Lab.com Blog: Inertial Measurement Unit Consumes Less Than 1 mA

0625npdtboschby electronicdesign.com:

Designed for high-precision, always-on, six- and nine-axis applications, such as smartphones, tablets, remote controls, and game controllers, the BMI160 inertial measurement unit (IMU) combines a 16-bit, 3-axis, low-g accelerometer and ultra-low-power, 3-axis gyroscope. When the accelerometer and gyroscope are in full operation mode, typical current consumption for Bosch Sensortec’s IMU is 950 µA.

Inertial Measurement Unit Consumes Less Than 1 mA - [Link]

BOOOOOOOM!: James Roper

jamesroper03

Drawings by Manchester England-based artist James Roper. Found via our July Submissions post.

View the whole post: James Roper over on BOOOOOOOM!.

New Humanist Blog: The second coming

TheSirensSound: Brackenfield

Brackenfield Profile

Brackenfield is a one-man music project started in 2006 as a song writing experiment by Chris Jackson. It slowly grew into a dedicated instrumental endeavor, with the first album, 3 States 6 Rooms, released in 2010. After some time away, Chris began to work on crafting the songs that became the new album, On The Way From There To Here, that was released in July of 2014. Each song tells a story, through ambient sounds and melodic guitars, that can be interpreted differently to each listener.

released 16 July 2014
Artwork by Nancy Griego
All songs written, performed, recorded, and produced by Chris Jackson

< < < < < [ [ BANDCAMP ] | [ FACEBOOK ] ]. > > > > >
————————————————————————————————————————————————————–

Brackenfield - On The Way From There To Her

Artist – Brackenfield
Album – On The Way From There To Here
Release Date – 2014
Genre – Ambient, Instrumental, Post-rock [ EXCELLENT ]

Tracklist

1. Time Lapse 05:25
2. One Day You Wake Up 06:44
3. Flickering 05:11
4. Sleeping In Trees 03:34
5. Seaside 03:47
6. On The Way From There To Here 05:28
————————————————————————————————————————————————————–
Brackenfield – On The Way From There To Here
————————————————————————————————————————————————————–

————————————————————————————————————————————————————–

Brackenfield - 3 States 6 Rooms

Artist – Brackenfield
Album – 3 States 6 Rooms
Release Date – 2010
Genre – Ambient, Instrumental, Post-rock [ EXCELLENT ]

Tracklist

01. Intro 01:44
02. Echoes of a Far Country 06:13
03. Candlelight 05:38
04. The First Snowfall 04:20
05. Ever On 05:04
06. Eldila 03:52
07. Trying to Hold on to the World 04:33
08. Midnight Lullabye 03:14
09. Yelling Into the Void 05:35
10. The End 02:38
————————————————————————————————————————————————————–
Brackenfield – 3 States 6 Rooms
————————————————————————————————————————————————————–

Brackenfield
————————————————————————————————————————————————————–

Electronics-Lab.com Blog: Arduino PIR Motion Sensor

FPMK9S8HXXHIQSM.MEDIUM

by MakerSpark Industries @ instructables.com:

This Instructable is about how to create an Arduino PIR motion sensor for your room or office, using parts available from your local Radio Shack! Whether you’re looking for a cool and easy-to-build security sensor, or an awesome first project to dive into the world of Arduino, Microcontrollers, and electronics, this project is for you. (This project really is easy. Take it from me, I’m 12, and I’ve only had my Arduino for a week and a half.)

Arduino PIR Motion Sensor - [Link]

TheSirensSound: IRK

IRK Profile

IRK is a Noisy Math-core / Post-hardcore band from Leeds UK. The band just released their debut EP [ Bread and Honey ] which they been working on for the last year. [ Bread and Honey ] is up on BandCamp and is available for free / name your price. IRK is a three piece outfit (drums, bass and vocals) and play some really noisy tune influenced by the likes of Shellac, The Jesus Lizard, Blacklisters, Zu, and Daughters.

Released 24th MAY 2014

Artwork by Joshua Vickers | Music by Irk.
Recorded, Mixed by M. Deamer and A. Edwards at Glide Studio in Leeds, West Yorkshire.
Mastered by N. Zampiello and R. Gonnella at New Alliance East in Cambridge, Massachusetts.

< < < < < [ [ BANDCAMP ] | [ FACEBOOK ] ]. > > > > >
————————————————————————————————————————————————————–

IRK - Bread and Honey

Artist – IRK
Album – Bread and Honey
Release Date – 2014
Genre – Post-hardcore, Math-core, Noise-core, Screamo [ Some Serious Noise ]

Tracklist

1. Care Taker 02:56
2. Mammalian Love March 03:09
3. You’re Welcome 04:37
————————————————————————————————————————————————————–
IRK – Bread and Honey
————————————————————————————————————————————————————–

IRK
————————————————————————————————————————————————————–

Electronics-Lab.com Blog: Mini FM transmitter

mini-fm-transmitter

electronics-diy shows you how to easily make a mini FM transmitter:

It transmits FM waves so you could easily receive the signals on your mobile phone, radios, etc. As the name and the picture indicates it is very small and is approximately the size of a 9v battery clip. With this FM transmitter you could start your own mini FM station. The circuit uses BC547 transistor to amplify the signal and then frequency modulate it. It uses “frequency modulation” most commonly known as FM, the same principal to transmit audio signals captured by the microphone.

[via]

Mini FM transmitter - [Link]

TheSirensSound: Letters of Utrecht

Letters of Utrecht Profile

Letters of Utrecht is a one-man project based in Brisbane, Australia. The name comes from the endless poem written in the stones of a street in the centre of the Dutch city of Utrecht. Each week a new letter is etched into the next cobblestone, extending the verse in constant small steps… forever. Following a decade or so spent playing bass in rock & alternative bands, this solo project has been inspired by a love of ambient, drone and soundtrack music. Letters of Utrecht uses live instrumentation, samples, VSTs, found and home-made sounds and a very trusty laptop.

————————————————————————————————————————————————————–
< < < < < [ UPDATES ]. > > > >

2012 – EP 1
2014 – Slow Exit

[ Slow Exit ]. IN the Dutch city of Utrecht, a never ending poem has been formed by The Letters of Utrecht on the stone streets. It’s an endless story created by the finest poets, a social experiment that should be nurtured and cherished, carefully polished and primped. The future of this ‘thing’ is unknown, a secret kept by poet. Originating in Northern Ireland, the Brisbane based project Letters of Utrecht have created something timeless, that too should be nurtured and loved.

This is the kind of music that I would expect to be associated with oblivion in the sense that it’s mindless listening music. Not easy listening, but it’s not complicated and it doesn’t make your head explode. I could listen to this album 14 times, one after another, and still not walk away thinking that I’ve had enough and I need a lie down. You see, it’s simple, and almost soothing. Sure, it has depth, but it’s not as if the artist has tried overly hard to do so by adding 5 too many loops and sounds and overcomplicating the big bowl of baba ganoush that is this album.

The EP opens with Heretical Bliss, which totally supports what I previously said before. It’s a track that you can’t really get sick of, because there isn’t anything overly contradicting and obnoxious that would suggest low doses are best. I’m not sure about the heretical part, but it’s blissful. There’s a climax, and then a drop and then one song is rolled into another. There’s a certain flow about this album; very story like. There’s links, and they’re not overly obvious, but subtle and serene.

The protagonist of this story is stranded, the reception on their shitty little flip phone is dying but the fire they made still manages to cackle and keep their toes from frostbite. What’s that lurking in the bushes? A Very Long Way Down is the song playing in the background. The track incorporates the fuzzy cackle of the fire with the eerie, old-school horror movie music. And then finally, it’s gone and a euphoric wave of peace washes over them with Substance. At times, this is the sort of piece that I would want to hear whilst getting a facial, or my eyebrows waxed; the cool beauty salon music that is made to calm your senses and distract you from the fact that “sweet baby jesus that hurt!”. It’s the substance to my serenity.

This album in itself is a story. It goes through the different stages and reaches a climax before dropping again. There’s a hushed, comtemplative mood with it, which evidently grows and evolves; the protagonist of this album is indeed the music itself.

< < < < < [ [ BANDCAMP ] ]. > > > > >
————————————————————————————————————————————————————–

Letters Of Utrecht - Slow Exit EP

Artist – Letters of Utrecht
Album – Slow Exit EP
Release Date – 2014
Genre – Ambient, Drone, Dronecore, Experimental, Dark-ambient, Instrumental

Tracklist

1. Heretical Bliss 03:33
2. A Very Long Way Down 03:11
3. Substance P 02:25
4. Suns 04:07
5. Muon River 04:47
6. Slow Exit 05:55
————————————————————————————————————————————————————–
Letters of Utrecht – Slow Exit EP
————————————————————————————————————————————————————–

————————————————————————————————————————————————————–

Letters of Utrecht - Dot joining for beginners

Artist – Letters of Utrecht
Album – Dot Joining For Beginners
Release Date – 2013
Genre – Ambient, Drone, Dronecore, Experimental, Dark-ambient, Instrumental

Tracklist

1. Glass Circle 05:35
2. Abattoir Dreams 04:46
3. Minutiae Analysis 04:49
4. The Sky Splits to Reveal the Terrible Void 06:42
————————————————————————————————————————————————————–
BANDCAMP Letters of Utrecht – Dot Joining For Beginners
DIRECT DOWNLOAD Letters of Utrecht – Dot Joining For Beginners
————————————————————————————————————————————————————–

————————————————————————————————————————————————————–

ep 01 cover

Artist – Letters of Utrecht
Album – EP 01
Release Date – 2012
Genre – Ambient, Drone, Dronecore, Experimental, Dark-ambient, Instrumental

Tracklist

1) First Born
2) Rivers of You
3) So Long For Now
4) Fourth Dimensional Patterns in Eternity’s Monolith
————————————————————————————————————————————————————–
STREAM Letters of Utrecht – EP 01
DIRECT DOWNLOAD Letters of Utrecht – EP 01
————————————————————————————————————————————————————–

Letters of Utrecht
————————————————————————————————————————————————————–

TheSirensSound: Manatee Commune

Manatee Commune Profile

Western sophomore Grant Eadie is the force behind Manatee Commune, a local band that’s about to play some pretty big stages. Eadie is set to perform at Capitol Hill Block Party and Bumbershoot. Before he spends a summer blowing people’s minds with his solo-electronic sets, we sat down with him to discuss his inspirations, his plans for the future and what’s behind the name Manatee Commune.

Q: How did your sound come to be? Honestly, it really came from just who I am. It’s really just a culmination of everything that I like. I like a lot of Gold Panda, Bonobo, I also listen to a lot of Tycho which is super chill electronic, but the same time I’ve had this big classical influence. So when I started producing I wanted to capture all of these artists that I listen to, but also use all of the skills that I had learned. It kind of just came together.

Q: Why the name Manatee Commune? I couldn’t really think of anything too original, so I was sitting at my computer one day in the Ridge dorms in freshman year, and I was on Reddit and I saw this GIF of a manatee making contact with the glass of its aquarium. I like manatees a lot as it is, but that GIF itself just captured it for me. I came up with manatee and I wanted to do a tribute to Animal Collective’s style because I was really going through a Merriweather phase at the time. So I wanted to do ‘Collective’ but collective sounded too cheesy, so I went with commune. I thought that’s a great name to start out with.

Q: How do you feel about your success and the big festivals that you are playing at? The big ones that I have lined up are Capitol Hill Block Party and Bumbershoot. I feel mainly excited, also really nervous. I’ve never had this many people want to be at something that I’m doing before so I’m really excited for that. I guess I’m mainly nervous since I’m back to back with a bunch of signed artists. I’m playing with Wu-Tang, like that’s ridiculous!

Q: What are you excited to do in the future? Probably the biggest one will be to really hone my artwork. I’m still working on how to perform live, and as an electronic musician it is really limiting. You only have so many hands. I have this idea in my head, but its really difficult to translate that to a live setting where everybody is dancing and being loud. One of the things I really like is when I make a really great transition and I make contact with some kid who is just having his mind blown. I love making people’s minds get blown. So I guess the objective would be to create a set that I could look out upon the crowd and see that everybody’s minds are getting blown.

< < < < < [ [ BANDCAMP ] | [ FACEBOOK ] ]. > > > > >
————————————————————————————————————————————————————–

Manatee Commune - Brush

Artist – Manatee Commune
Album – Brush [ * * * * * ]
Release Date – 2014
Genre – Ambient, Instrumental, Electro’, Chillwaves [ TOTALLY AWESOME ]

Tracklist

01. White Smoke feat. Marina Price 04:27
02. Brush 04:34
03. Lovely 03:48
04. Epiphany, If Only 04:07
05. Cascade 02:18
06. Island 04:06
07. Lavender feat. Vervex 04:03
08. Heal 02:55
09. Up 01:02
10. Routine 03:14
11. Weather 03:00
————————————————————————————————————————————————————–
Manatee Commune – Brush
————————————————————————————————————————————————————–

————————————————————————————————————————————————————–

Manatee Commune - Brush Remixes EP

Artist – Manatee Commune
Album – Brush Remixes EP [ * * * * * ]
Release Date – 2014
Genre – Ambient, Instrumental, Electro’, Chillwaves [ TOTALLY AWESOME ]

Tracklist

1. Brush (Amplive Remix) 03:46
2. Brush (J.Koplowitz Remix) 04:24
3. Brush (CUFF LYNX Remix) 05:39
4. Brush (Vision Field Remix) 05:11
5. Brush (Radical Kid Remix) 04:15
6. Brush (The Flavr Blue Remix) 04:09
————————————————————————————————————————————————————–
Manatee Commune – Brush Remixes EP
————————————————————————————————————————————————————–

————————————————————————————————————————————————————–

Manatee Commune - Singles

Artist – Manatee Commune
Album – Singles [ * * * * * ]
Release Date – 2013
Genre – Ambient, Instrumental, Electro’, Chillwaves [ TOTALLY AWESOME ]

Tracklist

1. Brush – Single 04:32
2. Lovely – Single 03:50
————————————————————————————————————————————————————–
Manatee Commune – Singles
————————————————————————————————————————————————————–

————————————————————————————————————————————————————–

Manatee Commune - __

Artist – Manatee Commune
Album – __ [ * * * * * ]
Release Date – 2012
Genre – Ambient, Instrumental, Electro’, Chillwaves [ TOTALLY AWESOME ]

Tracklist

1. Anticapait 05:14
2. Difficult To Answer 02:45
3. Window Paint 03:19
4. Look Outside 00:34
5. _ 00:15
6. Rule 02:16
7. Man 03:03
————————————————————————————————————————————————————–
Manatee Commune – __
————————————————————————————————————————————————————–

Manatee Commune
————————————————————————————————————————————————————–

Penny Arcade: News Post: The Talk, By Abby Howard

Tycho: Strip Search is still paying dividends, years after filming.  Or, year.  I have to be honest with you: I don’t know how long ago it was.  The actual filming and subsequent release of the show is is filed away as a four dimensional holomatrix.  If I want to try and synchronize any part of it with actual time I have to probe the memory, pushing it this way or that, like a tongue on a loose molar. Meeting Abby Howard, who was obviously a superstar, ranks sorta high.  Maybe like on the show or whatever but also just in general.  You could read Junior…

Penny Arcade: Comic: The Talk, By Abby Howard

New Comic: The Talk, By Abby Howard

The Half-Dipper: Asian Cyclists

Computer Science: Theory and Application: ELI5: Fast Fourier transform?

I'm done some research into how to extract frequencies from sound files, and it seems this is done via the Fast Fourier transform. My problem is that I don't understand why, or how this is done.

Would you all please explain in a manner simpler than wikipedia?

submitted by TenaciousDwight
[link] [31 comments]

Lambda the Ultimate - Programming Languages Weblog: InterState: A Language and Environment for Expressing Interface Behavior

An interesting paper by Oney, Myers, and Brandt in this year's UIST. Abstract:

InterState is a new programming language and environment that addresses the challenges of writing and reusing user interface code. InterState represents interactive behaviors clearly and concisely using a combination of novel forms of state machines and constraints. It also introduces new language features that allow programmers to easily modularize and reuse behaviors. InterState uses a new visual notation that allows programmers to better understand and navigate their code. InterState also includes a live editor that immediately updates the running application in response to changes in the editor and vice versa to help programmers understand the state of their program. Finally, InterState can interface with code and widgets written in other languages, for example to create a user interface in InterState that communicates with a database. We evaluated the understandability of InterState’s programming primitives in a comparative laboratory study. We found that participants were twice as fast at understanding and modifying GUI components when they were implemented with InterState than when they were implemented in a conventional textual event-callback style. We evaluated InterState’s scalability with a series of benchmarks and example applications and found that it can scale to implement complex behaviors involving thousands of objects and constraints.

Saturday Morning Breakfast Cereal (updated daily): July 23, 2014


New exclusive comic over at The Nib!

Potz!Blitz!Szpilman!: Franz West

Franz West, Sofa at 9 Documenta Kassel, 1992

programming: Walls you hit in program size

submitted by johndcook
[link] [300 comments]

Planet Haskell: Robert Harper: A few new papers

I’ve just updated my web page with links to some new papers that are now available:

  1. Homotopical Patch Theory” by Carlo Angiuli, Ed Morehouse, Dan Licata, and Robert Harper. To appear, ICFP, Gothenburg, October 2014. We’ve also prepared a slightly expanded version with a new appendix containing material that didn’t make the cut for ICFP. (Why do we still have such ridiculously rigid and limited space limitations?  And why do we have such restricted pre-publication deadlines as we go through the charade of there being a “printing” of the proceedings?  One soon day CS will step into its own bright new future.). The point of the paper is to show how to apply basic methods of homotopy theory to various equational theories of patches for various sorts of data. One may see it as an application of functorial semantics in HoTT, in which theories are “implemented” by interpretation into a universe of sets. The patch laws are necessarily respected by any such interpretation, since they are just cells of higher dimension and functors must behave functorially at all dimensions.
  2. Cache Efficient Functional Algorithms” by Guy E. Blelloch and Robert Harper. To appear, Comm. ACM Research Highlight this fall.  Rewritten version of POPL 2013 paper for a broad CS audience.  Part of a larger effort to promote integration of combinatorial theory with logical and semantic theory, two theory communities that, in the U.S. at least, ignore each other completely.  (Well, to be plain about it, it seems to me that the ignoring goes more in one direction than the other.)  Cost semantics is one bridge between the two schools of thought, abandoning the age-old “reason about the compiled code” model used in algorithm analysis.  Here we show that one can reason about spatial locality at the abstract level, without having to drop down to the low-level details of how data structures are represented and allocated in memory.
  3. Refining Objects” by Robert Harper and Rowan Davies. To appear, Luca Cardelli 60th Birthday Celebration, Cambridge, October, 2014.  A paper I’ve meant to write sometime over the last 15 years, and finally saw the right opportunity, with Luca’s symposium coming up and Rowan Davies visiting Carnegie Mellon this past spring.  Plus it was a nice project to get me started working again after I was so rudely interrupted this past fall and winter.  Provides a different take on typing for dynamic dispatch that avoids the ad hoc methods introduced for oop, and instead deploying standard structural and behavioral typing techniques to do more with less.  This paper is a first cut to prove the concept, but it is clear that much more can be said here, all within the framework of standard proof-theoric and realizability-theoretic interpretations of types.  It would help to have read the relevant parts of PFPL, particularly the under-development second edition, which provides a lot of the background that we necessarily elide in this paper.
  4. Correctness of Compiling Polymorphism to Dynamic Typing” by Nick Benton, Kuen-Bang Hou (Favonia), and Robert Harper, draft (summer 2014).  Classically polymorphic type assignment starts with untyped \lambda-terms and assigns types to them as descriptions of their behavior.  Viewed as a compilation strategy for a polymorphic language, type assignment is rather crude in that every expression is compiled in uni-typed form, complete with the overhead of run-time classification and class checking.  A more subtle strategy is to maintain as much structural typing as possible, resorting to the use of dynamic typing (recursive types, naturally) only for variable types.  The catch is that polymorphic instantiation requires computation to resolve the incompatibility between, say, a bare natural number, which you want to compute with, and its encoding as a value of the one true dynamic type, which you never want but are stuck with in dynamic languages.  In this paper we work out an efficient compilation scheme that maximizes statically available information, and makes use of dynamic typing only insofar as the program demands we do so.  There are better ways to compile polymorphism, but the dynamic style is forced by badly designed virtual machines, such as the JVM, so it is worth studying the correctness properties of the translation.  We do so by making use of a combination of structural and behavioral typing, that is using types and refinements.

I hope to comment here more fully on these papers in the near future, but I also have a number of other essays queued up to go out as soon as I can find the time to write them.  Meanwhile, other deadlines loom large.

[Update: added fourth item neglected in first draft.  Revise formatting.  Add links to people. Brief summary of patch theory paper.]


Filed under: Programming, Research Tagged: behavioral typing, cache efficient algorithms, compilation, cost semantics, dynamic dispatch, homotopy type theory, ICFP, polymorphism, structural typing, type refinements

Disquiet: City: Works of Fiction Many Decades After

“I’m basically an expatriate who lives in the country he’s expatriated from,” says Jon Hassell in a recent KCRW interview. He’s referring to being an American returned to America after a long spell abroad. But the concept of “country” has particular meaning for Hassell, a trumpeter whose electronically mediated music has for decades given us glimpses of a territory he calls the Fourth World. The music in the KCRW performance is classic Hassell — long, held tones that swell with an organic breath, afloat atop a bed of nuanced washes of sound and muffled pneumatic beats. It’s music from imagined places where technology and culture coalesce in unexpected ways. The performance was posted to promote the re-release, in “expanded edition” form on the All Saints Records label, of his 1990 City: Works of Fiction album. A short video excerpt is available via youtube:

The video is just a few minutes, but there’s a full, 45-minute version of the performance and interview at kcrw.com. More on the rerelease at bleep.com.

i like this art: Leo Gabin

LeoGabin-Peres-Projects 640x427x7162.jpg.pagespeed.ic.n5zuuq5YtOlg9317-cousin-sega-2011-email

Leo Gabin

Work from their oeuvre.

We deliberately chose not to use images directly derived from the film, because we didn’t want them to be like the ‘Crackup’ paintings. But all images used in the paintings are taken from amateurish shot footage in Florida, mostly encountered during our search for imagery for the film. Like always, images find their way onto the canvas because they relate to what we are interested in and currently seeing at the moment online. So there is definitely a clear relation between the two, but the film stands on it’s own. That’s also why we chose to not title the exhibition like the film, but to have an overarching title for both. Our interest has always been in how young people use new media to express themselves and capture their surroundings, which is also present in the film. By using transcripts out of the book there is this fictional aspect to the whole, which is new for our approach to video. We like the fact that the film leaves an uncomfortable feeling, but the use of shocking footage is limited, however there is an abundance available online. It was more interesting to balance on the border of harmless naive and disturbing imagery and using sound to help capture the general mood the book evokes, in our interpretation that is.” – Leo Gabin

Explosm.net: 07.23.2014

New Cyanide and Happiness Comic.

Computer Science: Theory and Application: What really interesting sub-fields should I get into?

Hey guys,

I'm currently a CS undergrad, really liking what I'm learning in school and have been picking up a lot of web dev skills quickly with some internships and side projects.

I want to start learning about something unique, interesting and practical. Something with a thriving community preferably, with resources that are updated frequently. I'd love something that I go to and check out every day to get updates on.

I'm open to all ideas!

submitted by pleanbean
[link] [48 comments]

Greater Fool - Authored by Garth Turner - The Troubled Future of Real Estate: The correction

correction modifiedcorrection modified

If I’d known the people reading this pathetic blog were so damn well off, I’d have dressed better. At least changed my leather Harley-Davidson briefs. It’s one thing to make a lot of money (we already know you do that), but quite another to accumulate wealth. So after reading yesterday’s comments on net worth, new respect. What a rapacious horde of capitalist swine we are. I am so proud.

Of course, we also want to keep it that way. So let’s talk about markets, and risk.

On Tuesday the Globe asked its readers (a collection of druggie, infested homeless people compared to you) whether they were concerned or not about a stock market correction. Just 14% said they were very anxious. Half were somewhat worried. A third were confident.

Let’s compare that with a Bloomberg survey done a few days ago among institutional investors, analysts and traders. They see it this way: 47% say the market is close to unsustainable levels, while 14% concede it is already in a bubble.

In other words, 86% of retail investors (the little guys) are cool with things the way they are while 63% of financial pros (the insiders) are worried. So, should you fret?

Let’s recap. The S&P is up almost 17% from this week a year ago. In 2013 it increased 30%. In fact, the market is now fully a third higher than it was back in the pre-crash days of 2007. More than $15 trillion has been added to US equities, and the gain since the low point in March of 2009 is a staggering 193%. And while the TSX was relatively lackluster last year (up just under 10%), so far in 2014 it’s ahead 14%, with the 12-month gain now running over 26%.

This all means US markets (which set the tone for most others) have not had a correction of 10% for almost three full years – since the American debt ceiling crisis of 2011 (when gold peaked). This is abnormal, to say the least. On average, corrections have gripped markets every 18 months since way back in 1946. That would suggest we’re way overdue.

But these are not normal days. By any stretch. Interest rates have been at emergency levels now for almost five years. In fact, Europe is battling deflation and rates may go negative. The US Fed has been spending billions a month buying bonds with wealth it created, to keep money costs down and the system flush with cash. Corporations have amassed record levels of capital, and been using it for an orgy or mergers and acquisitions – $1 trillion in new deals this year alone.

US unemployment has plunged from over 10% to barely over 6%, with more than 200,000 new jobs every month for the last half-year. House prices, decimated 32% in the American crash, have risen on average 1% a month for more than a year. Inflation’s been tame, while markets soared. Investors have been able to borrow at 3% and earn 14% – which explains a record surge in margin debt. Demand for bonds, thanks to government stimulus, has pushed yields down and prices up. Suddenly everything looks expensive, but how can you walk away from gains like these? To invest in a 2% GIC? Pshaw.

But are markets overvalued?

Yup, stock indices are at record highs, however expressed as a multiple of corporate profits, things look a lot less scary (with one exception). The S&P is now at just over 18 times earnings, which is the highest in four years, but still miles below the 30 level reached during the height of the dot-com nonsense back in heady 2000. That was a prelude to the market losing half its value over the next couple of years.

It seems investors never learn some stuff – like speculating in companies which are cool, but don’t make money. Internet stocks as a group, for example, are at 72 times earnings on the Dow. (Facebook, Amazon and Netflix are all above 90 in price/earnings ratios. Yikes.). Besides social media companies, which are obviously in a hipster bubble, biotechnology stocks have been trading at more than 500 times earnings – which is why this part of the market (and the tech-heavy Nasdaq) have been whipsawing around most of the year, falling 20% in the spring before recovering.

So, let’s hope you haven’t built your entire portfolio on Twitter.

But apart from trendy, flaky companies, how much fear should you feel?

Probably not that much, if you stick to buying the indices and achieve lots of diversification with US and Canadian large cap ETFs, for example. The American economy holds out opportunity for lots more growth over the next few years, plus major corporations have paid down costly debt, become more efficient (that’s why unemployment shot up) and expanded their markets. In short, they learned what people buying houses in East Van did not.

Of course markets will correct, but when is unknown. By historic valuations, the S&P is about 12% too expensive. But then (as I said) these are not normal times. Inflation is tame. Rates are extreme. Companies are making money. Central banks are vigilant. Even events like MH17 and Gaza don’t seem to matter much. So expecting a badass move down may be unreasonable.

If you have a balanced (40% safe stuff, 60% growth assets) and diversified (ETFs in Canada, US and abroad, large and small cap) portfolio, a 10% or 15% dive for stocks will be a piffle. If you’ve been sitting on dead cash, then it’s a time to buy.

Of course, most people won’t. They’ll sell. But then, they read the Globe. Losers.

Quiet Earth: New on Blu-ray and DVD: Ginger Snaps, Transcendence & More!

It's a quiet week for home video releases but that's not to say that there aren't a handful of good things to look forward to though first and foremost, the title of interest this week is easily the blu-ray release of the female werewolf bundle of joy that is Ginger Snaps.

If you haven't seen John Fawcett's movie, there's no better time to catch up than with this newly minted special edition from the good folks a [Continued ...]

Paper Bits: Photo

















Quiet Earth: Space Spoof Done Right? SPACE STATION '76 Looks Promising [Trailer]

Actor turned director Jack Plotnick is best known for his TV work and his frequent appearances on "Reno 911" and for his directorial debut, he's taking his comedic talents into space. Or so he hopes.

Space Station '76 is a genre comedy spoof about the shenanigans of a group of people living on a space station and the new female captain that arrives on board. Starring Patrick Wilson, Liv Tyler, Matt Bomer and Marisa Coughlan, Plotnick's feature debut actually looks pretty great, taking us back to the 70s vision of the future. As expected, there are all sorts of familiar reference points and though the trailer isn't laugh out loud funny, it is amusing and suggests that this might be one to keep an eye on. After all, it's been a while since we've seen a good space spoof (was the la [Continued ...]

Instructables: exploring - featured: Charles Mackintosh shirt

I bought a purple flannel shirt in a sale for almost nothing ( 3 euro). When the bright cellophane came off the color was not so purple as I had thought. A drab misty purple-grey. Boring! Now more than a year later I only put it on once, and my colleagues wondered what had been gone wrong in the lau...
By: Ruud van Koningsbrugge

Continue Reading »

Colossal: Haunting Photos of the German Countryside Reveal Scars Left from WWII Bombs

Haunting Photos of the German Countryside Reveal Scars Left from WWII Bombs WWII war landscapes

Henning Rogge, “#45 (Bulau)” (2013), Analogue C-print, 24 x 29 1/8 inches (all photographs courtesy the artist and RH Contemporary Art)

Haunting Photos of the German Countryside Reveal Scars Left from WWII Bombs WWII war landscapes

Henning Rogge, “#41 (Rotterbach und Hacksiefen)” (2013), Analogue C-print, 18 3/16 x 22 inches

Haunting Photos of the German Countryside Reveal Scars Left from WWII Bombs WWII war landscapes

Henning Rogge, “#1 (Stolpe-Süd)” (2013), Analogue C-print, 24 x 29 1/8 inches

Haunting Photos of the German Countryside Reveal Scars Left from WWII Bombs WWII war landscapes

Henning Rogge, “#54 (Altwarmbüchener Moor)” (2013), Analogue C-print, 18 3/16 x 22 inches

Haunting Photos of the German Countryside Reveal Scars Left from WWII Bombs WWII war landscapes

Henning Rogge, “#58 (Projensdorfer Gehölz)” (2013), Analogue C-print, 18 3/16 x 22 inches

Haunting Photos of the German Countryside Reveal Scars Left from WWII Bombs WWII war landscapes

Henning Rogge, “#66 (Mascheroder Holz)” (2013), Analogue C-print, 18 3/16 x 22 inches

Haunting Photos of the German Countryside Reveal Scars Left from WWII Bombs WWII war landscapes

Henning Rogge, “#79 (Münsterbusch)” (2013), Analogue C-print, 18 3/16 x 22 inches

Haunting Photos of the German Countryside Reveal Scars Left from WWII Bombs WWII war landscapes

Henning Rogge, “#83 (Beerenbruch)” (2013), Analogue C-print, 18 3/16 x 22 inches

Although WWII ended almost 70 years ago, its legacy lives on: in photographs, memories and on our landscape. Walk through the forests of Germany and you’ll see craters or, scars, as German photographer Henning Rogge calls them, that are the aftermath of bombs being dropped from planes. Rogge has been tracking down these craters and photographing them, capturing moments, after decades have elapsed, of earth slowly healing her wounds. An unknowing hiker might easily mistake them for small ponds and nothing more, which is perhaps why these masked scars are so haunting. Rogge’s photographs are part of a group show titled The Beautiful Changes, which is on display at RH Contemporary Art in New York City through September 13, 2014. (via Hyperallergic)

Colossal: New in the Colossal Shop: Wearable Cities and Stars by Slow Factory

New in the Colossal Shop: Wearable Cities and Stars by Slow Factory stars space fashion colossal clothing

New in the Colossal Shop: Wearable Cities and Stars by Slow Factory stars space fashion colossal clothing

New in the Colossal Shop: Wearable Cities and Stars by Slow Factory stars space fashion colossal clothing

New in the Colossal Shop: Wearable Cities and Stars by Slow Factory stars space fashion colossal clothing

In a novel intersection of fashion and science, New York-based Slow Factory is utilizing imagery from NASA to create lines of translucent scarves. Their most recent collection, Cities by Night, is a series scarves imprinted with imagery of London, New York, and Paris captured at night from satellites and aboard the International Space Station. A second collection, Floating in Space, includes several breathtaking photographs of various nebulae captured by the Hubble. Slow Factory was founded by designer Celine Semaan Vernon, a native of Beirut who now lives and works in New York City. Several of their pieces are now available in the Colossal Shop.

new shelton wet/dry: WHY DO YOU HAVE TO BE SO FUCKING PERFECTTT

“Emotions such as anger and contempt can seem very threatening for couples. But our study suggests that if spouses, especially wives, are able to calm themselves, their marriages can continue to thrive,” Bloch said. While it is commonly held that women play the role of caretaker and peacemaker in relationships, the study is among the first [...]

Planet Haskell: JP Moresmau: EclipseFP 2.6.1 released!

I've just released EclipseFP 2.6.1. EclipseFP is a set of Eclipse plugins for Haskell development. This is a bug fixing release, mainly for GHC 7.8 support.

Release notes can be found here.

As usual, download from http://eclipsefp.sf.net/updates.

Happy Haskell Hacking!

Instructables: exploring - featured: How to Run Sensor Cables Through USB Cables

You might have noticed that Phidgets sensor cables (and other sorts of electrical cabling) don’t always come in a convenient round shape, which you sometimes need. A relatively easy solution is to grab a length of USB cable and solder the sensor cable wires onto the USB wires, and here are some easy...
By: phidgetsinc

Continue Reading »

The Rhizome Frontpage RSS: Watch a Panel Discussion of 'The Emergence of Video Processing Tools'

On July 13, 2014, to mark the occassion of the release of The Emergence of Video Processing Tools: Television Becoming Unglued, Rhizome, the New Museum Education Department, and Experimental Television Center hosted a conversation between inventor Dave Jones, whose video instruments span forty years, artists-designers Kyle Lapidus and Tali Hinkis of LoVid, Rhizome conservator Dragan Espenschied, and Hank Rudolph of the artist space Signal Culture and the Experimental Television Center. 

Documentation of the entire conversation can be found above. Special thanks to Signal Culture staff and volunteers Janeen Lamontagne, Robert Hoffman, Debora Bernagozzi and Jason Bernagozzi for capturing and editing this event. For more still images from the panel, visit their Flickr page.

Arduino Blog: Two steampunk espresso machines running on Arduino Mega

vidastech on taste.kr

There’s a team of designers based in Korea who are passionate about coffee machines. Their name is Vidastech and recently shared with us two new hand-assembled machines prototyped  with Arduino Mega called Hexagon and Revolucion.

vidastech01

Take a look at the gallery for more pictures:

 

vidastech07 vidastech05 vidastech03 vidastech04 vidastech06 vidastech00

Daniel Lemire's blog: Potentially bogus freelancing advice

For nearly 20 years, I have been freelancing: selling my skills as a free agent. I do very little freelancing these days, but I still regularly give advice to students and colleagues. Is it wise? I let you be the judge: here are my favorite bits of wisdom.

There are bad and good clients.

In retail, the more clients you have, the better. The economics of freelancing are different. That is because you are selling finite ressources (your time and your energy) and every transaction depletes your ressources.

A bad client might waste your talents and skills in a dead-end project. A bad client might use 80% of your energy and contribute less than 20% of your income. A bad client might drop you in favour of a cheaper alternative without thinking twice. A bad client might feel abusive, put you in a bad mood. (Being in a bad mood is bad for business on the long run.) A client might take your business in the wrong direction.

As a freelancer, it is entirely reasonable to turn down work. It is often the strategic thing to do, even if you have nothing else lined up. Think about an actor offered the leading role in a major movie that is bound to be a failure.

Ultimately, the great thing about being a freelancer is the freedom to turn down work. It is not only good business, but it is also what sets you apart from employees.

Everything is negotiable.

When I started freelancing, some clients would put forward rules or policies. These rules were invariably convenient to my clients.

For example, it is common to have bounds on how much consultants can charge. A few times over the years, even recently, a client told me that I could not charge over $50 an hour, as a rule. Whatever the rule or the policy, it is always a matter of negotiation. Do not worry, clients will make “exceptions” if you are worth it.

Intellectual property is another important point… when freelancing, you should not sign away your rights lightly. For example, if you are doing a programming job, consider that giving the client the copyright of your work might prevent you from reusing the same code in other projects. A much more reasonable default stance is to license your work to the client.

In all cases, remember that there are bad and good clients. If a client refuses to negotiate in good faith, he may not be a good client to you.

Do not watch your clock.

Because it is a widespread practice, clients almost always want you to charge by the hour. Often, they want to know ahead of time how many hours you will charge.

Charging by the hour is more of a metaphore. In practice, you should charge by the value provided. That is, suppose that you can solve a problem in 5 minutes but that 99.9% of world experts would take 5 days… then it makes no sense to charge 5 minutes. Similarly, if a client wants you to do some work that most people can do in a few minutes but that will take you days,
you should not charge the client a lot.

A more reasonable approach is to charge flat fees or the equivalent. A flat fee could include a service such as “being available at a moment’s notice”. If it reassures the client, you can translate the flat fee into a fixed number of hours and an hourly rate.

Whatever you are charging, you should not worry about the time you spend on projects too much. Your main worry should be to provide something valuable to your clients.

CreativeApplications.Net: Generative Typography with Processing – Tutorial

AmnonOwed-GenerativeTypography-HeaderThrough an inspiring tutorial with 26 code examples Amnon Owed shows you how to use Processing to explore the creative possibilities of generative typography.

Michael Geist: Welcome to the Hotel California: ISPs Who Won’t Take No For An Answer

Last week, a recorded customer service call with U.S. Internet provider Comcast went viral as the recording featured a Comcast representative spend 20 minutes deflecting a customer’s request to drop its Internet service. While Comcast apologized, the incident clearly struck a chord with many frustrated by customer service representatives whose mandate is seemingly to retain the customer rather than provide actual service.

Yesterday, Toronto web developer Daryl Fritz tweeted this photo of a Rogers injection into his web page:

Rogers response to @DarylFritz

The injected content “apologizes” for interrupting a web browsing session, encouraging Fritz to stick with Rogers and promising a “special offer” if he reconsiders his decision to leave the company. The injected content requires Fritz to acknowledge receipt of the message. Fritz says he actually did not cancel his Internet service, but rather dropped home phone and cable services.

The practice of injecting its own content into web pages is not new for Rogers, having adopted the approach to advise on bandwidth caps and parental controls.  However, modifying web pages as a customer retention tool is not only is unlikely to work and leave some customers a bit creeped out, but it maintains the impression that Internet providers now see themselves as akin to the “Hotel California”, where as the Eagles’ song goes, you can check out any time you like, but you can never leave.

The post Welcome to the Hotel California: ISPs Who Won’t Take No For An Answer appeared first on Michael Geist.

OCaml Weekly News: OCaml Weekly News, 22 Jul 2014

  1. proposal for finding, loading and composing ppx preprocessors
  2. Existential row types
  3. Immutable strings
  4. Article on why they use Ocaml: "Why We Use OCaml | Esper Tech Blog"
  5. Lablqt 0.3 is out
  6. A proposal of a standard support for Unicode string
  7. Other OCaml News

OCaml Planet: Caml Weekly News: OCaml Weekly News, 22 Jul 2014

  1. proposal for finding, loading and composing ppx preprocessors
  2. Existential row types
  3. Immutable strings
  4. Article on why they use Ocaml: "Why We Use OCaml | Esper Tech Blog"
  5. Lablqt 0.3 is out
  6. A proposal of a standard support for Unicode string
  7. Other OCaml News

All Content: Exploring Israel-Palestine through Movies: Part 1

Thumb_1387960565516

Editor's Note: This is one person's view with recommended films that represent a range of perspectives as an invitation to constructive dialogue, and we welcome respectful comments. Given the sensitivity of the issues, we will remove any comments we find inappropriate. And we invite other people who are familiar with the films that address these issues to develop their own lists for us to publish.  


PART 1: INTRODUCTION AND VIEWING LIST

This series presents the situation in four installments. First, we will explore religious films. Second, we will survey attempts at good will and attempts at hostility. Third, we will explore Israel from the perspective of pro-Israeli filmmakers. Fourth, we will explore Palestine from the perspective of pro-Palestinian filmmakers. 

I am selecting films that are easily available, guiding you through the multiple narratives that inform the various outlooks on this region. When students ask me whose side I am on, my answer is simple: I am on the side of the people. Palestinian. Israeli. Christian. Jewish. Muslim. Non-believer. I am not as compassionate toward the Policymakers.

A number of recent events compelled this series. Right now, we are witnessing what some call a war and others call a siege. Israeli Defense Forces and Hamas are firing on each other, again, allegedly in response to a series of killings of Israeli and Palestinian children. Though both Islam and Judaism speak of humanity as so sacred that one lost life is an incalculable tragedy, the casualties, however, are not remotely even. Palestinian deaths surpass Israeli deaths by a ratio of over 200 to 1, where 1 out of 5 deaths are believed to be children. 

Related to these events, many American celebrities have disavowed their own comments, like “#FreePalestine” (by NBA star Dwight Howard and singer Rihanna), after being accused of bigotry. Meaning, in the minds of some very vocal people, “Pray for Tel Aviv” would not be bigotry, but “Pray for Gaza” (as stated and recanted by singer/actress Selena Gomez) would. All people should be prayed for, indeed, but praying for a particular group does not imply hatred for another.

Further, the Presbyterian Church voted to divest its interests in American companies involved in human rights violations, thriving on Israeli settlements in Palestinian territories. Last, President Obama just hosted his annual “White House Iftar,” commenting, among his many usual diplomatic pleasantries, that Israel has to right to defend itself. Indeed it does, but taking that point to its full conclusion, so to do Iraq and Afghanistan against us, except that when they do, we call them “insurgents”and “terrorists.”

The conversation on Palestine/Israel is, thus, one of the most impossible conversations in our society. It is difficult enough to find people who are able to engage honestly and dispassionately, and even self-critically. Some focus on human rights. Some seek a safe haven against hostilities. Some are hopeful for a returning Messiah; some seek to force his return. Some are driven by anti-Semitism, others by Islamophobia. I am not claiming to be unbiased here, but I will try to be fair.

The best way to describe my sentiments, especially regarding the future of the Palestinians and Palestine, can be summed up in one word: despair. Nevertheless, all three of the great Abrahamic traditions claim that impieties have happened here, but so too have miracles. So, we must still have hope, even if it is small.

And, with that we begin our series with Religion. Old time religion. Five movies. 

The goal is to touch upon the various narratives that guide us in viewing the people, the land, and the problems. In Narrative, there are heroes and villains, and a lot of empty spaces. The Western Narrative usually leaves out the Islamic influence (especially during the Medieval period) and Colonization. The American Narrative downplays the genocide of the Native Americans and the Transatlantic Slave Trade as aberrations. Thus, narratives massage facts. 

Likewise, each religion sees itself and sees others through its own lens. Judaism sees Christianity and Islam as offshoots. Christianity sees itself—rather, sees Jesus Christ—as the fulfillment of Judaism, while seeing Islam as a parallel, sometimes competing, tradition with similar origins and theologies. Islam sees itself as the oldest of religions, with Judaism and Christianity as offshoots, in that Islam claims Abraham, Moses, and Jesus as prophets of Islam as Judaism claims Abraham as a patriarch of Judaism; may peace be upon them all. The point is that when we speak of narratives, legitimacy may not come from fact but from belief. We do not believe in the narratives because they are true; they are true because we believe in them. Sometimes these narratives fit well together, and sometimes they clash. When we speak of the land called Israel or Palestine, we seem to only speak of clash.

"Kingdom of Heaven" (Scott, 2005).

This film explores the role of Jerusalem in the imaginations of the Medieval people, as a place of redemption, renewal, and self-determination, hovering beneath a dark cloud of religious triumphalism. We meet a leper King Baldwin, who seeks to keep peace by keeping Jerusalem as a place for all faiths. We watch the legendary Muslim leader Salah al-Din (Saladin) maintaining the peace, but ready to storm in if necessary. There is a brief moment where Salah al-Din offers to send the ailing King his own physician. Legend tells us that the physician was one of the greatest of all Rabbis, Moses Maimonides, though some historians disagree. In any case, threatening the peace are the militant Christian group, the Knights Templar, determined by an imagined Divine Right to rule Jerusalem and the world. In the process, we meet others who give up hope for any holiness in Jerusalem. Meaning, “Kingdom of Heaven” tells us that some come to Jerusalem seeking God, while others leave Jerusalem believing that God has abandoned it.

“Crusade” etymologically comes from “being marked with the Cross.” Its meaning is, however, similar to the meaning of “jihad,” as a struggle toward some goal. When Christians use “crusade” or Muslims use “jihad,” they speak of something ambitious, noble and non-violent. We know, however, that what Pope Urban II launched in 1095 CE was definitely violent: a holy war against the infidel Muslims for control and restoration of the Holy Land.  At the same time, a group of Renegades went through particular places in Europe seeking out Jews for persecution. 

The whole of history, however, tells a wider story. Indeed, Jerusalem is a place run by Romans, Jews, Christians, and Muslims in various periods, and the change of authority was usually often bloody, including the destruction of the two Temples in 587 BCE and 70 CE. But, because of the lack of material benefits and natural resources, other regions witnessed far more conflict through the generations. Meaning, Jerusalem was not, contrary to popular belief, a place of perpetual war, because it was not, save for men of piety, a place of much interest or benefit. But, as a symbol of Divine promises, it was and is something other worldly.

"The Ten Commandments" (1956)

Perhaps the greatest of all Hollywood epics. I watched this film with my family year after year every Passover/Easter, though as a child I knew more about colorful bunnies and eggs than about Pesach or Good Friday. This film gives us the story of Moses and the Children of Israel, which plays a major role in all three of the Abrahamic Traditions, though it is most central in the Jewish narrative. Moses grows up with the Pharaoh in Egypt before the Divine calls upon him. He demands the Pharaoh to turn to God, and free the enslaved Hebrews. He leads his people toward the promised land, beyond the split sea, beyond their worship of the golden calf, beyond their ungrateful demands. 

In this context, we are watching this film to understand that in the Jewish narrative, Israel is three. Israel is a title given to Jacob, son of Isaac, son of Abraham. Israel is also the Jewish people. And, Israel is the land. In the Jewish narrative, the three are inseparable.

"The Passion of the Christ" (2004)

Perhaps the most powerful of all such movies, if at least because of the brutal violence inflicted upon Jesus, especially when juxtaposed with his gentle demeanor speaking to his mother, and teaching his disciples. In this film, Jesus gets betrayed by Judas; made subject to trial, crucifixion, and resurrected. The Sanhedrin regard him as a heretic for claiming to be the Son of God, the Messiah, and the King of the Jews. The Roman governor Pontius Pilate washes his hands of Jesus, literally, allowing him to get chastised, flogged, and pummeled.

In our context, this film carries multiple purposes. First, it presents the central role that Jerusalem has in the Christian narrative. Second, the film was protested for presenting a particular read of the Jesus narrative, placing most blame on Caiaphas, the Jewish High Priest, rather than Pilate, who seems comparatively humane. That narrative was repudiated by Pope Paul VI during the Second Vatican Council in the 1960s. Mel Gibson’s gifts as a director get unfortunately overshadowed by other matters in his conduct including his bouts of anti-Semitism.  Nevertheless, this film is for many Catholics a sacred experience, focused on the suffering Christ, regardless of who is responsible for his death. 

It is also worth noting that today, the keys to the Church of the Holy Sepulchre, commemorating the site of Jesus' crucifixion and burial, have been cared for over generations by a family of Palestinian Muslims.

"The Jesus Film" (Sykes, Krish, Heyman, 1979)

The actual title of this film is simply “Jesus.” Two films about Jesus are important here because we speak of two populations of Christians. If “The Passion of the Christ” presents a very visceral Catholic experience, then this film presents an Evangelical Protestant narrative focused on the ministry and atonement. 

The distributors claim that this film has a thousand translations, more than a billion viewings, and 200 million conversions. In the contemporary world, we find the Right Wing among the Evangelical Protestants as politically active and interested in the workings of the Israeli state as almost any other group. They are so active and aggressive, as a Christian Zionist movement, that we might assume they speak for all Christianity, and overlook the population of Moderate and Left Wing Evangelicals. What is their goal? Apocalypse: the return of their Lord and Savior. Narratives feature heroes and villains; such people are constantly on the lookout for the Anti-Christ.

"Muhammad: Legacy of a Prophet" (Schwarz and al-Qattan 2002).

The most viewed film about the life of the prophet Muhammad is Moustapha Akkad’s “The Message” (1976), featuring Anthony Quinn and Irene Papas. But, that film does not engage the political treachery Muhammad faced by three of the Jewish tribes in Arabia, and it does not explore the Night Journey, during which Muhammad visited Jerusalem on his way to passing through Hell and Heaven before a special meeting with the Divine, in a path later lifted by Dante. This documentary about Muslims in America, interspersed with explorations of major moments in Muhammad’s life, studies all those events directly.

Within Jerusalem, the al-Aqsa campus is for Muslims the third most sacred site on the planet, after Mecca and Medina. Near its center, the golden domed, blue Dome of the Rock, marks the spot where Muhammad ascended. That whole structure happens to sit on top of the site of the previous Temple, Judaism’s most sacred center, where Jews today visit, expressing prayers at its Western Wall.

Jerusalem is, thus, central to all three of these traditions. More importantly, the American narrative about Jerusalem is that the conflict is driven through religion, from start to finish. That is only a partial truth, as we will see in subsequent entries. 

Next: Attempts at Good Will and Attempts at Hostility.


New Humanist Blog: The problems of policing FGM

The government is announcing new measures to stamp out this brutal form of violence against women and girls.

OCaml Planet: Open Mirage: Mirage v2.0: a recap of the new features

The first release of Mirage back in December 2013 introduced the prototype of the unikernel concept, which realised the promise of a safe, flexible mechanism to build highly optimized software stacks purpose-built for deployment in the public cloud (more background on this). Since then, we've been hard at work using and extending Mirage for real projects and the community has been steadily growing.

We're thrilled to announce the release of Mirage OS v2.0 today! Over the past few weeks the team has been hard at work blogging about all the new features in this latest release, coordinated by the tireless Amir Chaudhry:

All the libraries required for these new features are regularly released into the OPAM package manager, so just follow the installation instructions to give them a spin. A release this size probably introduces minor hiccups that may cause build failures, so we very much encourage bug reports on our issue tracker or questions to our mailing lists. Don't be shy: no question is too basic, and we'd love to hear of any weird and wacky uses you put this new release to! And finally, the lifeblood of Mirage is about sharing and publishing libraries that add new functionality to the framework, so do get involved and open-source your own efforts.

Breaking news: Richard Mortier and I will be speaking at OSCON this week on Thursday morning about the new features in F150 in the Cloud Track. Come along if you are in rainy Portland at the moment!

OCaml Planet: Open Mirage: Building an ARMy of Xen unikernels

Mirage has just gained the ability to compile unikernels for the Xen/arm32 platform, allowing Mirage guests to run under the Xen hypervisor on ARM devices such as the Cubieboard 2 and CubieTruck.

Introduction

The ARMv7 architecture introduced the (optional) Virtualization Extensions, providing hardware support for running virtual machines on ARM devices, and Xen's ARM Hypervisor uses this to support hardware accelerated ARM guests.

Mini-OS is a tiny OS kernel designed specifically for running under Xen. It provides code to initialise the CPU, display messages on the console, allocate memory (malloc), and not much else. It is used as the low-level core of Mirage's Xen implementation.

Mirage v1 was built on an old version of Mini-OS which didn't support ARM. For Mirage v2, we have added ARM support to the current Mini-OS (completing Karim Allah Ahmed's initial ARM port) and made Mirage depend on it as an external library. This means that Mirage will automatically gain support for other architectures that get added later. We are currently working with the Xen developers to get our Mini-OS fork upstreamed.

In a similar way, we have replaced Mirage v1's bundled maths library with a dependency on the external OpenLibm, which we also extended with ARM support (this was just a case of fixing the build system; the code is from FreeBSD's libm, which already supported ARM).

Mirage v1 also bundled dietlibc to provide its standard C library. A nice side-effect of this work came when we were trying to separate out the dietlibc headers from the old Mini-OS headers in Mirage. These had rather grown together over time and the work was proving difficult, until we discovered that we no longer needed a libc at all, as almost everything that used it had been replaced with pure OCaml versions! The only exception was the printf code for formatting floating point numbers, which OCaml uses in its printf implementation. We replaced that by taking the small fmt_fp function from musl libc.

Here's the final diffstat of the changes to mirage-platform adding ARM support:

778 files changed, 1949 insertions(+), 59689 deletions(-)

Trying it out

You'll need an ARM device with the Virtualization Extensions. I've been testing using the Cubieboard 2 (and CubieTruck):

Cubieboard2

The first step is to install Xen. Running Xen on the Cubieboard2 documents the manual installation process, but you can now also use mirage/xen-arm-builder to build an SDcard image automatically. Copy the image to the SDcard, connect the network cable and power, and the board will boot Xen.

Once booted you can ssh to Dom0, the privileged Linux domain used to manage the system, install Mirage, and build your unikernel just as on x86. Currently, you need to select the Git versions of some components. The following commands will install the necessary versions if you're using the xen-arm-builder image:

$ opam init
$ opam install mirage-xen-minios
$ opam pin mirage https://github.com/talex5/mirage.git#link_c_stubs
$ opam pin mirage-xen https://github.com/mirage/mirage-platform
$ opam pin tcpip https://github.com/talex5/mirage-tcpip.git#checksum
$ opam install mirage

Technical details

One of the pleasures of unikernels is that you can comprehend the whole system with relatively little effort, and those wishing to understand, debug or contribute to the ARM support may find the following technical sections interesting. However, you don't need to know the details of the ARM port to use it, as Mirage abstracts away the details of the underlying platform.

The boot process

An ARM Mirage unikernel uses the Linux zImage format, though it is not actually compressed. Xen will allocate some RAM for the image and load the kernel at the offset 0x8000 (32 KB).

Execution begins in arm32.S, with the r2 register pointing to a Flattened Device Tree (FDT) describing details of the virtual system. This assembler code performs a few basic boot tasks:

  1. Configuring the MMU, which maps virtual addresses to physical addresses (see next section).
  2. Turning on caching and branch prediction.
  3. Setting up the exception vector table (this says how to handle interrupts and deal with various faults, such as reading from an invalid address).
  4. Setting up the stack pointer and calling the C function arch_init.

arch_init makes some calls to the hypervisor to set up support for the console and interrupt controller, and then calls start_kernel.

start_kernel (in libxencaml) sets up a few more features (events, malloc, time-keeping and grant tables), then calls caml_startup.

caml_startup (in libocaml) initialises the garbage collector and calls caml_program, which is your application's main.ml.

The address space

With the Virtualization Extensions, there are two stages to converting a virtual memory address (used by application code) to a physical address in RAM. The first stage is under the control of the guest VM, mapping the virtual address to what the guest believes is the physical address (this address is referred to as the Intermediate Physical Address or IPA). The second stage, under the control of Xen, maps the IPA to the real physical address. The tables holding these mappings are called translation tables.

Mirage's memory needs are simple: most of the RAM should be used for the garbage-collected OCaml heap, with a few pages used for interacting with Xen (these don't go on the OCaml heap because they must be page aligned and must not move around).

Xen does not commit to using a fixed address as the IPA of the RAM, but the C code needs to run from a known location. To solve this problem the assembler code in arm32.S detects where it is running from and sets up a virtual-to-physical mapping that will make it appear at the expected location, by adding a fixed offset to each virtual address. For example, on Xen/unstable, we configure the beginning of the virtual address space to look like this (on Xen 4.4, the physical addresses would start at 80000000 instead):

Virtual addressPhysical address (IPA)Purpose
40000040000000Stack (16 KB)
40400040004000Translation tables (16 KB)
40800040008000Kernel image

The physical address is always at a fixed offset from the virtual address and the addresses wrap around, so virtual address c0400000 maps back to physical address 0 (in this example).

The stack, which grows downwards, is placed at the start of RAM so that a stack overflow will trigger a fault rather than overwriting other data.

The 16 KB translation table is an array of 4-byte entries each mapping 1 MB of the virtual address space, so the 16 KB table is able to map the entire 32-bit address space (4 GB). Each entry can either give the physical section address directly (which is what we do) or point to a second-level table mapping individual 4 KB pages. By using only the top-level table we reduce possible delays due to TLB misses.

After the kernel code comes the data (constants and global variables), then the bss section (data that is initially zero, and therefore doesn't need to be stored in the kernel image), and finally the rest of the RAM, which is handed over to the malloc system.

Contact

The current version seems to be working well on Xen 4.4 (stable) and the 4.5 development version, but has only been lightly tested. If you have any problems or questions, or get it working on other devices, please let us know!

Electronics-Lab.com Blog: OLED displays can be read even “from a side”

obr1561_uvod

Viewing angle around 160°-170° and an excellent contrast say in favor of character displays with OLED technology.

OLED technology (Organic LED) slowly but surely finds its place even in industrial devices. After a big success at mobile phones, where they convince by high contrast and an excellent viewing angle, this technology becomes price-affordable and technologically advanced even for industrial applications.Benefits in short:

  • OLED means, that every pixel is principally one „planar“ LED, thus each pixel emits light (white, RGB or some color). That means, that OLED doesn´t have / doesn´t need backlight and it also helps to a high contrast, as there´s no problem with a light bleeding through “off” (black) pixels, as it is often at LCD displays. High contrast also ensures excellent legibility even at a strong daylight.
  • wide viewing angle. As every pixel (point) is itself a light source, it shines in all directions (half-globe) and it provides an extreme viewing angle near to a theoretical maximum of 180°
  • extremely wide operating temperatures range, frost doesn´t “slow down” display response time
  • the same color from every viewing angle. This is vital at color (RGB) OLED displays and it means almost zero color shift at viewing from various viewing angles, so well-known from TFT LCD displays
  • low power consumption, partially dependent on a display content (number of switched-on pixels and their intensity)

New character displays from company Winstar belong to advanced displays with declared features. In our stock can be found types for example WEH001602ABPP5N00000 (16×2, blue), WEH001602AWPP5N00000 (16×2, white), WEH002002ALPP5N00001 (20×2, yellow/orange – „amber“) and WEH002004ALPP5N00000 (20×4, yellow/orange – „amber“) and other. They all have 8-bit parallel interface „6800“ and a modern controller WS0010. Direct comparison of OLED display with an FSTN LCD is best illustrated in the attached video.

OLED displays can be read even “from a side” - [Link]

Electronics-Lab.com Blog: New record brings superconductors closer to the mainstream

high-temperature-superconductor

By Dario Borghino @ gizmag.com:

Researchers at the University of Cambridge have created a new high-temperature superconductor capable of trapping a magnetic field of 17.6 Tesla, improving on a record set over a decade ago. The advance is yet another step toward making superconductors viable for building effective large-scale smart electricity grids, maglev trains and flywheel energy storage.

New record brings superconductors closer to the mainstream - [Link]

Explosm.net: NEWS: Guess who&#39;s coming back?

News

the waxing machine: Photo



Planet Haskell: Functional Jobs: CTO / Tech Co-Founder at Capital Match (Full-time)

TL;DR: start and build the technology for a financial services marketplace in Asia. Compensation is salary plus double digit percent equity. There will be a short trial period to make sure both sides want to work with each other. Relocation to Singapore mandatory (trial could be remote and part-time).

Company

Capital Match is bringing peer-to-peer lending (basically, a marketplace for retail/institutional lenders and corporate borrowers that bypasses the banking system) to Southeast Asia, where for various reasons the US incumbents have not entered. The founders are well connected and are bringing the right contacts and background to make it happen. The company started as a traditional financier for SMEs to better understand the market as well as legal and credit aspects of the business before it would embark on the P2P model.

If you would like to learn more about the business model, here is a link explaining it from the point of view of current very successful US incumbents: http://www.foundationcapital.com/downloads/FoundationCap_MarketplaceLendingWhitepaper.pdf

Job description and compensation

The CTO will first build the marketplace, then grow the team as it gains traction. We provide the legal, financial and admin functions as well as the market research backing a high level functional spec; you just need to worry about building the product. The division of labour will be very clear: you are the final call on anything technical, and nobody will come micromanage your work.

Compensation will be a lowish middle class salary by Singapore standards and double digit percent equity, subject to a trial period. Note this is not a strictly technical business, and the marketplace problem is a relatively straightforward and well known one, with the value in the contacts and understanding of the market that goes into the functional spec. Though technology could bring a distinct value and advantage over time.

Additionally, we have eschewed raising much funding for now and most of the capital comes from the founders' personal savings (which we think is a positive signal - our interests are aligned) so don't expect Silicon Valley perks for a while. We don't have hog roasts and whisky tasting Fridays, but you get a real, founder-level stake in the company. Relocation to Singapore is primordial for the CTO, although the rest of the team you'll build can be remote. During a trial period you can work remotely and part-time.

Tech stack

Thanks to one founder's very positive experiences with the Haskell experiment at Zalora, we are very keen to use functional programming languages, especially Haskell. We are however technology agnostic ("best stack for the problem"). We have a bias towards those who prefer the relational model over NoSQL and towards open source.

Desired experience

The CV matters less than your ability to build things, so please send us any major open source project you have authored, both a link to the repo and a "basic" description targeted at the non-technical founders. We would prefer to see some financial services experience, especially on the security side, and some experience building similar products would be even better.

We want to utilize ample local government funding for high-tech start-ups so scientific / high-tech background and a post-grad degree would be preferred.

You can attempt to apply without an open source repo to your name, in that case build us a demonstration of your skills that you think reflects your ability.

Please send your application to pawel [at] capital-match [dot] com

Get information on how to apply for this position.

The Gutters: It’s All In The Title

gutters521 colours

Hey kids! by the time you read this, we’ll be off to San Diego for SDCC! If you’re in the area, please do stop by and say hi at booth #1231!

So, when I heard the news that Marvel was launching a new “Superior Iron Man” series, I instantly had a flash to a Marvel where everyone is superior and thus no one is.

Deep, Right?

But, then I found out that making Iron Man “Superior” just meant making him into more of a jerk than he has been in the last few years (which is saying something, I might add). I don’t really know where Marvel get’s the idea that Superior = More of an Asshole, but if that’s the case look for The Superior Moss on shelves soon.

Regardless, though I suppose it’s just an extension of the grim, gritty, “real” world of comics that exists these days, I hope that putting Superior on titles doesn’t turn into the new Ultimate, the way “All New” seems to have crept into the lexicon.

Today’s look to the future comes to us from Kyle Shold:

Kyle Shold worked in the video game industry as a background illustrator, conceptual artist, art director and story board artist. He contributed to well over 30 titles before leaving games and becoming a graphic designer at and illustrator. Kyle currently resides in the Pacific Northwest with his wife and three daughters.

Have a great, week everyone! We’re in San Diego, so expect to see some surprises!

-Moss

Saturday Morning Breakfast Cereal (updated daily): July 22, 2014


Did you miss the big kickstarter? Do you still want a book or print? For a little while, we're making them available.

i like this art: Federico Kenis

tumblr_n82v2cPJyT1qiimsjo1_1280 tumblr_n8qka9Cg8U1qiimsjo1_1280 tumblr_n8qcxoditn1qiimsjo1_1280 tumblr_n84kqmju0H1qiimsjo1_1280

Federico Kenis

Work from his oeuvre

“Federico Kenis was born in 1990 in Córdoba, Argentina, where he currently resides. He learned the basics of photography from his father, through a film camera that used to be his. He starts developing his skills as a self-taught photographer, learning through practice itself, several books, and the Internet. In 2009, inspired by graffiti and street art he begins to draw and design under the pseudonym of Ruidológico. In 2010 he takes up his studies in Cinema at university and starts becoming aware of the moving image as a means of expression, both for narrative and non-narrative possibilities.
As an active musician he plays several instruments in two bands: Anticasper and Youngs Against Godard as well as his solo project. Also he takes part as musician, photographer and video maker in the quarters of Ringo Records, an independent label of his city.
In 2012 he devotes himself fully to photography -both film and digital photography-, making it an important part of his every-day life and encompassing various searches. As well, he employs photography as a filter through which he contemplates the real world and intern processes from a holistic gaze.
Nowadays, he experiments by composing with materials and people, in different mediums and interfaces, in a relationship of tension, looking for ambiguous and resonant places in the relation organic/synthetic, abstract/figurative, content/form, chance/cause, virtual/real spaces. Intrigued by the universal concept of noise (both in sound as in the visual), consciousness and changes in state of matter. Obsessed with organic patterns, iridescence and everything that beyond its solid state shows for his eye that reality is transformed by time like a river of liquid information.
More recently he’s exploring gif art, glitch art, video art and concepts like information flows, new and obsolete technologies (and their naturally or sponteaneously generated aesthetics) and social networks.” -Der Greif 

Potz!Blitz!Szpilman!: Robert Smithson

Robert Smithson, Glue Pour (Vancouver), 1969

TheSirensSound: :§:omnium

Somnium Profile

§:omnium is an audio-visual project about perception of reality during dreaming state or during altered states of mind of various kinds. The two steps to grasp Somnium’s works are to be mesmerized and to feel. The project consists of two elements: sound (ky) and vision (Calliope). The music is made mainly with a bass and real time effects. Other instruments used (flutes,vocals…) are all acoustic and there aren’t digital source sounds. Tracks are recorded mostly live, mixed in few time to let the sound be as original and raw as it possible.

The visions are suggested through use of images closely tied to the sensations roused by sounds. The shots are taken singularly or assembled by the stop motion method. The intention is to realize a real and inseparable connection between music and visual art. The spirit of the project is to induce sensations through sounds and images, so if the two elements were divided the work should appear mutilated.

< < < < < [ 2014 Title [ Marinconia ] Update ]. > > > > >

June 21st :§:omnium released their last D.I.Y. album “Marinconia”, a work about sea feelings, marine soundscapes, sand and endless memories. They’ve created an handmade shell box to contain each CD and artwork, composed by 4 polaroid pictures. Copies are limited to 25, but they could re-release this album through a label one day.

credits
released 21 June 2014

ky: Bass, Vocals, Instruments, Composition, Mixing & Mastering
Calliope: Percussions, Additional Instruments, Artwork & Graphics

< < < < < [ [ BANDCAMP ] | [ FACEBOOK ] | [ YOUTUBE ] ]. > > > > >
————————————————————————————————————————————————————–

Somnium - Marinconia

Artist – :§:omnium
Album – Marinconia
Release Date – 2014
Genre – Ambient, Dark-ambient, Abstract / Obscure-ambient, Apocalyptic-drone, Minimal-drone, Post-rock, Experimental, Audio Visual [ MASSIVE / GET IT / BY ALL MEANS ]

Tracklist

1. SILLA 06:05
2. Levante 06:50
3. Librarsi 07:58
4. Aurumaris 11:25
5. Ponente 07:51
6. SILLA 11:43
————————————————————————————————————————————————————–
:§:omnium – Marinconia
————————————————————————————————————————————————————–

————————————————————————————————————————————————————–

Somnium - καταδεω

Artist – :§:omnium
Album – καταδεω [ * * * * * ]
Release Date – 2013
Genre – Ambient, Dark-ambient, Abstract / Obscure-ambient, Apocalyptic-drone, Minimal-drone, Post-rock, Experimental, Audio Visual [ MASSIVE / GET IT / BY ALL MEANS ]

Tracklist

1. Defixiones I (Imprecatio) 14:13
2. Katadeo 06:54
3. Defixiones II (Abraxas) 09:58
4. Defixiones III (Excrucio) 09:43
————————————————————————————————————————————————————–
:§:omnium – καταδεω
————————————————————————————————————————————————————–

————————————————————————————————————————————————————–

Somnium - Gelida Vampa

Artist – :§:omnium
Album – Gelida Vampa [ * * * * * ]
Release Date – 2012
Genre – Ambient, Dark-ambient, Abstract / Obscure-ambient, Apocalyptic-drone, Minimal-drone, Post-rock, Experimental, Audio Visual [ MASSIVE / GET IT / BY ALL MEANS ]

Tracklist

1. Gĕlāre 02:44
2. Algĭdusŏpŏr 04:51
3. Ănĭmānĕ 10:38
4. Lătĕbra 06:16
5. Borartica 12:10
6. Fortunale 10:49
7. Sublimare 03:38
————————————————————————————————————————————————————–
:§:omnium – Gelida Vampa
————————————————————————————————————————————————————–

————————————————————————————————————————————————————–

Somnium - Raffiche Polari

Artist – :§:omnium / ​Alenda
Album – Raffiche Polari [ * * * * * ]
Release Date – 2012
Genre – Ambient, Dark-ambient, Abstract / Obscure-ambient, Apocalyptic-drone, Minimal-drone, Post-rock, Experimental, Audio Visual [ MASSIVE / GET IT / BY ALL MEANS ]

Tracklist

1. Atmosfera Rarefatta 03:37
2. Gelida Vampa 07:36
3. Anima Eterea 06:50
4. Vento Sublime 04:20
5. Bora Glaciale 11:14
6. Prima Neve (Drudkh Cover) 10:07
7. Ibernazione Polare 14:38
————————————————————————————————————————————————————–
:§:omnium – Raffiche Polari
————————————————————————————————————————————————————–

————————————————————————————————————————————————————–

Somnium - Dissoluzioni​ ​Ossessioni

Artist – :§:omnium
Album – Dissoluzioni​/​Ossessioni [ * * * * * ]
Release Date – 2012
Genre – Ambient, Dark-ambient, Abstract / Obscure-ambient, Apocalyptic-drone, Minimal-drone, Post-rock, Experimental, Audio Visual [ MASSIVE / GET IT / BY ALL MEANS ]

Tracklist

1. Dissoluzioni 29:25
2. Ossessioni 29:25
————————————————————————————————————————————————————–
:§:omnium – Dissoluzioni​/​Ossessioni
————————————————————————————————————————————————————–

————————————————————————————————————————————————————–

Somnium - Arachnophobia EP

Artist – :§:omnium
Album – Arachnophobia EP (Short Drones X) [ * * * * * ]
Release Date – 2012
Genre – Ambient, Dark-ambient, Abstract / Obscure-ambient, Apocalyptic-drone, Minimal-drone, Post-rock, Experimental, Audio Visual [ MASSIVE / GET IT / BY ALL MEANS ]

Tracklist

1. Araneae 11:41
2. Scorpiones 10:47
————————————————————————————————————————————————————–
:§:omnium – Arachnophobia EP (Short Drones X)
————————————————————————————————————————————————————–

Somnium
————————————————————————————————————————————————————–


churchturing.org / 2014-07-24T06:38:50