Hacker News new | past | comments | ask | show | jobs | submit | yzmtf2008's favorites login
   submissions | comments

Personally, I found Antoniou & van Harmelen's "A Semantic Web Primer" to be very useful. I felt like it covered a lot of ground at just the right level- enough to explain what was going on and why, but not so much that it got bogged down in pointless detail. However, YMMV- I know some people who didn't care for it.

It's a little bit dated at this point, but Shelley Powers' "Practical RDF" was also helpful- but, again, I got a lot more out of it once I'd read Antoniou and had internalized the whole RDF thing at a "30,000 foot" level.

BTW, I just Googled for the Antoniou book to make sure I had remembered its authors correctly, and it turns out that one of the first results is a PDF version of the entire text. I don't know what it's doing up online, but grab it while it's hot. If it's helpful, Powell's has a couple of used copies:

http://www.powells.com/biblio/1-9780262012423-2


> "It is hard to overstate how many civilians suffered and died in war crimes perpetrated by Japan before and during the war"

I'll take a stab at it.

If one sums together the estimated deaths in Asia caused by Japan (https://en.wikipedia.org/wiki/World_War_II_casualties), both military and civilian, one gets totals in excess of 15-22 million. This compares to about 5 million dead in the Holocaust. So basically, Japan effectively committed 3 to 4 Holocausts, a fact not often remarked upon in these discussions. If we compare that to the roughly 0.25 million estimated dead from Hiroshima and Nagasaki combined, the US would have had to drop 40 more atomic bombs to catch up to the Germans and another 120-176 atomic bombs to catch up to the Japanese. (If one likes, they can subtract out military casualties or otherwise adjust the numbers but the ratios are still high.)

One should also factor in that the Nazis simply executed the majority of the victims of the Holocaust as efficiently as they could in concentration camps. The deaths inflicted during the IJA occupation, on the other hand was accompanied by rape and by torture, including on children, across significant parts of a continent. It's notable that even a diehard Nazi who was in China was so revolted by what he was witnessing that he intervened to protect civilians from the IJA: https://en.wikipedia.org/wiki/John_Rabe. Given the option, it doesn't seem unlikely that many of the IJA's victims would have preferred a death by nuclear blast; at least it would have been impersonal.

So, were Hiroshima and Nagasaki war crimes? I think it's not unreasonable to say that even if they were, they were negligible in the grand scheme of things.


What the Fed is doing will work very well, at some modest real cost later on (likely to the dollar, represented in the cost of things we import and commodities), if we are able to somewhat restart the economy in the coming months (and we will). The worst of the NY region's situation (which is overwhelmingly the primary problem in the US) will end in the coming weeks (it's ending now, represented in the plunge in hospital and ICU admissions; the deaths will lag though). The Spring and Summer heat will dramatically reduce the virus transmission, combined with practical ongoing measures like heightened rapid testing, distancing and quarantining (along with occasional lockdowns that will spring up due to burst outbreaks; we will likely get far more aggressive with tracking people regarding outbreaks). There's a decent chance we'll combat the virus short term with a serum therapy (might be able to considerably reduce the per case mortality rate over the coming year), and then a vaccine is definite later on.

The tangible cost to what the Fed is doing, is that they will effectively destroy low single digit trillions of dollars in wealth held in US dollars (picture household wealth at $100 trillion for this purpose, and then picture the Fed lighting $1-3 trillion of that on fire as a means to prop up the economy; they're debasing our national wealth in this process, drawing on it via their control of the dollar, to point it as a firehose at the fire; not exact figures, merely a conceptual representation). That damage is likely to be anywhere from one to a few trillion dollars in real losses that they'll see from their programs (only a portion of what they do will result in losses of real value, as in the actions taken by the Fed during the great recession; % losses will be higher in this case, as they're doing some wider, riskier things). They're trading that hit as a cost to prop the whole thing up until the economy can find its legs again.

It's absolutely the right approach. It's the only serious option, other than doing nothing (which isn't reasonable, but it's another option). It will not be without a cost. It will prevent a far, far worse catastrophic outcome. If unemployment peaks at ~14-18% (it's almost guaranteed to hit at least the 15% area somewhere, and soon), without the Fed's actions you could easily double that figure.

The US is incredibly fortunate in this case. The many choices of our ancestors, which made the USD the global reserve currency post WW2, we're cashing in that rainy day benefit right now. We've been irresponsible with our fiscal condition the past 20 years, so our primary fiscal back-stop is the US dollar on such a short notice desperate need (this is far beyond the great recession, in terms of extreme sudden need of dollars); using that is a form of a tax against the assets held in dollars and the productive output of the US economy.

There is a very plausible scenario where the US dollar sees little negative impact despite the trillions of dollars in magic printing the Fed is going to do. And that is: the other major currencies it is competing with globally, are all supported by economies being similarly smashed right now (Eurozone, China, Japan; and the Chinese Yuan has very little global footprint, so it's not very relevant to that context presently, it's really mostly the Euro). The global demand for US dollars right now is extreme, which pushed the dollar to a very high level recently. That dollar demand, for liquidity purposes, will relax later on as some normalcy returns with eg a vaccine (within ~12-18 months sometime probably), and then the dollar will see some fallout from what the Fed is doing now, that's when the long-term cost will begin to be represented in such things as consumer prices, commodity prices (priced in dollars), and so on.

People with assets will benefit tremendously from what the Fed is doing. The stock market would be anywhere from 1/3 to 1/2 lower than it is right now, if the Fed hadn't stepped in in an extreme way (and I don't like where the market is at right now at all, it's not properly pricing in the grinding damage we have to deal with over the coming year, it's temporarily buoyant on the Fed's sugar actions). This is the world's largest bailout for asset holders, and it also happens to be very necessary to preserve the economy until it can return to functioning properly.

The only approach that would have maybe been better, is if a national hold had been placed on all major firings, all mortgages and rents for N months (3 months initially). The Fed would then step in to pay that toll directly (ie prevent the fire, rather than try to put it out afterward), along with the Treasury doing various programs. That could have possibly prevented more damage than what we're doing now. The US system, legally speaking, doesn't allow for that kind of command-economy type action very easily though. So the Fed's moves, which were 'guns at-ready' and made possible by the great recession, were the best choice we had (if this were 2007 and it were happening then, the Fed wouldn't have been able to move as quickly; there was a lot of stumbling around in dark in the initialy days of the great recession, trying to figure out what the Fed was allowed to do and what made sense).

Long story short, the Fed is eating some of our national wealth to do what it's doing, that's the tax we're paying (and some of that is being paid by the rest of the world, as the dollar is the reserve currency and widely held). Instead of everyone selling off 1-3% of their wealth and handing that cash to a central authority to take bold actions, the Fed is doing a conceptually similar thing via 'stealth taxation' (aka inflation (which won't register near-term due to very slack demand), aka dollar debasement, aka printing).


Hillary didn't promise to hire an auditor over, and over for years, then hire an auditor, and then fire the auditor when things started going pear-shaped during the audit. Or, you know, have 30% of her email seized in an AML sting. My point is, the analogy falls over right quick.

I'm also not asking for proof of a negative (that Hillary didn't destroy her emails). I'm asking for proof of an affirmative. That Tether does have funds to back it's liabilities. Should be easy. Bring in KPMG, show them your bank accounts and have them attest to it.

If they do that I'll shout how wrong I was from the rooftops. I'm only asking them to follow through on their numerous, repeated promises over a half decade.

"We are aware of online discussions about Tether’s lack of publicly-available audits. Periodic audits of our bank balances have been performed by the Taiwan-based auditing firm TOPSUN CPAs & Co. The results of those audits were for the benefit of shareholders and were not in a form suitable for public consumption (to begin with, they were in Mandarin)" [1].

... they couldn't share these audits because they were in Mandarin?! Where on earth would they find a translator.

[1] https://tether.to/tether-update/


- 80+% of crypto exchange transactions aren't denominated in USD, but in USDT.

- USDT is a fictional currency invented by Bitfinex to make up for the fact they don't actually have access to banking because they're unbelivably shady.

- They got many other exchanges onboard since it effectively allows you to skirt AML and KYC regulations.

- Bitfinex is a shadowy cabal of truly dreadful market participants who mess around under the covers with Tether and use it to effectively control pricing. They print Tether and use it to buy BTC to drive the price up. They then sell BTC for Tether if they want to drive the price down.

- They promised for 5+ years that they'd get Tether's bank account audited but instead auditors up and quit.

- They had 30% of their assets seized in a money laundering sting but of course, the exchange rate remained 1:1 instead of 1:0.7

- The NYAG is suing them.

The price you see of BTC doesn't really reflect anything other than Bitfinex' manipulation. The rate of BTC inflation falling from 12.5BTC/block to 6.25/block affects miners and their ability to be solvent. Not much else.


Nobody tells this to people who are beginners, I wish someone told me. All of us who do creative work, we get into it because we have good taste. But there is this gap. For the first couple years you make stuff, it’s just not that good. It’s trying to be good, it has potential, but it’s not. But your taste, the thing that got you into the game, is still killer. And your taste is why your work disappoints you. A lot of people never get past this phase, they quit. Most people I know who do interesting, creative work went through years of this. We know our work doesn’t have this special thing that we want it to have. We all go through this. And if you are just starting out or you are still in this phase, you gotta know its normal and the most important thing you can do is do a lot of work. Put yourself on a deadline so that every week you will finish one story. It is only by going through a volume of work that you will close that gap, and your work will be as good as your ambitions. And I took longer to figure out how to do this than anyone I’ve ever met. It’s gonna take awhile. It’s normal to take awhile. You’ve just gotta fight your way through.

— Ira Glass


Very curious about this wonderful magic. How were you able to get the call stack from the strace line?

>Diamonds cannot be resold.

I wasn't aware of this. What's the rationale?


Blablacar | Software Engineer | Paris, France or remote in France | Full-Time

Blablacar connects drivers and passengers willing to travel together between cities and share the cost of the journey. The company has raised hundreds of millions of euros over the last decade and is profitable with a lot of room left for growth. The main technical challenges are optimizing matching algorithms, the addition of bus supply, and a rapidly growing tech organization that offers a lot of opportunities to learn. The stack is modern (mostly Java and PHP services running in Kube in GCP). We offer competitive packages, especially for France standards.

We are hiring backend software engineers to build the future of the platform. You can apply on https://jobs.smartrecruiters.com/BlaBlaCar/743999700774080-s... or reach out to me directly at antoine.tollenaere@blablacar.com.


> Democracy has been broken since the rise of technology and mass media.

I'm sorry, when was everyone equally franchised? Between Jim Crow, Women's Sufferage, and Civil Rights you've got what? The mid 60s to mid 80s as the heyday of American Democracy? Having Nixon smack in the middle of that doesn't really help the arguement.

If we define democracy as universal suffrage and equal vote weight, democracy has been more of an aspiration and less of a reality since the beginning of time. If you don't define democracy that way, then we're talking past eachother.



Throwaway account for obvious reasons.

I'm one of those operations people who have been required by a legal department to block access from sanctioned countries - I've literally written the HTTP rules to deny access to folks like the original author.

I think about how the infrastructure I write and operate creates situations like these, and while I know I'm partly to blame, it's worth highlighting that this is a by-product of United Stats policies that create pressure on US companies. I'm most certainly _not_ a lawyer, but if this sort of thing bothers you, be cognizant of candidate policies about technology if you want to help enact change - because I doubt most companies will provide services to these and other regions if it'll break export law.


I think you must be talking about CVE-2010-0232, it wasn't 90 days, it was more like 180. This was at a time when Microsoft refused to release kernel patches outside of service packs. I begged Microsoft at multiple in-person meetings at Redmond to reconsider and patch, they simply refused and said there were would be repercussions if I disobeyed.

After four months of negotiations, I told that I'm going to publish it whether a patch was available or not. This didn't have the effect I had hoped, they started threatening me instead. They called me and told me my career would be destroyed. In one particularly memorable call they told me that their PR and legal department only had two settings, "off and destroy" and (in a rather menacing tone) that they would "air my dirty laundry in public". I still don't know what that means.

I was shaken, but told them I'm still going ahead. They responded by calling everyone they knew at my employer demanding I was terminated.

There was a trivial mitigation, just disabling a very rarely used feature (vdm support for 16 bit applications). I made detailed documentation explaining how to enable the mitigation for every supported platform, and even made tutorial videos for Administrators on how to apply and deploy group policy settings.

Here are the instructions I wrote:

https://seclists.org/fulldisclosure/2010/Jan/341

And here's a video I made showing how to apply the policy to a Windows Server 2003 machine like yours:

http://www.youtube.com/watch?v=XRVI4iQ2Nug

I sent these detailed instructions to all the usual places that advisories are published. I included a test case so you could verify if the bug affected you and verify the mitigation was correctly deployed. As you can imagine, Microsoft were furious.

I know it's little comfort, but through some hard fought battles over the last decade we have reached the point that Microsoft can reluctantly patch critical kernel security bugs if given around three months notice. They still pull some dirty tricks to this day, you wouldn't believe some of the stories I could tell you, but those are war stories for sharing over beers :)

It sounds like your attackers compromised you with an outdated wordpress installation, then gained privileges with this vulnerability. I'm not sure I agree the blame here lies solely with me, but regardless, I would recommend subscribing to the announce lists for the software you're deploying. You could also monitor the major security lists for advisories related to the software you use. It's high volume and varies in quality, but you can usually identify the advisories that apply to you easily.


I don't get this. And by "this" I mean probably your entire worldview, but also whatever led you to make that comment. Here's how I see this situation:

People who actively maintain a project, and have done so with success for many years, notice something in the documentation that they think is outdated and perhaps a bit tasteless, hold a reasonable discussion about it like adults, and make a decision.

Someone who's at best an inactive emeritus contributor sees this and gets so worked up about it that he decides to risk severely alienating the actual technical contributors in order to override their decision in favor of his personal politics, and when asked to participate in the project's usual decision-making process pulls a Louis XIV ("le projet, c'est moi!") and invokes absolute authority while expressing an unwillingness to listen to any contrary opinions or arguments, resorting to clichéd insults about "trigger warnings" and such.

If you really feel you must argue that one of the parties involved here has "thin skin" (and I don't understand that, either) I do not see how you can, with any rational basis, come to the conclusion that it's the first group. I also do not see how there's anything admirable in the second person's response or actions.


Here's an easy way to understand how these things work: in C, the type of a pointer/function/array mess is declared by how it's used. For a declaration like "int ( * ( * foo)(void))[3]", you can read it as "for a variable foo, after computing the expression ( * ( * foo)(void))[3], the result is an int."

So one way to read C "gibberish" is to ignore the type at the beginning and parse the rest as an expression like a normal parse tree. First we take foo. Then we dereference it (so foo is a pointer). Next we call it as a function with no arguments (so foo is a pointer to a function that takes no arguments). Next, we dereference it again. Then we index into the result as an array. Finally, we reach the end, so we look at what the declared type and find that this type is an int. So foo is a pointer to a function that takes no arguments and returns a pointer to an array of 3 ints.

You can also use this to go backwards. What's the syntax for a function that takes an integer argument returns a pointer to an array of function pointers taking no arguments and returning integers? Well, we want to take foo, call it, dereference it, then index into an array, then dereference it again, then call it again, then return an int. Or int (* (* (foo)(int))[5])(void).


> The entire principle of Free Markets is underpinned by consumers having accurate information about the goods they are purchasing. Having licensing agreements that are expressly designed to prevent the dissemination of product-information, goes against everything that Capitalism and Free-Markets stand for.

I agree with where you are going but I entirely disagree with your description of Free Markets and Capitalism.

free market - an economic system in which prices are determined by unrestricted competition between privately owned businesses

There's nothing in there about consumers having accurate information. If anything, caveat emptor. Moreover, if you are a free market entrepreneur then the absolute last thing you want is fairness to your competition or fairness to your consumer. Those are costs of doing business, to be avoided if possible. Naturally, Larry is only trying to avoid them.

That's why we have regulation. That's why civilization has evolved to have government. That's why Libertaristan isn't on any maps. That's why The Fountainhead is such a misguided fantasy where entrepreneurs can do anything and it's always better and governments can do nothing and it's always worse.

Free Markets and Capitalism don't stand for anything. That's not even a criticism of them either. Civilization might stand for something although that something is a provisional something at best but then that provisional something is better than nothing.

The requirement for consumers having accurate information is a government regulation. In the United States, it's enforced by the Consumer Protection Agency. It isn't a free market requirement.


> I fought with him over stores as did virtually everyone on the board of Apple, and it turned out he was right.

He actually goes into depth about why Apple stores were necessary in a talk he did at MIT in 1992 [0][1]. Was it that he was not nearly as articulate in person with his team, as he was in this video?

EDIT: Luckily, the transcript is available. The money quote is:

" ... current distribution channels for the computer industry over the last several years have lost their ability to create demand. They can fulfill demand, but they can't create it. If a new product comes out, you're lucky if you can find somebody at the computer store that even knows how to demo it. So the more innovative the product is, the more revolutionary it is and not just an incremental improvement, the more you're stuck [in getting people to try learn about it enough to try it out]."

Here's a fuller quote:

There are some things I can't talk about here. In addition to that, if you look at how we sell our computers right now, we have a sales force in the US of about 130 professionals in the field out selling NeXT computers. They spend 90% of their time selling NeXTSTEP software, and then 10% of their time selling the hardware.

In other words, if they can get the customer to buy into NeXTSTEP, then they're going to sell the hardware, because right now we have the only hardware it runs on. So they are out there selling NeXTSTEP right now. And this is what is required to launch a new innovative product. The current distribution channels for the computer industry over the last several years have lost their ability to create demand.

They can fulfill demand, but they can't create it. If a new product comes out, you're lucky if you can find somebody at the computer store that even knows how to demo it. So the more innovative the product is, the more revolutionary it is and not just an incremental improvement, the more you're stuck. Because the existing channel is only fulfilling demand. Matter of fact, it's getting so bad, that it's getting wiped out, because there are more efficient channels to fulfill demand, like the telephone and Federal Express. So we're seeing the channel become condensed on its way to I think just telebusiness.

So how does one bring innovation to the marketplace? We believe the only way we know how to do it right now is with the direct sales force, out there in front of customers showing them the products in the environment of their own problems, and discussing how those problems can be mated with these solutions.

[0] https://infinitehistory.mit.edu/video/steve-jobs-next-comput...

[1] https://youtu.be/Gk-9Fd2mEnI


I've had success using C vector extensions in GCC and Clang [0]. With a simple typedef, you get a portable SIMD vector type and basic arithmetic operators working. It's compatible with platform-specific intrinsics (SSE, NEON, etc), check out this small example with some basic arithmetic and a few uses of intrinsics with it and what kind of compiler output it produces [1] (warning: I'm pretty sure the rcp/rsqrt/sqrt functions are wrong, this was just an experiment).

Here's the gist of it:

    typedef float vec4f __attribute__((vector_size(4 * sizeof(float))));
    vec4f a = { 1.0, 2.0, 3.0, 4.0 }, b = { 5.0, 6.0, 7.0, 8.0 };
    vec4f c = (2.0 * a) + (a + b * b);  // with -ffast-math, this will emit a fused multiply-and-add (FMA)
Note: if you look inside the intrinsics headers (xmmintrin.h, arm_neon.h, etc) supplied by GCC, you'll find that it uses these internally. E.g. _mm_add_ps(a, b) is defined as a+b.

I work with basic 3d math and physics, so I don't need that much and just having 4-wide vectors is good enough for me.

I've also found out that you can use vector widths that are not available in the target machine. E.g. 4 x double vectors work fine even without 256 bit registers, the compiler will split the vector and use two 128 bit registers and emit two instructions. This might also work for using 16 x float vectors for 4x4 matrices.

Some C++ overloading magic would be useful for naming things (e.g. no need for dot4f vs dot4d).

I've been trying to get some time to write an article about the ins and outs of using vector extensions, but haven't got there yet. Some effort would also be required to put together a decent library of basic arithmetic (dot, cross, quaternion product, matrix product & inverse, etc) as well as basic libm functions (sin, cos, log, exp). I haven't had the time to put together a comprehensive (and well tested) collection of these nor have I found any open source library that would do.

[0] https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html [1] https://godbolt.org/g/N9VvXZ


Real people rarely want war, they all want the same basic things: food and shelter, a good future for their kids, and to live in peace. This is universal over the whole world, unless they've had their minds poisoned by leaders with their own agendas, be it political or religious.

However, most people also don't really care that much about other people, especially in other countries. So they elect people to handle that for them, and then believe what they're told. Mark Twain's quote "Travel is fatal to prejudice, bigotry, and narrow-mindedness" seems fitting. With modern tech you can communicate with people all over the world without traveling (I'm in my underwear in Sweden right now for instance), which helps widening the gap between the "liberal elite" and the rest who feel left behind or that their country is taken away from them.

One thing that contradicts that in a way is the fact that a majority of the expat Turks living in Europe voted for the new referendum giving Erdogan much more power. More than 63% voted yes in Germany for instance.


This is a common phenomenon that's not very well known outside of immigrant communities. My family emigrated to the US from Russia in the mid 80s and quickly went hard-right, as did most of their cohort. Same for many Chinese immigrants to the US, Cubans, and I'm sure the list goes on.

I never completely understood this. I guess it's partly a kneejerk reaction to the nominally left-wing repressive regimes they left behind. Another component is probably a sudden immersion into a truly pluralistic society when coming from an intolerant and homogenous one. But still, I can't say I truly understand it.

I'm in my 30s and this is still a source of conflict between my family and me. They're lower-class "real people" who have a soft spot for despots on the Putin spectrum. Because while they're pro-democracy, they also think you need a "firm hand" to keep all "those people" in line, and by "those people" they mean people they can't or won't empathise with: poor black people, the stew of "educated degenerates" who refuse to have normal sexualities or lifestyles, muslims, and so on.


In adulthood, many prodigies become experts in their fields and leaders in their organizations. Yet only a fraction of gifted children eventually become revolutionary adult creators.

My daughter is being treated for Leukemia by some amazing doctors at Boston Children's Hospital. To my knowledge, none of the health care professionals at this world-class institution have won Nobel Prizes in medicine. All the same, for my daughter's sake, I'm still glad they hit the books for a couple decades.

There are great honor and value in doing an important job consistently and well. This idea that a life is wasted if you don't remake a field in your image seems hollow when these prodigies often end up with the power to save lives.


>People don't want to hear that, but those are the alternatives.

I wish we had politicians who would treat Americans as adults and tell them things they don't want to hear. We watched a whole country get swindled by a conman who promised a return to glorious 1958.

Nobody shed any tears for the horse-and-buggy industry, or the cotton-picking industry, cobbler industry, the millions of people who used to be employed in manual farming methods - why are suddenly people who used to be employed in factories this tender, can't-be-told-the-truth "protected" class of people we all must bow down to?

Yeah I get it - your father raised 4 kids in a white-picket-fence 2-car-garage house by pushing a button in factory, all while being barely literate and not being able to point out Canada on a map.

So those days are gone, forever - so what do we do going forward?

Instead, the entire country is now held hostage by the pissed-off, unable-to-accept-the-truth rust-belt blue-collar class who've been told they're the "real" America or whatever and are now dragging everyone else down with them. Wonderful.


Still can't work with proxy without some magic tricks at my office.

Still slow as hell.

Not sure if it can open large log files (Atom crashed whenever you try to open pretty small log file, like 60mb or something)

etc.

I don't get why whould anyone prefer this to Sublime, to be honest.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: