skysight-inc/HackerNews huggingface dataset:
I disagree that MVC is not well documented, but perhaps I've just learned where the good documentation is (for MVC.)

That said, I have to agree that every time I've dived into PHP/RoR, there have been plenty of articles with well-drawn maps of the minefield (to borrow your analogy.)

> Oh, and just for fun every 5 years or so MS deprecates that particular mine field, lays a new one, and forces everyone to go play in the new minefield instead.

I know I started at the beginning with this new minefield (MVC came out less than a year before I started using it,) but I don't see this happening as much, at least not with MS's web offerings. The last version or two of MVC and EntityFramework have been OSS under Apache 2, so they can continue to be developed even if MS decides to go a separate route.

I understand that this is not the case for their desktop and mobile offerings, and that they have jerked their developers in that field around in different directions each time they come out with a new OS. I think that their web offerings are more stable. The only things that may change fundamentally are server components (IIS, SQL Server, MVC, EF, etc.), or the browser. If the browser changes, everyone's screwed; and if the server components change, the developer can simply decide to stay on older versions (until licenses run out, which I'll concede as one problem.)

And of course, all this flows back to documentation. PHP/Python/RoR have much better documentation because they're all much more widely used. If more people used MVC, more people would write about it, and there would be more documentation for it.

The only remaining issue is a pretty big one: cost. Yes, there's a VS Express Web Edition, but that has its own issues. So, you're left with BizSpark as the next best option. It's what I've done. I have 2 more years left before I have to decide whether to start paying. So far it's great, but I know that it's going to come back and bite me in the ass unless I start something profitable before then.

And I believe that that's the real reason that it's not more widely used; or at least the original reason, with lack of documentation and other MS-hate being secondary to and/or consequences of it. In a community where people have 5 ideas fail before hitting something profitable, it's hard to justify the extra cost of $1000 or more per developer, even if it's actually free for the first few years. Why risk paying $1000+ per developer and an extra $100+ per server 3 years from now, when you can start with something free and have it still be free 3 years from now? That's what it all boils down to.

I'll admit, I'm probably tossing in the towel on MVC soon. But it's not because of poor documentation or fear of being forced to switch to a new API requiring a large rewrite on my part. It's because 1) the IDE and servers are 5-10x more expensive than those for Python/Ruby/Node/PHP; and 2) everybody's using Python/Ruby/Node/PHP, so finding work is tough. After all, what good is working on a side project to show off my MVC skills, if nobody will hire me for it anyway?
Project tracking, presented beautifully?
I recently launched (though in beta) a new way to visualise & track the progress of your project. Do you think it's any good?
Amen to that. I've been off facebook and orkut since early 2008 and have not regretted it for one moment. I get some mild flak from friends once in a while but they all know how to contact me if they want to.
Well, alrighty then... If this becomes a real thing and isn't obsolete 6 months after release, I'll take back all those negative things I said about phonebloks.
I own a DELL U2312HM 23" IPS monitor. But i didn't recommend that if you don't like bright display, even on low settings, screen was too bright
$13/day. I want your suggestions on how to make it work.

Starters: $1 per meal, see http://abuckaplate.blogspot.com ; creative use of http://Zillow.com or http://Trulia.com can find undeveloped building lots for under $2000.

(Naysayers, this subthread isn't for you.)
yep. Brilliant hack.
If you're unemployed, accepting payment will end your unemployment. So will refusing the opportunity.
At least if you're following the terms of your unemployment to the letter of the law in most states.
Really? All my friends who use facebook at first thought it was a useful tool, and then slowly the bloat beyond the first few friends you actually give a shit about occurs.
Your feed started becoming invite spam and people who you dont even really know commenting on their breakfast or their kids or their cat doing a dumb thing.

All I can think of when I see this on other people's screens (though most of the app invite spam has been taken care of):
"Great minds discuss ideas; average minds discuss events; small minds discuss people."
Eleanor Roosevelt
I would like to see us get this kind of compatibility (back) for laptops... Seems a lot more useful and feasible.
Indeed. And Apple my have been trying prevent apps from being overly vulnerable from the start: the approval process will reject:

2.7 "Apps that download code in any way or form will be rejected"

2.8 "Apps that install or launch other executable code will be rejected"
Apple hasn't demoed an iPad on stage all year
Sweet and sure thing, I'll send it over later today
People dont write JS just for Firefox Nightly.
So, I'm trying to work out how this actually works, and thought I'd share my working (especially the reversed bit counter). No idea if my thinking out loud will help anyone else.

TL;DR: Because we count reversed, when the table shrinks (shrinking is done live, so the old table sticks around for a while) we will continue to iterate only from the position in the sequence where all of the masked bit combinations (those bits of the hash that are ignored in the smaller table) have already been explored. If we counted normally, then on a shrink we would end up skipping parts of the old table. Lines https://github.com/antirez/redis/blob/unstable/src/dict.c#L7... explain it perfectly, now I understand it.

Looking at the code, the increment works as follows:

counter |= ~mask;
counter = reverse(counter);
counter++;
counter = reverse(counter);

The mask is the size of the hash table, minus one, so it always looks something like 0b00001111.

So the first step sets all the unimportant high bits. This means that, after the reverse, all of the unimportant low bits are set, which means an increment will set all of the unimportant bits to zero, and increment the important part of the reversed counter.

So this could be rewritten as:

counter = reverse(counter);
counter += (1 << (32-log_size));
counter = reverse(counter);

Sometimes a collection is made up of two tables, one larger, one smaller. There is an extra loop in each iteration to go through all of the elements of the larger table that share a hash prefix with the counter.

Now, why the reversed counter? If the table stays the same size, it doesn't matter what order you iterate. If the table grows, the prefix system still works, so that can't be it. So, by process of elimination, it must be necessary for collections that shrink.

Say we have an 8 element collection, and have iterated 000 and 100, and next is 010.
Then it starts shrinking to a 4 element collection. So next is 010 (which is interpreted as 10 in the new, smaller table, and 010 and 110 in the old table), then 01 (01, 001, 101), then 11 (11, 011, 111), then done.

Well, that worked (we visited all 8 places in the old table). Let's try a non-reverse increment.

000, 001. Next is 010.

Switch to size 4, and then visit (10,010,110), (11,011,111), done. We missed 100 and 101.

Okay, I'm happy. It sort of makes intuitive sense that if the shrink is what's important, and the high end is lost during the shrink, then incrementing from the high end will work better because throwing away the high end will still cover the whole range, as long as you still look at every bit in the thrown away section. Whereas incrementing from the low end will result in gaps.

Go from size 256 to 4 to really show it:

0,128,64,192|2,1,3,0

vs

0,1,2,3|0 (which examines only the top quarter of the old hash table)

Or to put it another way, look at this sequence: size 8: 0,4,2,6,1,5,3,7. The bottom bit is set only after all of the possiblities with the bottom bit reset have been explored. So if remove some of the top bits, either the bottom bits will not be set, or every combination of top bits with those bottom bits set will already have been explored.
Wasn't intending to contradict you; sorry if it came off that way.
If smartwatches are ever going to be a thing, they're going to have to not look like watches. Who wants a clunky, dorky looking watch like the Samsung version? Maybe a few of us geeks in the Valley, but certainly not mainstream and appearance-conscious consumers. I imagine I'd have had my ass kicked if I wore something like that to high school.

(Nike got it right with the Fuel Band: if you're going to put something on your body, it becomes as much a fashion accessory as a gadget. Design counts.)

Furthermore, the watch is going to have to do something that smartphones can't. It needs to go above and beyond, taking full advantage of whatever areas wearables can take advantage of. Google Glass I get. The possibilities there are fantastic (if the design leaves a bit to be desired). But a watch? It had better do more than just display the weather and run awkward, one-handed variations of Android apps on a smaller screen.

I'm not convinced there is a market for a smartwatch, such as it is. But if there ever will be, it'll be something entirely different from what we've been seeing so far. The technology exists to make thin, translucent, bendable screens -- so in theory, you could have a smart "bracelet" that is entirely a screen. That's somewhat more interesting, at least design wise. But we still need real-world functionality that a smartphone can't replicate.

So far, most of these smartwatch specs remind me of the Segway: a very minimal improvement in quality of life at a tremendous cost in personal appearance. That math rarely works out well for consumer products.
Pompous, off topic, inane and incoherent, please do yourself a favour and keep this garbage to yourself
Yeah, though there are many parts that are effectively finalized, and are already making their way into browsers.

It sucks, but it's not quite as bad as the impression you get from "ES6 isn't done."
"Ugh"? You're disgusted?
Can someone tell me why these companies can't just email pdf's of the bill? Why do I have to fuck about with their shitty systems once a month to get a record?
Also worth pointing out that the fat arrow lambda expression is coming in ES6 [1] so you will see it in vanilla JS soon!

[1] http://www.nczonline.net/blog/2013/09/10/understanding-ecmas...
Programming Is an Endeavor, Not a Race
My daughter has an email address.

If I send anything to it I need to tell her (in person, text, twitter, facebook messenger, skype - pretty much anything but email) to check it.

She has switched off notifications on her phone because all she gets are marketing messages, spam and stuff from old people (ie me and her mum).
I've had my Dell Latitude docked 95% of the time for the last 4 years and when I do occasionally need the battery, it seems to run about the same as it did new. Your mileage may vary.
I couldn't fight it off https://github.com/michaelmior/pycobr

Just got the encoder so far (without major type 6, i.e. tagging) and the code is pretty messy and possibly not 100% correct, but it's true that the amount of code required is pretty minimal.
Programmers and beard
The best interiew process I ever went through was pretty much like this. Of course they first check the CV, then a regular interview, and when that went well, I got a programming assignment. Something very simple, but in a framework I wasn't familiar with. Had about a week to do it in my own time, could contact them with questions, and at the end, I presented my code to the devs, who asked questions. Afterwards, the devs vote by email.

I haven't heard of a better way to do it yet.
It is called a moonlighting policy, and I suspect they do hold up. Microsoft had that policy in place for decades. They didn't outright ban moonlighting, but you did need to have a formal agreement with your manager. I think they softened it a bit only to encourage employees to build apps for Windows Phone.

I say it probably does hold up because otherwise I am guessing they would have abandoned it. Microsoft has quite a bit of experience with labor dispute litigation. Having billions in cash is like chumming the water for labor law attorneys.
Really nice. For me the best part was allowing me to turn off all the crap related to chat. I don't use Google Talk/Hangouts and don't know anyone who does (might be a regional thing). Being able to hide everything related to chat and status instantly made Gmail much cleaner.
gstreamer too can be used. I prefer gstreamer as it really does embody the unix philosophy (in its own weird way though)
I have a Pebble and it has literally changed my life. I will never again leave the house without a smartwatch on my wrist.
This has been a solo side project for me for a few months now. I had to find a roommate and sifting through Craigslist felt clunky. It's more the latter. A simple way for people looking for a roommate to connect with one another.

There are a lot of improvements and features that I have planned for the future.

I'm new to the "product launch" thing. I'm going to be trying some facebook ads and tweeting at people looking for roommates. They seem to be a fairly vocal community on social networks so they're not difficult to find and interact with.

The Airbnb approach sounds like a great idea. Thanks!
A guide to using retirement funds to start a business
The doc for "mock" is a funny example of how poor the docs are in places http://docs.angularjs.org/api/angular.mock
Hoarding (saving) will never become a problem because the value of currency is derived from all savers willing to hold it. Why would I store money in an altcoin if Bitcoin has bigger number of savers and I project that it will only increase (and thus increasing my own wealth)?

People want one money - the most marketable most liquid commodity to store their cash in.
http://blog.oleganza.com/post/54121516413/the-universe-wants...
Yeah, I does sound like that but it also says persistently DNS poisoning or ARP poisoning isn't very persistent. So there COULD be something here...but I don't think so

In my experience, most mobile apps use cert pinning or regular ol https. Only a few that I have seen actually use http.

The biggest thing mobile apps do is client-side checks instead of server-side, since an assumption of network connectivity can't be made. It's pretty funny the types of things you'll find. Anyways...

edit: Oh wow. I watched the video. That's embarrassing. "We haven't done a responsible disclosure because everyone knows HTTP is just like that"
"Your inefficiency is not my problem."
BBC Television received in New York - November 1938
I'm sorry but I have to side with the JS is utter crap crowd.

The single redeeming feature of JS is that it's implemented in all current browsers. If it wasn't for that fact I doubt anyone would have cared much.

It's just nowhere near as good as current alternatives for application development. Everything it can do another language can do better, except run in a browser - which is entirely out of control of the other languages so somewhat of a moot point.
Having had a pebble since shortly after they started shipping, I have found that it's helpful to be able to glance at a summary of each notification that comes in so I can address the urgent stuff and ignore the less important ones. This is only for me personally, but quickly glancing at a sentence vs pulling out the phone (,turning on the screen, getting distracted by other things on that screen) is far less disruptive to whatever task I'm currently working on.

Of course there are plenty of downsides. Constantly glancing at your watch is just as rude if not worse than looking at your smartphone in a meeting, conversation, etc. As you mentioned, there is the high cost for a fairly dumb device. Charging it. And depending on the person, every notification is wedged that much further in to your daily life which is probably not for everybody.

I'm not sure there is a lot of value in a super interactive smart watch that allows you to write texts, make calls and take pictures. The interface seems to be small enough that it's kind of prohibitive among other things. But as a read-only satellite device that displays information from a smartphone/tablet/etc, a smart watch can definitely be a thing.
Samsung new TV`s SDK
My university charged me £10 to have copies of my exam scripts from summer, and it transpires that there is a maximum of £10* that an organisation can charge to a party who wishes to access archived information. Seems like most of them like abusing this upper limit.

*according to some sort of data-protection legislation, somewhere
> "Small example, in JS, if you have a function that works on a "age" property of an object, it doesn't matter what kind of object you send in, as long as it has an "age" property."

Shouldn't you just pass the 'age' property then?
I also enjoy gifs. I have been creating gifs with VirtualDub so far.

I usually prefer writing scripts to do stuff but VirtualDub is one of the few tools I simply use because I enjoy the open source and hacker spirit behind it.

An interesting plugin I miss for VD is an color reduction algorithm which would help to create very small gifs.

On reddit and tumblr gifs are a growing trend and it might be worth to put some effort into gif creation.
THIS.

Remember when you first discovered programming? When you did all those little projects that were, honestly, fairly useless, but brought you the spine-tingling sensation of having power over your domain?

Remember how when you started programming professionally, and you quit those projects? Why did that need to happen?

Bravo Lindsey, never stop making cool things.

(YMMV. I'm assuming of course that you learned programming as a hobby--if you learned by taking a college course then gasp you might have skipped the pointless-project phase entirely. I suggest you get on top of that.)
Are you planning to include an overview of this? This is the kind of thing I'd like to glance through without having to register.

"Experiment writeups" is a pretty big domain, it seems like much more than a side project for an app that aims to do inventory control. Can you say a little more about where you are going with this?
I'm writing from the UK, where living on the road is hard due to legals and climate. But if I lived in a high rent area of the US, I'd definitely look into getting a nice RV.

In a city, this would at first seem impractical. But if you cut back to a much smaller vehicle, there is generally safe free parking to be found at night. Especially if your friend has an apartment, but doesn't use the parking. Gym membership for showers, kitchen at work, maybe a games room. You really only need a box to live in most days.

This would let you pull in high wages, living low and gathering savings, then retire to the country to bootstrap your amazing SaaS business.

Oh fantasy.

Back in reality, I currently rent a bedroom from a fairly rich family. Especially during the winter, I save a huge amount on bills. The only problem is the lack of private space, but temporarily that's fine.
If you charge the costs of your pension (I challenge you can make even 5k when you are 80+ years old) and health on society, sure, you can live on that amount.
"There's only two downsides in my mind: You won't be able to pry any superstars away with this"

There is an unexplored dimension to this situation. If I understand the situation correctly, this is hiring at weebly. My impression is they're a 50 or so employee webhoster with an integrated custom CMS and a slick UI. They seem to be in maintain/upgrade mode rather than invent a product mode. They don't want or need a superstar. This is not a binary world, claiming they don't want or need a superstar does NOT imply I think they're dirtbags or losers, solely implying average people doing an average job at an average company doing very average and traditional business. Anyone vaguely near the median skill level would be a perfect fit and there's absolutely nothing wrong with it.

I agree that their unusual hiring plan would be a horrible idea for a startup doing something new or challenging where they need high end skills. If they were developing their platform in, say, '96 they would have needed a superstar for the development phase. In 2013 during maintenance of an existing product, its the equivalent of stamping out license plates.

Filtering out "super stars" or "rock stars" might be a perfectly valid design goal of a hiring process where you don't want or need super stars. What would a "super star" do at a webhost in 2013 other than get really bored? The business model or UI or internal processes might be very innovative; that doesn't mean every job there is currently innovative. "Oh great, I get to maintain an existing CRUD app for the customer database, how cutting edge"
Amazon Kindle Matchbook is live
I wonder how many people respond to such unreasonable request by uploading something... indecent and shocking, to say the least.
prgmr.com is an excellently designed website. It is also a plain website. patio11 is talking about sites that are designed poorly, not plainly.
Here are a couple :

Saltarelle - C# to JS compiler:

http://www.saltarelle-compiler.com/documentation/supported-c...

Funscript:

http://funscript.info/samples/simpleasync/index.html
I just noticed http://www.dscout.com/ara

Maybe I'm paranoid, but it seems more a way for motorolla to leverage a community on the cheap.

I really doubt the ARA will exist in a way that makes it
really usable. IMO it seems like the technology is moving faster in a direction where you can produce a cheap small batch of custom build hardware (or an infinite variety of models like Samsung) rather than going back in the old school lego model.

However, I can see the scout data from the community being incredibly useful for a company to create devices dedicated to various markets.
"The intrinsic smallness of the language can be alarming when you come from a bigger language (Ruby, Java)"

Bad examples. Ruby and Java are small languages too, just like JS. This immediately calls into question the credentials of the author. Not a good start.

"Null everywhere Attempting to access a property of a JS object that’s not defined gives you… undefined. If it’s important to your program that you know about this: write some code."

Or just, you know, use a better language?

"‘Callback hell’ isn’t a problem for people who’ve written a lot of JS."

So that makes it okay then?

It's just another article written by someone so immersed in their own little world that they can't see the wood for the trees. The author probably thinks he has put together a nice a little counter-attack to that "other" article; but really he has just reinforced it.
I think #2 is the kicker. Libraries are a place where web workers make a lot of sense, because the payoff for the extra work is multiplied by everyone who uses it. And as time goes on and JS libraries do more and more heavy lifting, it makes sense that they would benefit from multi-threading.

But that same thing works against a library developer when it comes to browser compatibility. It means you have to write a fallback, and that's particularly annoying when it comes to web workers.

The other problem as I see it is that the model of not sharing memory makes it a lot trickier to squeeze performance out. A lot of situations that would benefit from multi-threading are situations where you're processing a big chunk of data. If you have to copy those big chunks of data in and out of your worker, you sacrifice a lot of the performance you're working so hard to achieve.

Transferable objects will help a lot with that, but that's very new, and it will be even longer before you can just take it as a given.