skysight-inc/HackerNews huggingface dataset:
The first Python example throws up a big red flag: manually parsing command line arguments instead of using argparse. Why reinvent the wheel when there is a standard library to handle it?

Likewise, asserting that "For storing general records, Python provides a choice of classes and tuples" completely ignores one of Python's fastest and most powerful data types: dictionaries.

Lastly, in get_value, the nest of ifs is unnecessary and makes the code seem more complex than it really is.
Gmail 4.6- Ads Are Coming To Gmail For Android, Unsent Messages Warning, & More
Palantir Is Raising $197M In Growth Capital
The extent I will frequent a Mexican restaurant is generally inversely proportional to how clean it is (or at least appears).
Amazing and inspiring... how did you find the time to do this? Were you employed?
pressing as many keys as possible makes me wonder how is wired my keyboard, I can get all 8 'asdf' and 'uiop' in down state, but not 'asdf' 'hjkl'
nor 'qwer' 'hjkl' .. funny
I think the important insight from these articles is not which language the author ends up using (OCaml[1]), but rather which languages he's managed to rule out by now. In particular, I think it's good advice to avoid both ATS (however much I like dependent types) and Go, both for completely different reasons. You probably wouldn't want to use Rust in the short term either.

[1]: http://roscidus.com/blog/blog/2013/09/28/ocaml-objects/

ATS makes everything more difficult than it's worth except for some very specific use cases. Unlike some of the other languages like Haskell and OCaml, I don't think this is just because it's different; rather, it's because ATS is simply so much more demanding. It gives you extremely solid static guarantees and high performance, but it's a tool that really sacrifices expressiveness and programmability to get there. Haskell and OCaml may be difficult to learn, but ATS is actually difficult to use--a very different concept.

Go, on the other hand, is neither difficult to learn nor difficult to use. But, more generally, Go has very little to commend itself and--compared to the other options--quite a few shortcomings. If you're willing to put in a little bit of effort to learn something new, there are a whole bunch of options which are simply better. And you should be willing to put in the effort: your programming language is your single most important tool; it affects not only how you write your code and how you maintain it but even how you think. So it seems extremely shortsighted to choose a language because it's easy to learn and similar to what you already know!

Rust is awesome, but it's simply not ready yet. This is widely acknowledged by everyone in the project, and is part of their policy of open development. Once it is ready, it will be a very good choice for certain domains.
Yes, it can be seen as nit-picky, but I don't think the person is pretending the connotation doesn't exist. Maybe they're just trying to start the long process of de-teething that connotation so that in maybe 50 years saying someone is gay might actually mean, once again, that they are extremely happy.

It's a next to impossible task, like the people who would like to reclaim the swastika back to its original peaceful meaning, but it's great to try.
I found the bit about the keyboard not having built in wireless (requiring an adapter) to be the obvious 'wtf'. Everything else looked pretty cool, though the Metro interface still hasn't grown on me.
Looks neat, but how do you write a keyboard input library with sequence combos and then not have the Konami code as a secret demo?
I don't fear for my health per se, but the disgust curbs the enjoyment.
>that most jobs in fact have no associated ad

so what should he do then; go into google maps and drop off a resume at every nearby engineering firm?
UTF-8 is a beautiful hack but the way applications handle UTF-8 text and deal with corruption ranges from excellent to horrible. I've had a text editor balk at me after an hour of work and trying to save with a 'xx character can not be encoded' and simply refusing to save without any hint as to where this character was. Playing manual divide and conquer without being able to save (just undo the changes) is pretty scary. Finally it turned out to be a quote that looked just like every other quote.
n.b. I'm honored to be included in that august company, but just to avoid people getting the wrong impression, Appointment Reminder is quite a bit smaller than every product on that list.

With regards to the larger point: there are many, many ways to successfully take money from customers.

If you want to build a business mostly on the $20 to $50 per month low-touch SaaS model, you can do that, quite successfully. (ConstantContact, 37signals, SmugMug, etc)

If you want to build a business which addresses customers with low-to-medium touch sales and costs between $25 and $X,000 per month, you can do that.

If you want to build a business which dogfights for $75k to $250k a year enterprise deals, you can do that. (Welcome to the world of boring enterprise software, where there exists surprisingly little visibility since the relevant people don't blog so often, but it basically makes the world go round.)

If you want to do a hybrid low-touch model in the $20 to $50 space, mid-touch in the $X00 to $X,000 a month space, and high-touch in the Enterprise space, you can do that, too. (Some companies move there after discovering that the mathematics of the low-end model are a bit painful if you happen to hit constraints on e.g. market size.)
It's polling based approach.

https://github.com/resque/resque-scheduler/blob/master/lib/r...

https://github.com/resque/resque-scheduler/blob/master/lib/r...

Resque will scan for set value with key prefix like "timestamps:" or "delayed:", for every five seconds, if there's any task queued it will be fired.

There's many pros/cons with this approach, e.g. in Redis SADD, SMEMBERS are O(N) operations while in theory dedicated cron algorithm could make O(log(n)).

https://en.wikipedia.org/wiki/Cron#Multi-user_capability

This is is important if you have many short lived, timestamp based events need to handle. My use case is design item cool down for a mobile/web game using server side push, with millions of users. While resque could in theory solve this problem, but it's no different from a per 5 minute crontab command.

So anyway, what I hope is a native clock in Redis handling all this.
Google fiber vs Broadband
Sorry, but trying to say that Microsoft satisfies the consistency criteria because of its behaviour over the last 18 months is absurd. 18 months is nothing - the timespans that matter in this game are more like 18 years.

Microsoft over the last 13 years has flopped around from one idea to another. Their attitude has been build first, worry about identity second. They've rushed around, trying something, failing, rushing into another thing. Even within the space of one push they lack consistency. The Surface ads might be well-made but they're completely all over the place in tone, attitude and feature emphasis. Think about it: there was the liquid metal one, then the dancing clicking one, then this one. The first was hardcore/intense, the second one was exuberant/dizzying, the third was calm/productive. What's the common link? Where's the consistency in their messaging?

Think about Apple's strategy in contrast. Their product strategy, company image, attitude and presentation has basically been one smooth progression from the iPod to the iPhone 5S. The image they've presented has been the epitome of stability and consistency. It's not that they don't make mistakes or make strategy shifts - it's just that Apple astutely realises that it's best to make these changes subtly.
It's only techy people like us who notice shifts in emphasis (specs don't matter > A7 64-bit processor). Everyone else loves it. They're not saying the same things over and over again - their messages and emphasis changes over time, but the change is gradual and smooth. Each product, each launch, each ad builds on top of the last.

It's not to say that there aren't recurrent themes in Microsoft's messaging - but the difference between the two is night and day. And what's the result? Apple makes vast amounts of money - all without seeming to lift a finger convincing people to buy their products. They're reaping the fruits of taking the time to work out their strategy early on, and sticking to that strategy.

That's the problem for Microsoft - this is a game where it's your behaviour over years, not months, that matters most. Until they really learn and absorb that lesson they are extremely vulnerable I think.
I have SecureCRT on my Windows systems (been a loyal users since 1998). It's somewhat better than Putty - but neither of them compare to Terminal.App/iTerm2.

It's always been unclear to me why nobody has written a great terminal application for Windows. Is it just because the majority of those who really care are already using Linux or OS X?

I find it somewhat ironic that a significant portion of the command line population has migrated to the macintosh.
The problem, defined more concretely, is how to fund the creation of what economists call a "public good":

http://en.wikipedia.org/wiki/Public_good#The_free_rider_prob...

Both copyright and government provisioning of the good are ways around the problem. Both are effective in some situations and of course have problems of their own.

I think the government has a role to play in software development in terms of 'basic research' types of stuff. The US government is responsible for the creation of the Internet, and CERN money created the web. But to leave all software development in the hands of the government does not sound like a great solution to me, either, to put it mildly.
Clone of Fedena going viral, standard framework for education erp
I've always been extremely open about everything. External relations, financials, shareholder affairs, issues cropping up in the product and so on.

This had one huge benefit: no matter how smart you are when there are 10 brains working on the same problem you get a lot more input and this will lead to making better decisions. You're going to have to adopt a clear mechanism for soliciting that input and for publishing the decisions so people don't get stuck in the past.

One additional benefit: there is no rumour mill.

This has worked wonders for me, I'm not sure how well it would adapt to non media b2c start-ups.
You can turn off Secure Boot and install Linux to it if you really dislike Windows.
> I don't believe it's the startup CEO's job to educate her employees on the finer points of dilution, financing, liquidation preferences, etc.

Of course it is. Explaining the rules and terms of the game makes everybody better players. It's not you against your employees, it is all of you against the world and your competitors are part of the world.

If you're not even willing to explain the rules of the game to your own team how do you expect to win the game?
additionally, good and concise http://www.javascripter.net/faq/keycodes.htm
Jesus, another gender-hustling article. Getting past that, it's not clear that in general the changes were beneficial. They increased the variety of facilities in the local park which, surprise surprise, increased its utilization. We have a similar park down the road from us and it's great. Other than that can we say it really worked? For example:

>Circular, grassy areas dot the courtyards, allowing parents and children to spend time outside without having to go far from home.

What is the overwhelming benefit of this? Is there a problem walking to the local park? Perhaps they don't have enough parks - in which case surely increasing the number and quality of parks is the correct remedy. Is Vienna really so violent that people should be encouraged to hide away around their houses even more than they already do? Courtyards are nice, but maybe they should detail why this is a net benefit before trying to tout its success.

This bit of double-think is mildly entertaining:

>Planners also run the run the risk of reinforcing stereotypes in attempting to characterize how men and women use city space.

The entire purpose of the project was to come up with generalisations about women and then code that into infrastructure projects, but they're so cowed by the PC thugs that they can't even say it plainly - even though the project presumably meets with approval of the same PC police. Yeesh.
In the same vain I responded to Shanley's post: this is missing one type of engineer that is common in our field:

* Average Engineer - Creates complex problems in response to simple problems...

This is where the desire for rockstars / 10x engineers comes from. One person to clean up the mess made by 10 others.
High resolution global climate mapping
I think you are overly optimistic, LibreOffice remains less functional than Office 97 and GIMP is a study in bad GUI design - not to mention the rest of the Creative Suite being missing in action. I was recently shocked to learn that I can't rotate text inside a table. Also LibreOffice at one point included the full source code of Thunderbird, some OSS is well written but I am not convinced that it is better at the architecture level when compared to Microsoft's offerings.

After 15-20 years the OpenSource user-land remains confusingly fragmented. Multiple monitors are a pain and applications don't have the understanding of full-screen. Working with icons on the desktops was hard, so now we have launchers, and now we are doing away with the desktop all together - my theory being that drag-able icon interaction was too hard to implement. Distro's are fragmented by their philosophies on software rather then their GUI's - resulting in horrible user experiences. Why the hell does Linux mint come in so many flavors?

Drivers remain a problem, I recently had to recompile modify the kernel because my elan mouse was being detected incorrectly. Ubuntu has made large leaps but I have noticed that their GUI burns power and shutters on systems that are about 5 years old. Also, remember when computers could hibernate?

But, I use Gentoo for work, 'cause kcachegrind is good. I think OSS has delivered something unique to its users but it is whole different from a general purpose operating system like Windows.

I think the comparison between Latex and Word is a good comparison between he OpenSource and propriety world.

When people speak to highlight the progress of OSS I am tempted to ask:

How many years do I have to wait?

How many years do I have to wait?

How many years do I have to wait?

How many years do I have to wait?

How many years do I have to wait?

How many years do I have to wait?

How many years do I have to wait?
It doesn't have a preinstalled Norton trial.
I think the ransom model can help a lot in cases like this. Develop closed until the software is good enough and then negotiate a pay-day based on the future discounted value of the software, upon receiving the cash the software gets open-sourced.

This could work for other creative efforts as well.
> more flexible than the Pascal method in general

Why? C strings and Pascal strings can store exactly the same contents, except Pascal strings can store a literal \0, and are faster to manipulate (in many ways), at the cost of (sizeof(word) - 1) extra bytes.
Cython might also be worth considering. It lets you add static type declarations to Python and produces compiled code. You could avoid a big-bang rewrite, migrating the slower operations first. I don't know whether it would meet all your cross-platform requirements though.

http://cython.org/
I say take it, unless you are currently employed elsewhere. It can't be worse than unemployment, monetarily speaking. Plus, if you don't like the fit you can always leave (unless its a contract situation, etc).
> how long do you need to keep working for free to avoid being considered a petulant child?

Um, they have to pay extra to shut down the website. Just leave the website up. Petulant is right, they are putting up the message to complain about things, not to save money.
He's empirically wrong because I've worked with 10x developers.

A few years ago I worked with a guy there whose output, productivity, and smart solutions combined with godlike C++ coding ability made him probably 100x more effective than anyone else in the place.

This was in the front office at Goldman Sachs, so the rest of us weren't completely useless. He was just in a different league though.

I have also worked with a 10x developer who carried a small company of around 50.
I don't get what computer power has to do with how much sense does it make to write a kernel.

(Except for the performance benefits of going bare metal, but that does not apply to a free alternative to an existing kernel.)

Please elaborate.
Great overview :)
If you're talking about Tiny Habits, I can vouch for it since I took it end of March this year. Of course my word's not worth much but BJ Fogg does explain about the method on his blog:
http://www.foggmethod.com/#large-media and http://www.behaviormodel.org/
so in that sense it isn't like the "fitness/attract opposite sex" programs (scams) you talk about where everything is hidden and shrouded in mystery.

It's all automated via email, so it can be free. It is quite simple and effective but applying the rules in a general sense is something you'll have to master over time.

Also although BJ Fogg has my email address, he's never tried to sell me anything after the program finished, even though I note from his updated site he's got a new certification to be a coach program going on.
So why shut down the website? Why not just leave it there?
Google yanks sketchy iMessage clone for Android from app store
Presumably what happens is that selling housing becomes so insanely lucrative developers throw up massive amounts of new places to live, solving the housing issue through added supply.

If the city is prohibiting that construction from happening, perhaps that's where you should point the finger rather than the people buying and selling at market prices.
No -- you might as well drop off a ream of paper at the recycler's, as that would cut out the middleman.

It isn't difficult to meet people who have authority to hire people. Go to meetups/tech events/conferences in your area. Demonstrate value; ask people if they/their firms are hiring or if they know anyone who is. Some people who go to meetups/etc do not have hiring authority, but they often know who in their organization does -- ask them for a warm introduction.

There exists a series of tubes between every engineering candidate and every firm which hires engineers. It isn't like there is a Super Secret Hacker News For People Who Actually Hire People. Same HN. Same Twitter. Same email (probably your best bet for a cold contact). Same phone system. Same Github.

(Passively adding stuff to your Github is a low ROI way to get offers. Find a project managed by your target company, fix a bug or send them a pull request, then try to escalate to a discussion with a decisionmaker in engineering -- coffee or a Skype chat or whatever.)
> it means 'End of string' in UTF-8

No it doesn't, unless you are saying that one should treat it like that. But null termination is as dangerous[1,2] with UTF-8 as it is with ASCII and should be avoided as much as possible anyway. Also, ASCII doesn't mandate that \0 is end-of-string, that's just a "convention" from C.

(Did you notice that my original comment actually included the exact modified UTF-8 link you provided?)

[1]: http://cwe.mitre.org/data/definitions/170.html
[2]: http://projects.webappsec.org/w/page/13246949/Null%20Byte%20...
Unless it's the network that's down. Or is that the job of a network admin?
I did not think the incentives for landlords through, it seems. I think I agree with you that the market would not find a solution that would practically preserve the right of a renter to AirBnB his or her place.
How large was the team?
I don't think it's the job of a startup CEO to explain startup mechanics to his staff.
Fair enough - I agree that Microsoft has been shifting it's messaging quite a bit - but I think a lot of that has to do with Apple being a functional organization (singular vision directed on downwards) and Microsoft is a Divisional Organization (multiple business lines). Where the single vision is communicated (Windows Everywhere) - it's not always appropriate -(Consumers care about experience, not product lines)

Here is the last few years of Apple Ads.

o http://www.youtube.com/watch?v=qfv6Ah_MVJU (PC Ad)

o http://www.youtube.com/watch?v=hQw3mVWXncg (iPod Ad)

o http://www.youtube.com/watch?v=CMcrw8WTWSs (Genius Ad)

They have been hitting their stride recently:

o http://www.youtube.com/watch?v=NoVW62mwSQQ (iPhone Camera)

o http://www.youtube.com/watch?v=iu1jHtf_oUc (iPhone Facetime)

o http://www.youtube.com/watch?v=fDUKt_XgfJ4 (iPhone Music)

Interesting, one of the supposedly "Worst reviewed" ads really spoke to me

o http://www.youtube.com/watch?v=170fh2mvog0 (Designed in California)

I hope we see more like the last one. That's the sort of thing that I think a company should aspire to.
If you're not testing the code you are refactoring how do you know it still works or even worked in the first place?

There are other ways, different than testing, to convince yourself and others that a program does what it is meant to do. They complement testing. You use them already while constructing the deterministic parts of your program: much of what the machine does for you is predictable, and good languages and libraries are designed to make it so.

In fact, tests won't tell you that the program works, only that it doesn't fail the test cases. You then use the predictable aspects of your domain to convince yourself that the program works if it doesn't fail those test cases.

In the same way that programmatically renaming a variable does not usually warrant the writing of a test case, many forms of automatic refactoring are theoretically guaranteed to not break your program. If they involve type renames, you might be able to deduce that any resulting errors will be caught by the type checker.

(Please don't take this as an argument against testing, but against always requiring test coverage)
Run your own shop then. I mean, if you don't like how the pie gets split up, bake your own. There has never been a better time in the history of mankind than our industry, right now, to put your money where your mouth is. You don't need an Ivy League degree, a rich daddy, or a million in equipment, just a laptop and a dream. That's.... Almost inconceivably powerful, given how other businesses operate. And I don't think it will last forever, either.

I did, and I'm not sorry I did, but I can say with confidence that this shit is not for everybody. AND I paid a heavy financial toll for 'equity', which is nonsense, but I got agency, which is priceless.
Definitely a cool concept. Now build it!
People tried this out years ago and it never really worked out very well, but perhaps with stuff like Kickstarter, things will change.

Part of the problem with it is that it involves a lot of "make me think" on behalf of the acquirer, rather than simply "ok, I need this, the price seems ok, I'll buy it".
I understand where you're coming from -- there are some truly good engineers out there.

But I think he's right too. He's essentially arguing about the true meaning of the metric. Of course there are engineers who can spot bugs at 1/100th the time as an arbitrary engineer. Or fixes things 10x faster (being familiar with the code base certainly helps).

But to have the literal productive capacity of 10 people? That's much different, and that's what he means. Are you capable of replacing 10 arbitrary engineers with the rockstar? No? Then that's not a 10x engineer, by his definition.
There's no reason for that, UTF-8 is only there to encode Unicode codepoints, and the whole range of codepoints (including the 80% not yet attributed) can be expressed in UTF-8.
Don't go. You're not a good fit. If you were, you wouldn't probably call them mediocre in the first place.