skysight-inc/HackerNews huggingface dataset:
Nike exits wearable tech, closes Fuelband division firing most of the employees
i lost significant weight (>33% from start) eating 50% protein (non processed, mostly fresh fish) 30% vegetable fats (olive oil, avacados, etc) and 20% non-starch carbs (berries, veggies - no breads, pasta, rice, beans)

i have kept it off past 2 years and replaced remaining fat with muscle (eg 48 inch waist -> 30 inch waist) slowly replacing protein with more veggies, beans, and some whole grain breads...fat % same. about evenly split 1/3 fat, carbs, protein.

i couldnt maintain exercise at higher protein levels...i could feel a physical response in energy levels by adding in say 1/2 cup beans or 2 apples 30 min before a workout allowing me to sustain target activity levels

Ymmv
There's demuxing and there's decoding. Demuxing can easily be done in software where it can fail gracefully. Decoding is computationally expensive and can't be done in software. On many devices, software decoders are too slow to decode a frame of video before it's too late to display, so you have to drop frames. Some software codecs refuse to even attempt to decode h264 of a profile/level above baseline/2.1.

So instead, decoding is done in hardware using finicky SoCs that don't always make it possible to fully meet the OpenMAX IL spec. In fact most device makers hack up OMXCodec and other classes in libstagefright to get the higher level Android media APIs to work.

All this code is littered with CHECK()s probably because Google can't do any better due to hardware being too fragmented (what you would do to recover from a hosed decoder might work on one phone, but not another). And device makers don't because either 1) once they hack up their ROM to get the YouTube app working, they just ship the device, or 2) implementing a way to recover would require a hardware change and ain't nobody got time fo dat.
Can a mod also fix his name in the title? SpoLsky, not Sposky...
I've read a lot of code (both source and otherwise) and found that in many cases one of the biggest barriers to understanding the system as a whole is actually abstraction/indirection -- or more precisely, the often-excessive use of such. Following execution across multi-level-deep call chains that span many different files in different subdirectories feels almost like obfuscation, and all the pieces that are required to understand what happens in a particular case (important when e.g. looking for a bug) are scattered thinly over the whole system such that it takes significant effort to collect them all together.

In my experience, the majority of existing codebases I've worked with tends to be this way, although there are exceptions where everything is so simple and straightforwardly written that reading them is almost an enlightening experience.
Precisely. If you're "not working up to potential" you may not get fired but you're not going to be promoted. If you drop from a 9 to 7, people notice the -2 delta because changes in performance are much easier to pick up than absolute performance.

I'm (mildly) bipolar. The highs hurt me more at work than the lows. The lows I can push through and compensate for. I have a strong enough work ethic that except in an absolute mind-breaking depression (which I haven't had since my early 20s) I can handle it. In the highs, I either overperform or raise expectations. I always do a very good job of something, but that something might piss someone off.

Reliable median performers, on the other hand, don't piss anyone off or surprise anyone.
The [park] mode of a Prius's transmission is button-activated.
Why Developers Are So Powerful
For engineers above a certain skill level it's difficult to imagine job security becoming a real concern in the foreseeable future.

You're certainly correct about the opportunity cost of forgoing higher guaranteed comp at a BigCorp in return for a potentially higher reward, but I don't think that directly relates to the question of job security.
One of the biggest factors might be what people are eating in addition to their proteins. Chicken nuggets and popcorn chicken aren't all that bad by themselves, but when they are paired with french fries and a soda, your protein to calorie ratio is extremely low.
Solution: everyone takes the extra month off.
What, if any, obstacles do you face getting the IRS to accept returns from your software? What about states?

Glad someone is doing this by the way, and best of luck!
Completely accurate, which is why I state "I am basing this entire analysis on a number of large assumptions. Firstly, that my current outstanding loans will be repaid with the same reliability as my completed loans", and a number of other assumptions in addition. Nor do I know the extent to which previous loans, which may now be 100% repaid, may have dipped into default and subsequently recovered, which also incur a marginal cost in terms of opportunity cost of capital etc. My analysis is very much "cash based", which is limited, but this is the data I have available. A quick look through some of the 100% repaid loans suggests that at certain points in the cycle these were also overdue. Perhaps I could obtain the individual repayments versus due dates for each loan and work this out with greater accuracy, but I haven't bothered so far. To what extent are my current loans likely to default at the 18.65% rate you suggest? I have no idea. To what extent did my previous loans default to this extent? I have no idea. This is why I simply take a bird's eye perspective and look at net cash flows. However, as you accurately imply, for me to genuinely do this with precision I should wait until all current loans have been repaid, which either means I have idle funds on the platform, or I have to complicate the analysis by considering my average outstanding balance, which I have assumed for simplicity is $1000, which it has been to date roughly.

However, are you considering the gross interest income I will earn on the loans that don't default over the forthcoming period? This will partially offset some of the defaults, I can't say with precision to what extent. I count only principal outstanding, not interest income due. So, to some extent this will lessen the impact of possible defaults.

Finally, I have done a couple of new bids since my cut-off date of April 6th when I downloaded the data, so the numbers might not add up 100%. Oh, and Jessica is my wife, she started on Zidisha first, before I took over!

At the end of the day I am hesistant to say resolutely that Zidisha is a break-even venture. It has been so far, but subject to certain assumptions which I hope I have stated clearly. 18 months is a decent trial-period, but it's not a perfect analysis. And if I do subsequently lose a few percent on $1000 that is tolerable. Would I put $10.000 on the platform? No. And comments warning that Zidisha needs to tighten delinquency are completely accurate, and to an extent I am gambling on their ability to do just that - progress seems good so far (in 2014). What intrigues me is the innovation in the business model. It is disruptive. It is a first-mover in this space. Does that mean the model is perfectly refined and cannot be improved? I doubt it, and I look forward to seeing how they develop. But I think it is worth giving them a chance, which is what I have done (to a modest extent), and waiting to see what happens. I will update my blog periodically when more data comes in.
Just to be clear, the article discusses bandwidth load for CAs, not for individual web sites. Serving CRLs is part of what we pay CAs to do, I don't see why the article implies we should take pity on them.
Indiegogo Campaign:
https://www.indiegogo.com/projects/tax-compactor-free-income...
This is exactly how I work as well. My feeling is the only way to truely understand a piece of code is to try solve the problem yourself and not simply read someone else's solution. But, half the battle is then understanding _every problem the code is solving_. Often this seems undocumented. Further, even the simplest high level problems often have a bunch of corner cases that are only documented in a solution's implementation, and it's on encountering these corner cases in your own solution that it becomes obvious why the code was written in its original manner. Coming to a full understanding of the problem and solution often leaves me happy to throw away my own attempt. Sometimes I'll simply end up adding some comments to the code about the problems it's solving.
The Bay Area is a ridiculously expensive place to live.

I live in a small northeast city. I have a 4 bedroom, 2500 ft^2 house that cost about $200k, and is in a great school district. I'll own it outright in about 10 years.

In SV, I'd probably make 2x the salary, but my cost of living would be about 5x. The taxes are probably higher than even New York.
Going for long term capital gains will only destroy you if the stock falls, which can happen in any investment.

If there is enough confidence in the stock, a happy medium can be to sell enough ISO's at the time of exercise to cover the tax cost for that year. However, if the stocks you have are a massive % of your overall (potential) wealth, short term tax on a big # is still better than long term gains on a volatile #.
> Maybe you are right and I am just cynical.

IMHO it's just a bit of cynicism.

Even those who "hate the poor" here don't hate the poor, they hate the lazy. They simply equate being lazy with being poor. But if you're poor and working (or even poor but not imposing on society) then even the right-wingers I'd know of would have tons of respect.

If anything the desire for status seems to be reviled more and more in America too.
Counterforce Protests Tech Using Tech
I'd be loathe to join a company where 10 people have a "real voice in the direction of the company". When you join an early team the only way is to trust the founder(s) as knowing what they're doing and listening to the team when there's a good point being made. The alternative is a recipe for politics from day 1.
Como actualizar android
A fun read: http://en.wikipedia.org/wiki/Week#.22Weeks.22_in_other_calen...

In general, I can't imagine what month reform could be done that would be worth the pain of switching. Computers are doing all the hard calculations now. While calendars throw programmers for a loop sometimes, what really nails programmers (and therefore computers) are timezones and all the screwy things we do with seconds. Changing calendars is orthogonal to those problems, and the possibility of real reform on that front is more likely, since the costs/benefits work out more pleasingly.
Step back for a minute and realize how astonishing these devices are. As someone who was in the semiconductor industry in the late 80s and 90s I am just blown away.

We are putting magic on chips
In my experience, getting forgotten by restaurant staff is much more common in Europe than the US.
Yes. That's why I retained an IP lawyer to review the agreements that I signed and to write an opinion about my plans. Every sw company will require you to sign these documents NDA and Non-compete. The key is don't steal their trade secrets, code, client lists, employees, etc. A lawyer can sue you or me at any time. The problem there is that a case that doesn't have merit will just look like bullying and help our cause. Even if they win a case like that what do they gain? An injunction to force ppl to pay for a service that should be free to every tax payer? Not a good fight to have IMHO.
First of all, if you go looking for market inefficiencies in tech hiring (across the board, not just at startups), you will find lots of them. Software development hiring is folkloric; traditions handed down from Sr. Mgr Software Developer to Associate Developer tracing back to the beginning of time (1982 or so).

Second, regarding the talent pool available to employers, two factors confound the analysis: the first and by far the strongest is stated preference vs. revealed preference --- to wit, good developers will make large concessions on comp in exchange for working at companies that seem more fun; the second is that software developers are as a demographic cohort terrible at negotiating.
You've found the staff to visit more often in Europe? I had the opposite experience.
Nike Cancels FuelBand
Slightly off topic, but I wanted to clear this up:

> The guy uses PHP and instead of built-in HTTPRequest he uses curl to make a request

HTTPRequest is not built-in to PHP. It is a PECL extension that is usually installed separately from PHP.

Curl is more built-in to PHP - it's a PHP compile-time flag, and it is distributed with PHP source.
It would be nice for job boards to require companies to post salary ranges. But I guess you wouldnt get much traction from companies that way because they want all the leverage..
They got back together.
Automation doesn't preclude the need for high levels of human productivity, especially in a knowledge industry based society. Having a 60% productivity (admittedly soft and cultural) limit for the week would be a more significant change than if we were to do 4-1 weeks instead of 5-2 (71.4%). 4-1 seems like it could be a perfectly reasonable way of doing things for a lot of hackers, maybe not for everyone though.
> Comte set year 1 of his new calendar as the first year of the
> truly modern age: 1789, the first year of the Great Crisis.

For me 1789 is the first year of the Great Constitutional Ratification. I did a quick google search for "great crisis" and came up empty. Google seems to be convinced that when I type "great crisis" I am looking for "Great Depression." What is the Great Crisis?
Sure, Banco D-Miro in Ecuador. When I say I face no forex risk, this is because Ecuador is a dollarized country and I operate in dollars, obviously Europeans etc. would face forex risk. The interest rates are visible here:

http://www.d-miro.com/portal/archivos/transparencia/tasas_de...

My actual rate is marginally below 8% (alas I couldn't do a $20.000 deposit!), and foreigners basically have to deposit for 1 year, or it gets complicated. All deposits up to $30.000 approximately are guaranteed by the government. The bank is BBB+ rated I believe, and Ecuador is not a risk-free country, so when I say this is "relatively risk free", this is somewhat subjective. I live in Argentina, and that is a whole load riskier.
Nike reportedly abandons the FuelBand and lays off its hardware division
They raised the commission back up to 20% at the same time they added the $1 "safety" fee. Here's a reference:

http://www.geekwire.com/2014/uber-adds-1-safe-rides-fee-pass...

My read is that they thought they could keep Lyft from taking their market-share by losing money on every ride and relying on their deep pockets, but then Lyft got a comparable amount of money to Uber, and Uber was like, "well, guess we won't be waiting them out."
Gosseberry, Blender new open movie campaign reached 3,000 supporters
Why? It is cute.
Quarters are broken now as well. Currently the quarters aren't actually quarters. Since the months that are in them aren't all the same length.
I think it goes for any FP/declarative language, especially Lisp.
Yes, yes, yes! I agree wholeheartedly. Exploratory programming is my new favourite weapon for learning about new codebases, new languages, new everything.

I just started a new job at a really interesting agency. I got put on to a 12 month old project, a huge web application, that started life overseas, moved back here to Australia, and according to git-blame has then moved through the hands of nearly 15 developers, a solid 70% don't work here anymore (most were contractors).

So, the codebase is a mess. But, with Xdebug and a neat client for it that gives an interactive console when you hit a breakpoint, two weeks later I'm already understanding the twists and turns far better than I ever hoped for!
I think it's a problem of adjusting to something new.

This sounds like "parenting," to me. You don't want your kids getting acclimated to something that is outside of your experience. Natural in some ways, but in this case I think it's overblown.
Why would they surface this to the end user? Or even pass on the costs? Asinine.
TRAQ: The well-hidden score that controls your advertising revenue
True but that means you need a wrapper function for each type you want to create or you need to use the more general function, defeating the purpose.

It also obscures the type of the object. That can be okay if it's only used as a temporary local, but problematic if you ever need to store it as a member or return it from another function. The type signature is verbose and not very descriptive, either. Compare that to:

namespace sdl2 {
using window = std::unique_ptr<SDL_Window, deleter<decltype(SDL_DestroyWindow), SDL_DestroyWindow>>;
}
...
sdl2::window window{SDL_CreateWindow(...)};

If you wanted to do something like what they have, I would create a variant on C++14's std::make_unique. That could look like:

template<typename T> struct deleter_traits;

template<> struct deleter_traits<SDL_Window>
{
using custom_deleter = deleter<decltype(SDL_DestroyWindow), SDL_DestroyWindow>;
}

template<typename T, typename... Args> create_unique(Args&&... args)
{
return std::unique_ptr<T, typename deleter_traits<T>::custom_deleter>{new T(std::forward(args))};
}

sdl2::window window = create_unique<SDL_Window>(...);

That looks a lot cleaner to me, at least. And instead of having to write a new function for each type, you just add a new deleter_traits specialization.

(I haven't actually compiled any of this so it's probably riddled with syntax errors... hopefully the point still comes across!)
I do not know how analogous this is to metric standardization. Everyone using metric seems to produce some very clear and concrete gains.

I like to think we (americans) are standing on principle and refusing to accept the metric system on the basis of semantic consistency: an SI base unit should not contain a prefix.
Video tl;dw:

Gary Bernhardt (rightly) says that JavaScript is shit (with some other insights).

HN comments tl;dr:

50%: "Waahhh, JavaScript is awesome and Node.js is wonderful, shut up Gary Bernhardt."

25%: Smug twats talking about how they're too busy changing the world with JavaScript to even bother to comment.

25%: Pedants and know-it-alls having sub-debates within sub-debates.

Pretty standard turnout. See you tomorrow.
Great answer, and honestly a lawsuit may draw more attention to your site/cause.
World War II Commemorative Airplane
If you love aviation and/or WWII history, check out this video!
Weekdays shift by 1 every year (365 mod 7 = 1), and once more every leap year (366 mod 7 = 2). May 4, 2014 is Sunday. In 40 years there will be 10 extra leap years so the total shift is 50 mod 7 = 1, so May 4, 2054 is a Monday.

Not so hard, is it?
It might be referring to la Grande Peur[0] (the Great Fear) which was the panic reaponse to the initial rebellions at the beginning of the French Revolution.

[0] en.wikipedia.org/wiki/Great_Fear
As European, I'd like to say that it would be awesome if your app had enough abstractions built-in to make it adaptable to non-US systems. The fundamentals if tax systems everywhere are the same after all (money comes in on some basis, and some of it must be taxed according to some rules), a pluggable architecture would be nice; it would also make it much easier to update when the inevitable changes in tax law come around.
> Has anyone stopped to think what a massive failing of the startup part of the industry this is?

The failing is not that the employee equity math rarely works out, it's that the "industry" is so focused on equity. It often falls short as a recruiting tool (a significant number of prospective employees are clued in to the fact that it's likely to be worthless) and it's usually a poor retention tool as well (just look at startup turnover and the number of employees who don't stay with one company long enough to fully vest).

The startup value proposition today is actually quite compelling in some cases. Employees, many of them young and without significant real-world experience, can earn six-figure salaries working at companies that, without outside investment, could not sustain themselves.

Too much capital chasing too few opportunities has given many startup founders the ability to raise capital on terms that are insane. I mean, you have entrepreneurs raising million-plus convertible note seed rounds with caps that make absolutely no sense. Where does all that cheap money go? For many if not most startups, one word: salaries.

If you're being paid $120,000/year plus benefits to work on a CRUD Rails app at a startup that probably won't be around in five years, you should forget about equity. You have already won the lottery.
EEVblog is indeed very useful
Well, in your graphics programming example, the "scene graph" consists of UI objects. It doesn't consider of logical objects such as players, enemies and explosions; it consists of frames, meshes, textures, etc., all of which are part of the "view". The logical model (players, etc.) is used to populate the scene graph. The scene graph itself is used as the basis of the composition pipeline that uses something like OpenGL.

React, as well as this library, are pretty much exactly like this, except you replace OpenGL with the DOM. They are purely about managing UI state; they provide the controller (C) and view (V) parts of MVC, and leave the model (M) aspect to the developer to work out using some other library. For example, it's entirely feasible to combine React with Backbone models. Unlike traditional MVC, however, the responsibilities of the controller are generally handled by the view itself.

The composition that they are talking about is about treating components as first-class objects. For example, in React, you can do this (via JSX, a preprocessor for JavaScript that allows you to embed HTML in JS):

Toolbar = React.createClass({
render: function() {
return <div className='toolbar'>
<Button onClick={this.handleSave} icon="save" label="Save document"/>
<Button onClick={this.handleClose} icon="close" label="Close document"/>
</div>;
}
});

Here, Button is not a real HTML element, but another component which is embedded in the parent component. By expressing this as a pseudo-element, it's possible to treat it as a black box that knows how to render itself.