Stories
Slash Boxes
Comments

SoylentNews is people

Log In

Log In

Create Account  |  Retrieve Password


Pakistan student: 'I was tortured by hardline Islamists'

Posted by takyon on Thursday January 19 2017, @06:31AM (#2200)
2 Comments
News

Pakistan student: 'I was tortured by hardline Islamists'

A Pakistani student has said he was abducted and badly beaten by hardline Islamist students after posting tweets in support of five liberal bloggers who have gone missing. The student said he needed hospital treatment after he was blindfolded for several hours and tortured. No-one at Punjab University responded to his cries for help, he said.

Space Engine 0.9.8.0

Posted by takyon on Monday January 16 2017, @03:52AM (#2195)
4 Comments
/dev/random

http://en.spaceengine.org/index/faq/0-29

Q: Will there be a version for Mac and Linux?
A: Yes, this is planned for in the near future.

http://en.spaceengine.org/

The interface can be a little finicky, so be patient with it.

"Settings - View" allows you to turn on/off the procedurally generated galaxies, stars, clusters, nebulae, and planets. I prefer to have most of these off, except for planets. It will be fun to watch the datasets get updated over the next few years, allowing us to have actual depictions of real planets.

Click on objects to select them and get stats like diameter, mass, and distance away from your current position. Selecting an object displays crosshairs on it or an arrow pointing in its angular direction that allow you to find it more easily.

WASD for basic movement. Left click and drag to shift your viewing angle.

Use a scrollwheel to control your velocity. If you collide with a star, planet, asteroid, etc. your velocity gets reset to a low number. As you get closer to objects, you tend to zip past them unless you lower your velocity at the same time as you adjust your angle to approach it head on.

Right click and drag allows you to rotate around the object you're following. Right click on an object to get a menu that allows you to go to the object or follow it.

Magnifying glass icon is the Find Object/"Go to" menu. If you have procedural planets on, try going to "Kraz 7.4" (no quotes). Then right click Kraz 7.4 and select the Parent option.

Try going to:

  • Saturn
  • Pluto
  • Ceres
  • Dysnomia
  • Psyche
  • Pleiades
  • HIP 13484 3.D3
  • Alnitak
  • WOH G64
  • HIP 28285 5.S47

Democrats Roast Comey... After It's Far Too Late...

Posted by takyon on Saturday January 14 2017, @07:53AM (#2193)
5 Comments
News

Wasserman Schultz confronted Comey about Russian hacking

Uh oh. That Wasserman Schultz, huh?

Rep. Debbie Wasserman Schultz (D-Fla.), who was forced to resign last summer as head of the DNC amid the hacking scandal, told Comey that he should have come to her directly once the FBI was aware of the breach, just as he had done with other hacking victims. Comey, described by lawmakers in the room as unflinching and defiant, retorted that the FBI had properly notified DNC officials of the hacking.

"You let us down!" one Democrat yelled to Comey during the tense exchange, according to one attendee. Another Democrat described the scene: "Essentially Debbie asked, how was it that the FBI knew that the DNC was being hacked and they didn’t tell her? He gave some bulls--t explanation, ‘That’s our standard, we called this one, we called that one’ — [she said] ‘Well, why didn’t you call me?’ ”

And don't forget the guest host list:

The briefers at Friday's meeting included Comey; James Clapper, the director of national intelligence; CIA director John Brennan; and Mike Rogers, head of the National Security Agency.

It's hard to imagine such a small space with so many people to hate inside of it.

Rep. Alcee Hastings (D-Fla.) took those criticisms a step further, accusing Comey of a double standard that "without question" makes him unfit to keep the position. "I have a great belief that the agency is a good agency, [but] I have a stronger belief that James Comey has done this nation a terrible disservice," he said. "I hope that Donald Trump fires him," Hastings said. "More important, he ought to resign.

Come on, Trump! Fire!

Justice Department inspector general to investigate pre-election actions by department and FBI

I guess I would keep my answers short too, if I were in his position.

The Hill didn't mention this bit:

The hearing took place a day after the Justice Department’s inspector general said it was investigating Mr. Comey’s decision during the campaign to hold a news conference announcing the end of the case — and then, just before the election, inform Congress there was possible new evidence only to say days later that it did not amount to anything.

Mr. Comey “didn’t really answer,” said Representative Jerold Nadler of New York. He dismissively referred to Mr. Comey as “a policeman,” and added, “I don’t remember anything substantive he said.”

Garbage in, garbage out! He should have recorded the meeting.

I, like a few Soylentils, hated Comey some time before he became a household name with the Apple unlock fiasco and election shenanigans. Much like I hate Clapper, Brennan, Rogers, and will have a new list of people to hate soon. What do you think of Comey today?

Pressure Cooker, Induction Heater, systemd, PHP and MySQL

Posted by cafebabe on Friday January 13 2017, @08:55AM (#2192)
10 Comments
Hardware

Every year between Christmas and New Year, there is a geek gathering in Germany organized by the Chaos Communications Club. Talks are available on their website and I've taken the opportunity to trawl through the archive. One of the more accessible projects is an ongoing attempt to make a cooking machine which combines weighing scales, slicer, rice cooker, pressure cooker and sous-vide cooker. That's a sensible idea. However, the implementation is barking mad. Version 1 and version 2 are described in a 54 minute talk from 2012. Version 3 and version 4 are described in a 39 minute talk from 2014. I prefer version 2, especially given that a potential investor requested the second prototype then said something akin to "I wished you hadn't shown me this."

I have extreme misgivings about the placement of a Raspberry Pi - a credit card computer with no ECC RAM or other safeguards - in the proximity of heat and magnetic fields. This isn't just a means of bootstrapping. The entire design philosophy is about dangerous kludging and shows neither expertise in hardware or software. Another blown 1.2kV transistor? That was an impressive noise. Control software written in PHP. XML configuration deprecated in favour of MySQL Server. Thankfully, they're not completely mad and strongly discourage (intentional) remote control of the machine. Also, there is consideration for an emergency stop button, as defined in ISO 13850. However, if they want to rank recipes by use then the control systems (running systemd) will be communicating on the public Internet. And I don't have any faith that it'll be achieved securely and competently.

"A watched pot never boils"? Perhaps that'll become "A watched IoT pot never explodes."

New PERVERTED Trump and Russia Allegations (1/10/2017)

Posted by takyon on Wednesday January 11 2017, @04:11AM (#2189)
19 Comments
News

GOLDEN SHOWER? (NSFW)

Quick version and PDF link to the meat.

Previously, Senator Harry Reid alleged that there were ties between the Russians and the Trump campaign:

In my communications with you and other top officials in the national security community, it has become clear that you possess explosive information about close ties and coordination between Donald Trump, his top advisors, and the Russian government — a foreign interest openly hostile to the United States, which Trump praises at every opportunity. The public has a right to know this information. I wrote to you months ago calling for this information to be released to the public. There is no danger to American interests from releasing it. And yet, you continue to resist calls to inform the public of this critical information.

That letter went beyond previous remarks by Reid.

Now, multiple sources are reporting that President Obama and President-elect Trump have been briefed on unsubstantiated allegations of collusion between Russia and the Trump campaign, and that the Russians have damaging information about Trump:

Two U.S. officials with direct knowledge told NBC News on Tuesday that briefing materials prepared for President-elect Donald Trump included information that initially circulated among Trump opponents and was passed to U.S. intelligence agencies making damaging allegations about his dealings with Russians.

Neither of the officials said the FBI was actively investigating the information, which has not been verified by U.S. agencies.

Politico:

On Tuesday evening, multiple reports attributed to anonymous sources contended that the nation’s four top intelligence chiefs informed President Barack Obama and Trump of allegations that Russia had collected compromising and tawdry personal information about the president-elect. A two-page synopsis also included allegations of a running exchange of information during the campaign between Trump allies and Russian government intermediaries.

After the first report surfaced, BuzzFeed published the longer, unverified document that formed the basis of the two-page synopsis to the official report, which had been classified, that details the kompromat in graphic terms. Sean Spicer, who will serve as Trump's White House press secretary, called BuzzFeed "pathetic" in a tweet Tuesday night, part of a coordinated pushback from allies inside and outside Trump Tower.

Buzzfeed article, and the document (direct PDF link) they published that other media outlets seem reluctant to touch:

Russian regime has been cultivating, supporting and assisting at least 5 years. Aim, endorsed by PUTIN, has been to encourage splits and divisions in western alliance

So far TRUMP has declined various sweetener real estate business deals offered him in Russia in order to further the Kremlin's cultivation of him. However he and his inner circle have accepted a regular flow of intelligence from the Kremlin, including on his Democratic and other political rivals

Former top Russian intelligence officer claims FSB has compromised TRUMP through his activities in Moscow sufficiently to be able to blackmail him. According to several knowledgeable sources, his conduct in Moscow has included perverted sexual acts which have been arranged/ monitored by the FSB

A dossier of compromising material on Hillary CLINTON has been collated by the Russian Intelligence Services over many years and mainly comprises bugged conversations she had on various visits to Russia and intercepted phone calls rather than any embarrassing conduct. The dossier is controlled by Kremlin spokesman, PESKOV, directly on PUTIN's orders. However it has not as yet been distributed abroad, including to TRUMP. Russian intentions for its deployment still unclear

[...] However, there were other aspects to TRUMP's engagement with the Russian authorities. One which had borne fruit for them was to exploit TRUMP's personal obsesslons and sexual perversion in order to obtain suitable 'kompromat' [compromising material] on him. According to Source D, where s/he had been present, TRUMP's (perverted) conduct in Moscow included hiring the presidential suite of the Ritz Carlton Hotel, where he knew President and Mrs OBAMA {whom he hated] had stayed on one of their official trips to Russia, and defiling the bed where they had slept by employing a number of prostitutes to perform a 'golden showers' (urination) show in front of him. The hotel was known to be under FSB control with microphones and concealed cameras in all the main rooms to record anything they wanted to.

[...] PRESIDENTIAL ELECTION: FURTHER INDICATIONS OF EXTENSIVE CONSPIRACY BETWEEN CAMPAIGN TEAM AND THE KREMLIN

Summary

- Further evidence of extensive conspiracy between campaign team and Kremlin, sanctioned at highest levels and involving Russian diplomatic staffbased in the US

- TRUMP associate admits Kremlin behind recent appearance of DNC e- mails on WikiLeaks, as means of maintaining plausible deniability

- Agreed exchange of information established in both directions. team using moles within DNC and hackers in the US as well as outside in Russia. PUTIN motivated by fear and hatred of Hillary CLINTON. Russians receiving intel from team on Russian oligarchs and their families in US

- Mechanism for transmitting this intelligence involves ?pension? disbursements to Russian emigres living in US as cover, using consular officials in New York, DC and Miami

- Suggestion from source close to TRUMP and MANAFORT that Republican campaign team happy to have Russia as media bogeyman to mask more extensive corrupt business ties to China and other emerging countries

[...] In terms of the intelligence ?ow from the TRUMP team to Russia, Source reported that much of this concerned the activities of business oligarchs and their families? activities and assets in the US, with which PUTIN and the Kremlin seemed preoccupied.

Trump tweeted: "FAKE NEWS - A TOTAL POLITICAL WITCH HUNT!", presumably in response to the Russia news.

The Trump team is starting to criticize Russia more:

The Trump transition team circulated Tillerson's opening statement to be delivered during his Senate confirmation hearing. In them, he will explain to some extent why Trump has been in favor of a warmer relationship with Moscow, saying Washington needs an open and frank dialogue with Russia on its ambition in order for the United States to chart its own course.

But his rhetoric expressing concern about Russia goes beyond Trump's own frequent expressions of the need for better ties with Russia after what he feels was a bungling of the relationship by outgoing President Barack Obama. "Our NATO allies are right to be alarmed at a resurgent Russia," Tillerson will say. "But it was in the absence of American leadership that this door was left open and unintended signals were sent."

Red States

Posted by The Mighty Buzzard on Tuesday January 10 2017, @08:31PM (#2188)
20 Comments
/dev/random

Found a story about my... well not my home town but the town you have to go to from my home town for anything besides gas, beer, or religion. Turns out Nick Cage's rental car broke down there and he had a thing or two to say about the place. See, that's what I mean when I say to folks who only see what my views on politics and other big shat are, you don't know me at all.

This kind of shit is just another day in a red state. If someone comes up and says you owe them something that you don't, you laugh and punch them in the face but if you see someone in actual need, you help your fellow man because it's the right thing to do and because you might need a hand too some time. In a place where most everybody grows up poor and having to work their ass off to get by, you help each other because it's just what you do. Nick could have broke down a half mile from where he did over by the meth dealers and he still would have gotten the same reception.

CES 2017 on Acid

Posted by takyon on Monday January 09 2017, @07:07PM (#2187)
1 Comment
/dev/random

A CES story worth a damn, but not because it can be confused with journalism:

I Dropped Acid and Saw Into the Future: My Surreal First Time At CES

Hillary For Mayor

Posted by takyon on Saturday January 07 2017, @03:04AM (#2186)
4 Comments

Setting Sensible Compiler Flags

Posted by cafebabe on Thursday January 05 2017, @05:10AM (#2183)
9 Comments
Code

Compiler flags have become horribly sub-optimal and can be greatly improved for small computers and virtual hosting. The lazy case:-

gcc -O3 foo.cc

should be strictly avoided. Assuming this is run on a computer with 1GB RAM, this is functionally equivalent to setting some of the flags to:-

gcc --param ggc-min-heapsize=131072 --param ggc-min-expand=100 -fno-strict-overflow -fsigned-zeros -fsignaling-nans -ftrapping-math -fdefer-pop -fno-omit-frame-pointer -fno-stack-protector -fearly-inlining -finline-limit=1200 -fno-merge-constants -fgcse-lm -fgcse-sm -fgcse-las -fgcse-after-reload -fira-region=mixed -fsched-spec -fsched-spec-load --param max-hoist-depth=30 --param max-inline-recursive-depth=8 -freorder-blocks -freorder-functions -falign-functions=1 -falign-loops=1 -falign-labels=1 -falign-jumps=1 -ftree-ch -ftree-loop-distribution -ftree-vect-loop-version -fipa-cp-clone -ftracer -fenforce-eh-specs foo.cc

This is probably not what you want. After spending four months or so of intensively compiling code for systems with small RAM and small processor cache, these flag options look grossly inefficient. If you're doing cloudy computing, credit card computing or working on any system with multiple cores then you'll very probably want to specifically set many of these flags to something more like:-

gcc --param ggc-min-heapsize=32768 --param ggc-min-expand=36 -fstrict-overflow -fno-signed-zeros -fno-signaling-nans -fno-trapping-math -fdefer-pop -fomit-frame-pointer -fstack-protector-all -fno-early-inlining -finline-limit=4 -fmerge-constants -fgcse-lm -fgcse-sm -fgcse-las -fgcse-after-reload -fira-region=one -fno-sched-spec -fno-sched-spec-load --param max-hoist-depth=6 --param max-inline-recursive-depth=0 -freorder-blocks -freorder-functions -falign-functions=64 -falign-loops=64 -falign-labels=1 -falign-jumps=1 -fno-tree-ch -fno-tree-loop-distribution -fno-tree-vect-loop-version -fno-ipa-cp-clone -fno-tracer -fno-enforce-eh-specs foo.cc

Depending upon what is being compiled, this can reduced stripped binary size by 1/3 or more. 4/5 has been observed in optimistic cases. Furthermore, this is not at the expense of speed. Execution time for regular expressions can be reduced by 22% and execution time for SQL stored procedures can be reduced by 45%. Compilation time and memory can also be reduced to the point that it is possible to self-host within 512MB RAM. As an example, with the addition of --no-keep-memory --reduce-memory-overheads to minimize compiler state, compilation of clang-3.8.1 using gcc-4.9.2 goes from exhausting a 2GB application space to requiring 360MB RAM.

The philosophy is to squeeze as much code into L1 cache while reducing cache misses. In many contemporary cases, L2 cache and L3 cache doesn't exist or has contention with hundreds of simultaneous users, possibly to the extent that cache affinity cannot be utilized. In such cases, available L3 cache may be smaller and slower than L1 cache.

Anyhow, let's pick off some quick wins. gcc and clang have multiple register allocation strategies. gcc's default is a nice conservative choice which compiles legacy code without being pathological. Unfortunately, for contemporary systems, this is a completely borked setting but it can be easily rectified with -fira-region=one. A setting which notably reduces compilation time is --param max-hoist-depth=6. I am under the impression that this setting reduces the bound for moving stuff out of loops. Why would we reduce this? It is, unfortunately, an O(n^2) process and code has to be seriously awful to require more than six hoists. A pathological case would be useless code inside nested XYZ loops. If you're compiling that then your program deserves to run slowly. Anyhow, reducing this bound makes a difference to compilation time without significantly affecting output. In combination with -fno-early-inlining, -fno-tree-vect-loop-version, -fno-ipa-cp-clone and -fno-tracer, program footprint can be reduced to the extent that compilation and execution time outweighs any disadvantage.

Perhaps some of these flags should be explained in more detail. Compilers typically perform a number of transforms on a program. Some of these transforms may be performed multiple times. A transform may be scheduled two or more times in a row or a transform may be repeated after many other transforms are applied. One of these transforms is inlining. In this case, it is typical to place the code of small subroutines directly in the place where they called. This saves a call and return. It also allows each inlined instance to be optimized into the surrounding code. For example, if each invocation uses a different constant, inlined copies may be optimized accordingly. -fno-early-inlining cuts out a transform which bloats compiler memory usage, compiler execution time, compiled program size and (unless you have exclusive use of a fat L3 cache) binary execution speed. Early inlining is a great optimization for a desktop application but it is a hinderance for almost every other case.

Another transform is loop unrolling. In the trivial case, a loop which iterates a fixed number of times can be re-written by a compiler. The content of the loop is duplicated a fixed number of times. This eliminates comparisons and branches. It also eliminates use of a loop register. Therefore, the contents of the loop (and functions called (or inlined)) have more registers available. Unless the number of iterations is high, this is a great optimization for processors with no instruction cache or very large caches. It is, however, counter-productive for systems with small caches or very high cache contention. In addition to unrolling there is vectorization. In this case, a compiler will attempt to perform pipelining and/or use SIMD instructions. Where it is not possible to determine alignment of vectorization at compilation time, gcc emits aligned and unaligned versions plus conditional code. This bloat can be inhibited with -fno-tree-vect-loop-version. And modification to the entry point of a partially rolled loop can be inhibited with -fno-tree-loop-distribution.

-fno-ipa-cp-clone inhibits currying. Currying is highly encouraged for interpreted languages. However, for a native binary running through a processor with a tiny instruction cache, it is a hindrance. With -O3 compilation, the default is to make multiple copies of functions which are deemed too large to inline and perform optimizations on each copy anyhow. This is inhibited with -fno-ipa-cp-clone. Admittedly, where functions are not curried, a processor performs extra work. However, it is assumed that clock cycles taken to perform extra work are less than clock cycles wasted by instruction cache misses and/or virtual memory paging. In practice, currying is useful for compilation of desktop applications and dedicated server applications but not useful elsewhere.

-ftracer is another source of bloat and interacts particularly badly with C++ templates. In this case, a compiler provides a separate function exit point for every conditional code path. The mass elimination of dimers allows a very large amount of flexibility with optimizations. However, this occurs at the expense of significant bloat. Such bloat is likely to be counter-productive away from a desktop environment. You may wish to apply -fno-tracer (and -fno-ipa-cp-clone) selectively. For example, on a mixed C/C++ project, such as MySQL Server, -fno-tracer (and -fno-ipa-cp-clone) works well when only applied to the C++.

--param max-inline-recursive-depth=0 inhibits unrolling of recursive functions. The recursive version of loop unrolling probably works really well on a Xeon but, on armv6t, it blows goats.

-fgcse-lm -fgcse-sm -fgcse-las -fgcse-after-reload prevents particularly boneheaded sequences of instructions occurring even when -O3 is replaced with -O0 or -Os. (We have a script with this functionality. This allows self-hosted compilation of MySQL Server 5.7.15, clang-3.8.1 and suchlike within 256MB RAM.) Similarly, -fdefer-pop redundantly retains a useful speed and size optimization when other optimizations degrade. For your purposes, it is very probable that these flags can be omitted without adverse effect.

-fno-signed-zeros allows additional float optimizations by assuming that IEEE754 +0.0 is equivalent to IEEE754 -0.0. -fno-signaling-nans -fno-trapping-math reduces bloat by eliminating divide by zero checks and suchlike which your interpreter, database or whatever should handle anyhow with application-specific code. -fstrict-overflow is badly named but enables additional integer optimizations on the assumption that undefined integer behavoir is not exploited. In practice, stuff like incrementing the largest integer still leads to undefined behaviour such as integer wrap-around.

It should be noted that -fstrict-overflow -fno-signed-zeros -fno-signaling-nans -fno-trapping-math -fmerge-constants -fno-enforce-eh-specs is strictly against C and C++ specifications. In practice, tolerant code and debug builds catch most of the problems. One exception is that python tests note the non-conformance of integer and float mathematics. Whereas, perl incurs no such problems and obtains faster execution speed. Whatever.

-fno-sched-spec -fno-sched-spec-load inhibits some shocking behaviour. Assuming a large cache and an advanced processor, there exist cases where it is beneficial to fetch data before a branch occurs. This remains beneficial even when one of the two code paths doesn't use the fetched data. What actually occurs on a processor with out-of-order execution is that a request to load a register occurs, a decision to perform a branch occurs, then a code path may use the data. In this case, data may be obtained partially or fully in the period taken a branch and subsequent instructions. That's the ideal case. On a simpler processor or a heavily loaded server, a costly and unnecessary cache miss is likely.

Parameters with magic numbers may not be optimal. These numbers are based on random walks and exponential decays - but tweaked for pragmatic reasons. I'd like to perform A/B testing to get empirical improvements.

-falign-functions=64 -falign-loops=64 -falign-labels=1 -falign-jumps=1 greatly improves execution speed on ARM6. Unfortunately, it bulks binaries by about 5% and this cost is potentially pushed to virtual memory. However, where RAM is sufficient, these parameters minimize cache line usage. Some ARM processors only have 128 cache lines. This can be maximized by aligning functions and loops to cache line boundaries. A worked example follows. An 80 byte loop without alignment may be placed across three cache lines. For example, 4 bytes at the end of one cache line, 64 bytes fully occupying one cache line and 12 bytes at the beginning of another cache line. This arrangement unnecessarily increases cache contention. If the loop is always placed at the start of a cache line, the total number of cache lines can be minimized. Technically, all four parameters can be set to 64 but this would bulk programs by another 5% while providing minimal gains. Conceptually, only back branches require alignment. So, subroutines, for and while are aligned. if, else, break, try and catch are unaligned. Consider the case of else inside a for loop. Both halfs of the condition will eventually be cached and therefore the total length of the loop is more important than alignment of its constituent parts. Indeed, for nested loops, I wish that it was possible to only align the outermost loop.

Inspiration for cache alignment comes from an explanation of the Dalvik virtual machine interpreter. In this case, Java bytecode re-compiled into Dalvik bytecode may run faster on an ARM processor even when not using Jazelle hardware acceleration. The trick hinges on one instruction: a jump indirect with six bit pre-scale. This is placed at the end of one cache line. This allows interpreter code for each trivial Dalvik instruction to fit within one cache line. In practice, relatively few cache lines are required to implement common Dalvik instructions. This makes a bytecode interpreter practical even on processors with 128 cache lines. Overall, this arrangement degrades gracefully and incurs less cache contention than Jazelle's partial hardware implementation of Java.

64 byte alignment will also work on x86. However, Intel instruction dispatch circuitry typically works on 16 byte chunks (with or without alignment). Therefore, smaller alignment or no alignment may be optimal on x86. However, if you want to set and forget one lot of flags, the suggested ones are likely to be an overall gain across multiple processor architectures.

Hipsters Broke My Gaydar

Posted by takyon on Tuesday January 03 2017, @09:36AM (#2182)
6 Comments
/dev/random

Hipsters Broke My Gaydar

Millennials ruin everything!