skysight-inc/HackerNews huggingface dataset:
In the worst case scenario the time complexity of a hash table equals that of its bucket, which doesn't have to be a list. So the only advantage of the map over the unordered_map seems to be the ease of use, it only needs a comparer.
Since you haven't used it you don't know how awkward it is compared to the Ruby iterations. Let's just say virtualenv and the packaging ecosystem is what drew me away from Python.
Parsedown has also been moving towards compliance with CommonMark.

http://parsedown.org/
I disagree that the state post a future update of the canary is equal to the state before it failed. New canary, same as the old does not apply, the alarm has rung, it can't be 'un-rung'.
This is basically magic to me. Really cool.
Thanks for the comment. Bret Victor referenced this paper in his essay [1] describing his vision. He loathed the idea of people simply calling him "The Inventor of the Computer Mouse"

[1] http://worrydream.com/#!/Engelbart
There is an online course on QlikView Extensions, which next session is scheduled for Jan 15. You may want to check it out: http://q-on.bi/courses/qlikview-extensions/
Office is the real cash cow, what users really want.

Everything else can be emulated away, but no accountant will ever work without MSExcel, no lawyer will work without MSWord, and Outlook is still the best integrated mail/calendar tool. Exchange and SQLServer are profitable, but they don't provide the same amount of lock-in and revenue that Office does.

However, this won't continue forever, especially with the move to mobile. I'd argue that giving away Windows Server would be a good move to try and secure the Office monopoly beyond the next five years.
Seriously? These days, the public consciousness routinely loses track of major issues within days or weeks. We're already forgetting the major lessons of the last decade (re: renewed war fervor and attacks on civil rights over ISIS). 40+ years ago is ancient history politically.

I don't think the timescale was the same in 18th century England, but we're still talking about a generation-level gap here--I don't think you could just automatically assume a connection without some evidence.
> There's actually way more we can say about this, but this is a huge book already, haha.

Yeah, so long for "I'll try to keep this short" :P

> One difference in encoding between python and ruby I think is, in ruby 1.9+, if a string is tagged with an encoding but contains bytes invalid for that encoding (that do not represent a legal sequence of chars), you'll get an exception if you try to concat it to anything else -- even a string of the same encoding. I don't _think_ that happens in python?

True, also strings in python are immutable, so unless there's some weird way to access the underlying char* with the CPython C Api, I don't think that you can have an invalid sequence of bytes inside an unicode string

(obviously you can have codepoint U+FFFD, if you set errors='replace' when decoding)

> Ruby also doesn't have a canonical internal encoding, strings can be in _any_ encoding it recognizes, tagged with that encoding and containing internal bytes in memory that are actually the bytes for that encoding (any one ruby knows about). I am not aware of any other language that made that choice -- I think it came about because of experience in the Japanese context, although at this point, I think anyone would be insane not to keep all of your in-memory strings in UTF-8 and transcode them on I/O, and kind of wish the language actually encouraged/required that. But, hey, I program in a U.S. context.

Yeah, some time ago I looked into the differences of Python/Ruby encoding, and I wrote down these notes that I just uploaded:

https://gist.github.com/berdario/9b6bd24cafe3817e4773

There are indeed some characters/ideograms that cannot be converted to unicode codepoints, but even if we try to obtain them, we westerners are none the wiser, since we cannot print them to our terminals in a utf-8 locale

About the edit you just added:

> I definitely like it better than Java, which did decide all strings had to have a canonical internal encoding (if only it wasn't the pre-unicode-consolidation "UCS-2"!! perhaps that experience, of choosing the in-retrospect wrong canonical internal encoding influended ruby's choice)

Yes, but I think that this issue is made more complex by Java's efforts to keep bytecode compatibility.

In a language like Python/Ruby, the bytecode is only an internal implementation detail, upon which you shouldn't rely (you should rely only on the semantics of the source code). If you keep the actual encoding of your unicode strings an internal implementation detail, this issue could've been avoided (without switching to linear time algorithms for strings handling):

Just migrate to UTF-32 (or to a dynamic fixed width encoding like in Python3.3) as the in-memory representation, when parsing strings from the source code, and everything would've continued to work.

I think that it had more to do with the Han unification, rather than with the fear of picking the "wrong encoding"
Check out Jana Care. http://janacare.com

The company is building a mobile based care platform for patients with diabetes or at risk of diabetes along with a Square equivalent device for diagnostics. While cost is one of the issue for patients, it is not the only one. Quality of care varies significantly across a city and the moment you step outside a major city, there is little to no specialized care for chronic conditions that need some form of training for managing the condition. A mobile phone with some form of internet connectivity is ubiquitous these days. So leveraging that to reach as many people as possible makes sense. There are over 80 million people with diabetes in India and another 80 million are expected to develop it over the next decade or so. Add to this the costs and quality of life of patients who have to suffer the complications (kidney failure, amputation, etc), and any improvements that can be made to these numbers with technology is worth the effort and makes business sense too.

The problem isn't India specific. China, US, Europe and the Middle East have similar or higher prevalence rates. It is just that India makes sense as a place to start doing things.

It's been a few years that we have been working on this. We mostly operate out of Bangalore but we have an office in Boston too. Feel free to drop by!

http://world.time.com/2013/05/12/no-answers-in-sight-for-ind...

http://www.bloomberg.com/news/2010-11-07/india-s-deadly-diab...
A friend of mine just joined Wave, building A tool for migrants to more reliably sending money back to their families : http://www.sendwave.com/
Looks pretty cool, but isn't cork on the way out? Will it work with a screw top as well?
We can still watch old Chaplin movie and love it. Because it's good. But if new movies were going to be released in 16fps then nobody would watch that (if it's just one movie people might go because of the novelty). Especially for action movies, there is no excuse not to reach 48, and better 60 fps, since we now have the technology to do this.

Peter Jackson and James Cameron are precursors and they will have the knowledge and the technique before everyone else when everyone will start making 60fps movies.
I think Ripple still has the better concept with consensus to verify transactions instead of proof of work.
So unlimited processing is your core strategic advantage? Is it just the psychological effect of "unlimited" that's important? If so you could have a soft-limit (think bandwidth-throttling). Or describe the actual limit in language that makes it seem bigger.

The business model of "promising" more capacity than you actually have is pretty common, especially with cloud storage provides. To some extent every SaaS does it. As long as you do the math and structure pricing accordingly you're fine.
For the person who has no time to put the cork back in the bottle ...
No, I have to use linux desktop at work form time to time and constantly amazed how fucking terrible it is. I think I would rather use OSX on Asus hardware.
About 7 months ago I interviewed at Twitter, making it through two phone interviews before failing to solve some tricky algorithms questions in the on-site interview. Recently a Twitter recruiter contacted me on Linkedin looking for referrals and I sent him my resume, only to be told that they were looking for people with more experience, despite significantly more relevant experience on my resume.

Is the BigCo interview process just that arbitrary?
Show HN: Shift for Android – Photo filters made by you
The main worry for TextSecure is that Google upon receiving a NSL will send you a targeted update for the TS client and GAPPS framework that sends all your msgs to a three letter agency before being encrypted and sent as usual. So Google would need a canary for the play store
I worked with one of the top 5's and the biggest issue was the hierarchical culture that seemed to give managers more status and money than coders.

I think this meant there wasn't a lot of incentive to become a great coder so people worked very hard to take on management responsibilities and not as hard at becoming great coders.

I'd really like to hear from people with more experience if this was just true of this one consulting company(one of he top 5) or was this true of many companies.

(first posted from cell phone, edited for readability)
> Server roundtrips just to format amounts of money. Yeesh.

Really? Why not just use a browser-based js library?

I don't really care much about i18n and I don't think there's a library around that does all the stuff mentioned in the post but it am I missing something to assume you could solve this without server roundtrips?
The Sweethome likes it, but it's expensive:

> "We tested the $300 Coravin system against Private Preserve, comparing bottles of wine that’d been saved for five days against a fresh bottle. While the Coravin-preserved bottle tasted more like the brand-new one, its price makes it impractical for many wine drinkers; it’s better suited for restaurant use, or serious oenophiles. For everyone else, Private Preserve is still the way to go."

http://thesweethome.com/reviews/best-way-to-keep-open-wine-f...
The Rise and Fall of Industrial Research Labs
Thanks for the link. The section on emulation and simulation struck me as patronizing and narrow.
Goober had to have been making good, even
crucial, use of his mental abilities or
we would not have ours.

So, what the heck
was Goober doing with his abilities that were
crucial? He found the cave, kept out animals
that could hurt him, built a fire to keep it warm, built
families, found food and water,
make tools, weapons, and clothes, etc. Apparently
found good uses for his brain.
Doesn't std::list<T> generate different code for each type T, at least naively? The generated code could end up taking up more space even if the data structures on which it operates look the same in memory.
Technically it's not pushing external libs into a language, it's pushing the functionality into standard libraries which expose objects. Nice!

Now if only PhoneGap was natively implemented. At least web-based notifications from websites!
My solution to the Fermi Paradox: Who the hell knows, who the hell can know, when all we have is a sample size of 1 to extrapolate from. The solutions to the FP seem to be representative of the personal beliefs of whomever is discussing it.
Will this be the thinnest smartphone ever
Guys, I made a very simple pull request regarding auto proxy detection on the standard library of ruby, but it still open after a little while. Someone here have some directions on how to contribute correctly to the project?
pythonz looks great, thanks
We're back on page one. This is exactly what some of us have said hours ago already and others have been doing: they watched the canary "die" (in terms of the mining analogy).
Cork only. Read how it works and you'll see that it can't work with a screw top. You can use Private Preserve with screw tops.
Higher- or lower- level domains, I feel, would be more accurate; when I code my c-with-templates embedded code there's no STL, so I'm quite aware of intrusive containers, even though I rarely code straight-C. My favorite variant is multiply-included linked lists---which I've seen in a number of one-off embedded JITs.
Shameless plug: I've been working on a i18n / localization SaaS for about a year now called Localize.js (https://localizejs.com), with the goal of automating the localization process. It works by scanning the DOM for translatable content, and injecting translations client side, on-the-fly (happens fast enough that the user never sees the text in the original language).

Internationalization is a notoriously difficult problem, and it's great to see some native API browser support. We definitely have a long way to go.
I've been offered a job by one company and then later turned down for an interview. It happens.
In my PERSONAL opinion, I see the canary as something saying "this is the last time we were known secure". If it gets updated, then things are fine. If this weren't the intended use, they'd have archiving systems so you could go back and see if someone missed an update.

Then again, I don't know if the US can make you lie and coerce you to sign the canary. If so, then what you say makes sense.
Cool! I will try to draw something with this builder[0]

[0] http://voxelbuilder.com/
Disclaimer: I am Spanish and I live in southern Spain.

I wonder how it is possible to compare these two...
One is about a country divided after a tragic war. The other one is about sovereignty.

I am not able to imagine how opening borders will help a country with huge unemployment problems (near 25%) make its people less poor. However I imagine how a white privileged artist from Germany could think such thing.
[1] does seem to be the paper of interest. It's not clear what Knuth is unhappy about. Campbell-Kelly's big complaint seems to be that the early history of computing mentions machines, languages, and algorithms too much, and doesn't discuss applications and users enough. That's a reasonable comment from a historian.

When Knuth wrote Vol. I, "Fundamental Algorithms", there were almost no computer books published other than manufacturer manuals and a few introductory programming language books. Knuth's series is really a history of algorithms, with each one traced back to its originator. The early history is on the record.

We're now inundated with corporate histories, mostly of applications companies. There's a glut of CEO biographies. There are academic papers on the history of the spreadsheet. There's no longer a lack of history on the user-facing side.

This comes with progress in the field. A book-length history of the electric motor, from Henry to Edison to Sprague to Tesla and up to modern brushless motors, would be interesting - to a very small number of people. Popular articles on motors can be found in mainstream publications from 1880 to 1925 or so. After that, they were just routine items, not newsworthy. Low-level algorithms now belong in that category. A few people still have to study how to do hash tables, just as a few people have to study rotating electrical machinery theory and design new motors.

The important thing is not to lose the history. Campbell-Kelly says "we can't save everything". Well, we can. Disk space is cheap. Future generations (of humans and machines) can re-summarize it.
And found the leisure time, materials and learned the skills required required to do some fingerpainting on the side (assuming the subject of the painting did not have practical or religious purposes).
He Sees You When You’re Sleeping, and Gives You Nightmares
That phone looks awesome.

I really want a firefoxOS phone that is spec'd out like a nexus 5 to exist...
Anonymity on web
A Critical Look at Salaried Professionals and the Soul-Battering System (2001)
http://en.wikipedia.org/wiki/Warrant_canary

"If the canary has not been updated in the time period specified by the host, users are to assume that the host has been served with such a subpoena."

That seems pretty clear to me.
Breaking Bad Parody- What's Meth?
Every problem he mentions, except the timezone difference, is exactly the same when you're outsourcing to large IT consulting companies in the US. The only difference is the US companies charge 5x-20x more for their crappy deliverables.

How many people here have worked with a major IT consultancy in the US? How many were satisfied with the process and result? I would be astonished if even 5 out of 100 projects outsourced within the US turn out so well that customers say, "That was great, we can't wait to work with those consultants again."

As a veteran of half a dozen such projects using half a dozen different IT consulting firms, my experience was they were all terrible experiences, with rampant price-gouging (novice programmers billed at $300/hour, "senior" people at $600-1,000/hour), conflicts of interest, poor communication, etc., and the work products in every case were massive total failures (and no, they do not give refunds).

I don't put much stock in this article as a specific critique of India, but as an article about outsourcing in general it's dead-on accurate.
Sure. The question is what happens when it starts getting updated again. If a LEA can't force you to update it, the only reasonable explanation is that there was an unrelated failure in updating it, and that everything is fine after all.
You're welcome to your own definition of what a warrant canary is and how it should be used but the specifics are defined pretty clearly and leave no room for your particular interpretation. It really would help if everybody would stick to the same definition for important stuff like this.
That's changing. I work at a Fortune 500 company that's strictly a Java shop and will probably never use Rails. Hardly anyone there has even heard of it. But we are using Chef to configure Red Hat VMs and deploy app builds.
Show HN: Send any webpage as a gift
Bit Mozilla needs to create a product good enough that people who don't care about what they stand for want it. Firefox was not a success because it was open but because it was the best browser on the market (but being open was properly a contributing factor to that).
If you've ever read his essays, you'll get the same eerie feeling of waiting for the shoe to drop while something inexplicable moves beneath the surface of the facts.
Check out the wooden mask carving in the video...
Gpl-3.0.odt – Brought to You by View Docs Online
http://Hotels.ng. 10,000 hotels in Nigeria and none of them online till we added them. Done 6000, another 20k or so left to go across the continent.
Go raibh maith agat, cara :) Agus tú féin
The article from the verge got more pictures and details: http://www.theverge.com/2014/12/23/7440079/fx0-firefox-os-sm...
I definitely agree the title of the argument is jumping to conclusions, but the problems are very real from what I have experienced.

paying more (to Indian (as in, in India) developers) doesn't alleviate those problems. people have really stretched what xenophobia and racism means anymore.

Why should they work for peanuts when their friends are working at google and FB making bank? because peanuts where they are is a very high standard of living, and lets face it, they do not have the skills or they would be working at fb and google making bank as well. One should never do a poor job just because they think they aren't compensated enough.
Bitpesa: http://bitpesa.co

Based in London and Nairobi, they've built a Bitcoin-based service that enables migrants & expats to send money quickly and safely back to their relatives (called remittances in FinTech parlance). I'm not directly associated with them, but we've met many times at Nairobi's monthly Bitcoin meetup.
When it gets updated again users are still to be under the assumption that you have received a warrant or NSL. That's the whole idea. I fear we're going around in circles here.
Biometric Marketing Could Change the World
Json. Seriously. In a replacement for init. And syslog. And ifconfig. Which already parses and understands XML. And other config files. And so on.

Why am I not surprised?

I give up.
Iterative traversals of Binary Trees
This. I'm happy to put up with some mild inconvenience to move toward more open ecosystems. I have predominantly used Linux since 1995 (since long before Linux was nice on the desktop), and as Firefox OS devices make their way to the US, I'll likely migrate off of Android.

Also, Firefox, the browser, is really firing on all cylinders these days. The developer edition is awesome, syncing is awesome and works across all devices (I use Firefox on phone, tablet, and Linux and Windows). And, most importantly, I trust Mozilla more than any other browser provider. I store a lot of stuff with Google, Amazon, Facebook, and Flickr, but I'm not entirely happy about it (to varying degrees).
'DannyBee, who is a lawyer, has written comments on HN that pretty convincingly rebut the idea that the USG could make you lie on their behalf.

https://news.ycombinator.com/item?id=6586812#up_6587254
Gecko Landmarks - makes location based services work where addresses are not available and people cannot read maps. Basically a reverse geo-coding service that work everywhere and for everyone.

http://www.geckolandmarks.com/
The EFF quote in your link suggest yes.
but this in turn would also raise the energy consumption proportionally

I'm curious about this point. Is this true? Does the energy cost increase in proportion to the hardware cost? It seems like bitcoin mining hardware becomes much more energy efficient with each new generation.

Could you link to a source?

There's some background data in here: https://medium.com/@interdome/how-much-electricity-does-bitc...
If you trust canaries AT ALL, you trust that an LEA can't make the owner sign it under duress. Otherwise they don't work, since the owner could just be forced to sign it without missing any window.

Then, it stands to reason that if the canary gets updated again, you trust that everything is fine again, and that the owner didn't get served with an NSL. Therefore, it follows that if you trust canaries at all, you cannot stop trusting them if they fail to be updated for a time, except for that specific duration.

Please correct me if my reasoning is wrong anywhere.
I would hope that any sidechains to bitcoin that use proof of work would have a shared mining model, so that miners could mine both simultaneously.
Look deeper into it and make your own conclusions
Dev practices
Context2, flame chart creator, goes open source
I think sidechains will replace the need for altcoins
Your point is fair.

The idea with ethereum is that oracles will be able to have a much finer granularity; whether this allows for more useful apps still remains to be proven by us in the ethereum community.

(Also, there are plenty of folks like myself working on oracle-free apps, but since these are based on unproven economic models at this point, it would be negligent for us to promote them widely before we have evidence that such designs work in practice, on the live ethereum blockchain)
Ah, thanks. Yeah, then it stands to reason that if a canary gets updated, things are fine. As I commented on a sibling, if the USG could compel you to lie, canaries would be completely useless as a concept.
The problem is for a generic library, and for some locales in particular, you need huge data tables to do it accurately: it may well be cheaper to just do it server-side rather than move those data tables over the wire.
Bitcoin remittances are going to be huge... I wonder if stripe will undercut them with their flat 50 cent fee for Bitcoin to fiat
No, air in the bottle after opening it still affects the wine, even if you put the cork back on. That's why they use argon.
NSA Reports Improper Surveillance of Americans
The cost of the material is negligible, we're talking less than $5. You can buy a pretty decent CPU for $200. Are you telling me that the overhead of cutting a piece of aluminum (the waste can easily be reused) is about the same as building a CPU?!!