skysight-inc/HackerNews huggingface dataset:
the dynamic is something like

- sun-belt city has a lot of young people moving to it, not so many kids, not much infrastructure

- city hires young workers, builds infrastructure, assumes a high return to pension funds

- city has older people over time, more kids, more infrastructure, needs to raise taxes

- taxpayers resist, city assumes even higher return on pension funds, raids pension funds to balance budget

- early hires are ready to retire, pension is broke, taxes go up

- taxpayers move away to new city or suburb, sun-belt city faces rust-belt city dynamics and can't afford pensions

financial market returns have if anything been unusually good the last 30 years regardless of the crisis, volatility, financial sector shenanigans... if you see a true bear market like the 70s God help those new rust belt places.

whatever the problems with the financial sector, there's an unstable dynamic where new growing places have a virtuous cycle, and once you cross a threshold and growth slows, it reverses and you have a vicious cycle of decline.
Small Business Saturday: The Antithesis of Black Friday
As others have said, you can recover the notation exactly through category theory
What I’ve learned from sitting next to a pro salesman
There isn't much complexity and performance cost of optimistically using a faster hash, and dynamically falling back to siphash (or another secure keyed hash function).

Using associative arrays implemented via chaining, one could have a bit in the associative array header that indicates if the associative array uses the fast keyed hash or siphash (or another secure hash). When inserting an item, if one finds that the chain length exceeds a certain limit without the load exceeding the resize threshold (indicating poor hash distribution), one could rehash all of the keys using siphash.

An associative array using open addressing could do something similar, switching hash functions if the probe sequence got too long (analogous to a chain being too long).

Alternatively, if using open addressing, one could use something like cuckoo hashing. A very fast keyed hash could be computed, and upon a collision, siphash could be used, with a probe sequence similar to used by Python dicts. Though, if your use case has lots of missed lookups, then performance will be better just using siphash. Of course, one could use counters to detect this condition, set a bit in the associative array header to indicate all future lookups should just use siphash, and rehash all of the existing keys.
Eric Lippert did a great series on covariance and contravariance and how they are implemented in C# and various design decisions which went in to it. I would highly recommend it if you use C#.

http://blogs.msdn.com/b/ericlippert/archive/tags/covariance+...
I quite like Go and I'm writing a lot of it these days, but this is one part I really hate.

Some of what you gain by its lauded "simplicity", you give back with type system wrestling.
I honestly doubt we can raise the marginal tax on income (even just income over $1M a year) to over 50%. Not in the foreseeable future at least as far as the US is concerned.
"8-bit" and "Organ" are two mutually exclusive options, you can switch between them by using 'i' and 'u' respectively.
I don't use TrueCrypt myself, and haven't followed what's happening with it in any detail, but I'll comment on the general question here: why do you need to keep up to date with vulnerabilities in order to keep secure.

First, nothing is ever totally secure. If a system gets audited today, the best the auditors can say is that to the best of their knowledge, the system has either no flaws, or list the vulnerabilities they know about. There might be vulnerabilities they missed. Some of the unknown ones might be blatant (say, a backdoor), or very subtle. When the unknown ones are found later on, and become public, the only way to not be vulnerable to those is to update.

Second, a system may become vulnerable later by the environment around it changing. This might be, for example, a change in the compiler (you rebuild for a new platform, and the kernel introduces a vulnerability), or in the language interpreter, or some library that the software uses, or the operating system kernel, or something else. It might be that you upgrade the CPU and the hardware random number generater on the new CPU is worse than in the old CPU. It might be that you move your system from physical hardware you control to a virtual machine you rent, thereby violating security assumptions made by the software.

A system, or software, that is never updated stays still, and never gets better, while potential attackers learn more tricks and more ways to attack. Sooner or later they'll find a way to attack any stale systems.

And that is why updating is important for security.
Which is one reason that most private companies now offer defined contribution plans rather than defined benefit plans. That way a worker isn't dependent on the foresight, goodwill, or even existence of his past employer for his retirement. It is a far better for everyone involved. And if workers are nervous about investing these contributions into risky instruments they can use them to buy deferred annuities from AAA rated insurance companies and build their own "pensions".
When evaluating techs to make our frontend evolve, I looked at cycle. It seems genuinely interesting, and much more FRP than React+Flux, but it doesn't seem to have a lot of traction.
I did the same for a few months earlier this year. It was theoretically a decent sum of money here (3rd world SE Asia) if you could do the minimum amount of hours they require.
If by "consumption culture" you mean "sales", then yeah.
Many of these cities that have declined and lost tax revenue have done so because the industry they surrounded upped and left to China/Central America.

The industry left for China because, again, the government is placing the interests of financiers over the interests of average Americans.

They do this by following a strong dollar policy (the polar opposite of China's weak yuan policy).
>While bar exam pass rates in other states range from 18% to 33%, Washington state has a surprisingly high pass rate, at 56%. Washington’s state bar, more than any other state’s, provides extensive support for students who choose to apprentice, including a volunteer network who sets study standards and monitor progress. Last year, these resources resulted in 67% of Washington apprentices passing the bar exam, nearly as high as those who graduated from ABA-accredited schools.

So where is the support network for people trying to learn our field in depth through self study? As nice as HN/Reddit/etc all are, they're not really a replacement for a study in the rigorous theory foundations that let you break away from having your career defined by one transient technology after another.
Codechef Code, Compile and Run
> They could pay for it with a part time job.

Still can. I graduated within the last 5 years. My sister and I both waited tables throughout college and got out of undergrad (and for her, also a two year grad program) without debt.

I lived solo, bought a car, and went to state school in that time. I came out with enough of a savings buffer for a ~1 year job search.

State school, ~20-30 hours a week waiting tables (worked summers at a summer camp for less money than waiting).

What you can't do is pay sticker price at a private university, but that's a red herring because almost no one pays sticker.

The average debt of a student coming out of undergrad in the US is <$30K[0], and the median income is $45K[1].

Please, have your way with my anecdata, but I'd be much more interested in the argument that a $30K debt load for someone earning $45K is crippling.

[0] http://www.usnews.com/education/best-colleges/the-short-list... (average is in the sub-headline)

[1] http://time.com/money/3829776/heres-what-the-average-grad-ma...
move 100, 50 moves to right and down

Best of luck!
Me too. Thought is more fluid; putting it into words concretizes it, collapses the possibilities of the waveform. Somewhat, formalizes it.

Words are a serialization format for thought. There are different formats; there are also different bindings possible for the same information in the same format. Grammars are used to describe both. Actually, important early work on regular and context free grammars was done by a linguist.

Of course, none of that shows that thought is analogous to graphs of data structures. But I suspect if we ever develop direct brain-to-brain communication (i.e. prelinguistic telepathy), we'll see similar problems to interoperating programs written by different people at different times in different contexts for different purposes.
Saudi Arabia: an ISIS that has made it
Ask HN: What is your workflow?
Editor, development environ, OS, obscure bash aliases, personal routines, code review/issue tracking; I want to hear it all!
I don't know about that. Going to standford, MIT, Harvard, etc. really helps you get ahead. Look at the Google executive list and their schools.
Medium quality, really. But it was neglected and bad for no reason, no tradeoffs.
Writing genomes, once we can do it, will be the technology that drives this century (sorry, nodejs). Imagine printing a bamboo tree programmed to grow into a bed frame.
> Same logic applies for the Arabic/ Islamic Golden age astronomers who were dependent on previous Indian

Yes, but bookstores are not filled with books written by Muslim historians. There is only side to the story being presented, and that's what annoys me.
You can't deny a Stanford CS degree will go further at pedigree obsessed firms (like Google) than a Humboldt State CS degree.
Why do you have to care about all that? Just pick a random number and start incrementing++ from there. I don't see how this would yield any more collisions than a PRNG? Just because you move across the ID space sequentially instead of in an obfuscated pattern doesn't really mean there's a higher chance of picking the same ID twice?

(My argument here, really, is that using a PRNG at all sounds pretty crazy for ID generation, if you don't take steps to prevent or detect collisions)
Kids cost money either way. You probably decided having kids would be worth it for you. What is 3 unpaid months - let's say 30000$? That is nothing compared to what you'll pay for your kid over time.
Reversing dependencies with pluggable factories
These days you can just run strace and see all the OS calls.
Why this? Why not measure empirically based on how often people follow your first result?
PHP static code analysis vs. ~1000 top WP plugins = 103 vulnerable plugins found
The Phi has it's own OS running on it.

It will also be sold in stand alone chips soon
> The top 0.1% have as much as the bottom 90%

False.

Some claim that the top 1% have as much as the bottom 90% but even that claim is disputed.

http://www.vanityfair.com/news/2011/05/top-one-percent-20110...
Paris Attacks Fan Encryption Debate
Kill Shot Bravo v1.0 Hile Mod Apk İndir
I don't see how being able to write DNA will give you the ability to grow bamboo bedframes.
I've literally never heard of Vhash, and I see no references to it outside of the 2007 paper. As far as I know, the state of the art for "fast and secure" is still SipHash 2-4 or 2-3.

While SipHash perf is generally quite good, it's still not as fast as Fnv on small inputs or XxHash on large inputs. As in, 4x slower [0]. FarmHash has great perf if you can invoke it in the way it wants, but doesn't do well in a streaming context.

[0]: http://cglab.ca/~abeinges/blah/hash-rs/
Sure, the apprenticeship path has much less non dischargeable debt, but you still need to find a job to make ends meat, or hope that the lawyer you're apprenticing with pays you a living wage.

I've often thought that at least in CA, where the apprenticeship path could pay off would be competing for jobs against the lower ranked schools like Santa Clara, USF, Pacific, Davis, etc. It can be much harder (due to the glut of law school grads) for graduates of programs like those to find jobs, unless they graduated at the top of their class. The apprenticeship path might help your resume stick out compared to the mass of middle of the road grads from those schools.
Yes but I think you might also find that a lot of times this mental abstraction/short hand is where bias lives. This is why it's so effective to verbalize problems. You frequently see patterns and logical fallacies only once you verbalize a train of thought. Therapy in general is a great example of this, but also the "rubber ducky trick" in software where you explain the problem to an imaginary rubber ducky sitting on your monitor (or call over a colleague and explain it to them etc.) and you magically figure out the problem just by verbalizing. Happens all the time for me at least, speaking of bias :)
> (I'm not sure about actuaries, if you studied math on your own, could you enter the actuarial field? Not sure about this one).

Yes, anyone can take the exams, there are a handful. And if you pass them all nobody really cares about your degree. But from what I gather you'd better be pretty sharp to pull it off.
I agree with you. I also like being "closer to the machine" so to speak. One day, my dev browser will support ES6/7 and I won't need babel + webpack/browserify while doing locally development, debugging will be done on unmunged code and TDD will be easy to practice as the feedback loop will be back to normal.
Conferencia a Ecoreus Salut Natural Amb Kinesiologia Aplicada,Lorenzo Arroyo
Syria secretly sentenced free software developer Bassel Khartabil to death
I didn't expect this:

"This is a key rule: function return values can changed to subtypes, moving down the hierarchy, whereas function parameters can be changed to supertypes, moving up the hierarchy."

The part allowing a super type in an overridden methods parameters stood out. I tried this out in scala and it did not compile. Intuitively it doesn't make sense to me to allow wider types.
> if you studied math on your own, could you enter the actuarial field? Not sure about this one

Yes (edit: accidentally said the opposite of what I meant!). What you need to be able to do is pass the exams. BUT -- plenty of people with math degrees fail these exams. It's a hell of a lot harder than learning how to hack together a RoR site.

See e.g., various discussions on http://www.actuarialoutpost.com

You can also e.g., fill a number of supporting roles around actuaries without a college degree and then demonstrate competence by taking exams.

> I wonder if maybe software developers are a little more inclined, as a "profession", toward paths that are less formalized.

I think the fact that everyone in software has the same job title makes a huge difference wrt medicine and engineering.

The guy hacking together cookie-cutter single server websites calls himself a software developer/engineer just the same as the Ph.D. hacking on compilers or ML algorithms. Everyone inside the field knows there's a huge difference between these two jobs, and that becoming the latter is basically requires a degree (perhaps even an advanced one) or really extraordinary dedication while the former probably doesn't even need a degree at all.

So when someone says "do I need a degree to become a software developer? / Is a degree the fastest path to becoming a software developer?", it's an ill-defined question. What do you mean by software developer? Do you want a good salary doing whatever in boom times or do you want to do really technically interesting work with job security even in bust times?

Conversely, most other fields tend to differentiate between job titles that require lots of skill and jobs that don't.

For example, the difference between various levels of non-doctor healthcare workers (the whole range of nurses, and then everything up/down from there) is very institutionalized. Something similar happens in engineering -- plenty of non-engineers do engineer-y things in engineering firms, but some things you'd be insane to delegate to someone who doesn't have formal engineering education.
Though for applying for new programming jobs, it all comes down to algorithms and data structs for learning. I think a lot of the neat stuff programmers learn or do on their own is completely useless for whiteboard interviewing questions. "Look at this open source library I created and everyone uses!" seems to be useless for programming interviews.
Like you said with TrueCrypt the key stays in RAM and is vulnerable to attacks.

Using a hardware based key makes digital attacks impossible AFAIK. Although it's still subject to physical attacks (eg: theft, coercion).

BTW, I'm surprised there is no mention of SSD and other flash drives, since IIRC that poses problems for FDE.
You have to care about that if you don't want any synchronization. How do you generate IDs across multiple servers otherwise?
>The industry left for China because, again, the government is placing the interests of financiers over the interests of average Americans.

That's not so much the government as it is the companies doing the moving, it's all about the cost of labor and in developing countries that cost is a small fraction of a developed one, no matter what their currency policy.

The 'strong dollar' is only strong relative to other currencies, and is mostly strong because it is the reserve currency for many and the currency in which oil is being traded.
The "your money or your life" web page stuff is interesting. They call these YMYL pages anything that can have large impact on the user: financial info pages, legal info pages, medical info pages, and so on. They say they have very high quality page rating standards for these pages. OK, but how?

Later in the document they talk about doing reputation research on the site. They say, "[F]or Page Quality rating, you must also look for outside, independent reputation information about the website."

So they are evaluating content. They are encouraging their reviewers to make a judgement. This strikes me as unreliable, maybe even a slippery slope for them.
Nice clean code. Like that you're using http://standardjs.com
Click through rate isn't necessarily indicative of quality.
Apparently here: https://en.m.wikipedia.org/wiki/TestU01

Wikipedia entry for MT specifies some of the problems.
Sadly you are right. I think it got sandwiched under React/Redux.

That said, it does raise very interesting ideas about writing web apps so it's worth a look at least just for fun.
npm install node-uuid

As a programmer, I quite enjoyed reading this post. But I can't believe the amount of time the author wasted learning what many crypto library authors already know: Math.random isn't any good. I mean this sincerely. You'd think they have so many more pressing problems to solve for their users.
The NSA (Said It) Ate Its Illegal Domestic Content Homework
I just don't see the connection between vectors/gradients and type systems

There isn't really one besides the terminology.
And real world users
Having microphone access dosent equal illegal wiretapping, sure it might be a prerequisite. Yet you need to prove more than that the app could illegaly wiretap you if the developer wanted to do that to use the law to go after these apps
Yes, it's covered in world history classes in the U.S. at least.
The reason is because Angular 2 merges Angular Dart and AngularJS into one framework.

Can't say I have first hand knowledge, but I have heard that Angular dominates internally at Google.

UI Bootstrap is also separate from Angular (if that is what is meant by quick-and-dirty bootstrap site) - I am currently the lead developer of the project, and not once in my tenure have I deleted any comments, and I know of no instance since I joined in March this year of anyone doing so. The documentation certainly can use work, but we are unfortunately strapped for resources with not much quality work coming from outside the team. File issues if you have problems, but otherwise, I can only say that usually the team responds correctly, and it is usually immaturity on the reporters' side that is the issue we have observed.
Setting the numbers aside for a moment, a wealth tax would definitely have a large effect.

It's a somewhat extreme measure by the standards of modern tax schemes though, and it would cause a much higher number of super wealthy people to expatriate than just raising income and capital gains taxes would.
Gene doping is upon us!
Sure, a top-tier degree will absolutely help you get a leg up.

But there are law firms who pretty much only hire top 5 graduates. This is different from even Google, where a Stanford degree might help but there are still plenty of self-taught or non-Ivy developers.
Oh, definitely coders are more self-taught, if we want to jump to that question. I was pointing out that law school is more of a progression through a self-taught curriculum than other formal educational pursuits. (After which you get to self-study for the bar exam.)

In context of the original article, being mentored by a practicing lawyer is likely to be similar to law school in the amount of self-study, so the idea that programmers would prefer one mechanism over another due solely to self-study is not a premise that I agree with.
The problem is that the surface of Angular is incredibly complex.

With React, you have components, which are just things (classes or functions) that convert a set of properties to a subtree of more components (ideally mostly ones that directly represent DOM elements) and do so deterministically and reproducibly.

With Redux you just have objects ("actions") representing changes to your application state and functions ("reducers") that convert an action and the current state into the future state. There are also functions ("action creators") that help you create the former and functions ("middleware") that affect how Redux processes them.

With Angular1 you have templates and directives and components and models and scopes and controllers and filters and injectors and services. And services can be constructors or factories or providers or values or constants or decorators. And scopes can be isolate or nested and there is the digest cycle and there are watch functions and if you do anything async outside of Angular you need to make sure to trigger the digest cycle (but not if you're already in the digest cycle) and I haven't even talked about interpolation yet.

Angular2 is slightly better but the docs are pretty sparse and many people's brains will still shut off as soon as they hear "dependency injection" and have you fucking seen what they have done to HTML to maintain their false illusion of "it's just HTML and JavaScript, designers can understand this"?

React doesn't need you to think. Initially the API made you define components by using a magical function, then they extended it to allow just using ES2015 classes, now you can even define simple components as plain old functions. The surface has shifted from minimal to nearly non-existent.

Redux has more conceptual overhead than React ("Wait, reducers can't have side-effects? Where does my AJAX go?") but most of the learning time is spent un-learning concepts you take for granted (e.g. you shouldn't mutate state, your components should ideally not have any state at all and it's perfectly fine to normalize your state because you only need to derive it when it actually changes). The number of actual concepts Redux brings to the table is fairly low.

Angular is a battleship. React+Redux is an attack submarine.
The article you reference doesn't actually provide any evidence that the claim is false.
None of this is really scary. These are all a product of income inequality: the rich stole all the productivity gains since 1970 (this is literally true, see 'The Graph', http://monthlyreview.org/wp-content/uploads/2012/11/2012-11_...).

It doesn't make sense to me to worry about the knock-on effects of this loss (like unfunded pension liabilities) when this problem is still in place.
That approach is prone to creating a positive feedback loop through an order bias.