skysight-inc/HackerNews huggingface dataset:
Apart from that one Harry Potter article, I haven't found content marketing to be that effective in attracting new users, mainly because I haven't invested enough time in it. The low hanging fruit I'm going after first is to add more landing pages and product information about Readlang. Later I might try getting language teachers and bloggers to help out with the content marketing, I can't see myself doing it frequently since it takes too much time from working on the product. Definitely need more content for SEO, almost all my search engine traffic queries at the moment contain the term "readlang".

Being bootstrapped, my core metric for the moment is revenue and the graph is looking pretty bumpy at the moment, I may follow up with a blog post digging into the details.

Onboarding - I completely agree, I started playing around with more walkthough hints, using a rabbit character (a la Clippy) that guides you though the process, but abandoned it since adding more complexity felt wrong when the underlying UI should probably be clearer. Still plan to add a nice checklist of items that new users are encouraged to complete.

Love that Kathy Sierra article about learning - remember reading "Head First Design Patterns" about 10 years ago, first impression was how tacky all the clip-art looked, but I ended up really impressed with how engaging it was. At the moment, Readlang is still best for people who already know they want to practice by reading and just want a better, more convenient method. Long term, I want to make make it a slightly more guided and engaging experience. This could include personal recommendations of articles, gamification around both reading and flashcard practice, and social features e.g. write a summary of the previous chapter in Spanish, discuss the text with other users.

I agree a full English translation would be nice for beginner learners, ideally a real human translation, similar to a parallel text. For now the product is targeted at intermediate and advanced learners but definitely something to consider as it broadens to appeal to beginners.

Opt in to the daily flashcard email is currently presented once you finish a flashcard session - pretty hidden - I'll make it more visible! (note: currently all users who've translated a bunch of words get a lifecycle email 2 weeks after signing up with a plain text version of a flashcard)

I'll experiment with adding a way to upgrade from the get go. I was concerned that upselling before users had a chance to play with the product could scare them off, but will try it out!

I'm gradually learning and will work on making my marketing more user focussed. This image really sums it up and sticks in your head: http://www.useronboard.com/features-vs-benefits/

Thanks again, really awesome feedback!

EDIT: slight readability tweaks
>"what are the forces that generate these regulations, and how can we change those forces?"

There's an entire field that studies exactly this question: public choice theory.

https://en.wikipedia.org/wiki/Public_choice
The reason why for many people college felt like a strong community is probably because they found or stumbled upon one of many such communities within their colleges. Things like:

- sports/activity/etc. club with regular events
- student organization
- dorm life
- very specific subculture

The basic formula is time + regular 'unstructured' interaction with a a relatively small group of people. College usually provides the first, but the second might take some work.

In high school, you get both by default, so there's a decent change you at least made some friends, either from the large group you interact with, or from the tiny group of other outcasts that you're part of.

I think many ills of our society would significantly lessen if we create environments and lifestyles where 'time + leisure within small tribe' can exist again. Cities can offer the latter pretty well, but time always seems to be a bit of a problem.
Fair point, I am not pretending that everyone will have same requirements and oppinions.
But even with SSL at least the domain is still visible. And in some cases there are ways to infer what URL you actually visited.

I also see companies using MITM successfully in a way that unless you check the cert your self it seems legit. I still use HTTPS when I go to Google but I can see the cert is spoofed.

And what about the people that don't care and are effectively prohibited from using a public data site at all since the site decided to use HTTPS only? Do way say we don't care about them? Since few years back we wanted our sites to be available to everyone, on old browser new browsers, mobiles and so on.

And having people smarter then me (like Roy Fielding) agreeing this does not do much for privacy rather content confidentiality (and actually making communication less private) is not making me any more convinced.

Bottom line, and I don't expect everyone to agree, is that I am all for using SSL even by default, but for public data I would still want to have access to it over plain HTTP.

I want/need that choice, otherwise we are hindering corporation employees and people living in the countries in which governments do massive surveillance. I think it is important for people to realise that SSL is not the ultimate solution for data integrity and specially privacy as it is often posed to be.

Thanks to all expressing your views in comments.
This certainly is a possibility and something we will closely observe over time.

I do also wonder, if someone who feels unhappy in their job is more likely to sign up to our service, that someone who is not. This could be a side effect of the product being something that is currently just aimed at individuals for their own personal use.
Instavest (YC W15) Is Hiring a Senior Software Engineer (Python)
Mountain View, CA - Full Time Only

Instavest (YC W15) is looking for a senior software engineer to help take our rapidly growing financial trading app to the next level.

To apply, send a resume to jobs@instavest.com

Requirements:

* Strong Python skills
* Knowledge of relational databases (PostgreSQL)

Bonus:

* Django experience
* Experience working with sensitive data and systems that need to always work

Compensation:

* Significant equity
* Full benefits

jobs@instavest.com
So explain why they are fighting tooth and nail to deregulate derivatives, if they love it so much.
Dying hair basically involves putting bleach onto someone's head. If you leave it on too long or use too much, their hair falls out. It's not unreasonable to expect some sort of certification for this.

$16,000 is insane though. For less than that in the UK I'm pretty sure you can take a full-fledged construction course and get a job building houses.
I would agree if we were talking about much more advanced technologies (like multi-threading or high performance code). But using cryptographic functions or parameterised queries are pretty basic skills. You don't expect every electrician to be able to fix a motherboard but you expect any electrician to know "domestic electrical installation 101".
In fairness to Google, the question is pretty darn simple...

def invertTree(self, root):
if root is not None:
tmp = root.left
root.left = self.invertTree(root.right)
root.right = self.invertTree(tmp)

return root
Hmm, sorry if I'm misunderstanding, but from your suggestions it's not clear if you realise that the extension is intended for reading in your target language and translating occasional words to your native language.

e.g.

> ...and in subsequent pages will display them in the target language without the user doing anything. They will no longer be displayed in the user's language.

The idea is that to learn Spanish, you read Spanish webpages, so everything is displayed in the target language at first, and you click to get the English translation.

Detecting words which are unusually frequent in the page you're reading, and automatically adding a translation to the first instance is a cool idea.

> The first message it displayed was that I had to drag some link, etc.. Why is that?

I think you're referring to the bookmarklet that needs to be installed to translate webpages, this is an alternative to the Chrome extension and works on almost all browsers.

> I had a message saying "This is a very large page"

Yeah, this is pretty ugly, should think of a nicer solution.
If a cab driver refuses you service take the next one.

While the population in large cities is growing, plenty of people don't live in one. "Take the next one" simply isn't an option for those people (I speak from experience, having lived in the countryside).
Continuous reboot loop for Nexus devices ( since Lollipop 5.1 )
PolyBoRi is dead, it needs your help
I don't do any processing - the phrase goes directly to Google.

Users can edit the translations so I'm accumulating data which could be aggregated in future to improve translations, but not doing that at the moment.
Actually, it is often not the government that charges outrageous fees. Very often, a system is in place where you need to get a license from a private provider, and the private providers of licenses charge outrageous fees.

Incidentally, this explains how many of these certification rules are established in the first place: the certifiers lobby for it, because it brings them profits. (I still believe that the majority of certification rules happen because somebody messed up, which led to calls for stricter regulation.)
The problem wasn't to just reverse the nodes, it was to re-sort it:

> @rogerdai16 to min-max the tree, ascending to descending.

https://twitter.com/mxcl/status/608891015945170944
And they acknlowedge it : "We would like to thank React for showing that full re-renders can be made efficient. While we did not their precise Virtual DOM approach, their work with Virtual DOM was extremely influential to our approach in Glimmer." Fair play !
Because it's expensive. Really expensive. Replacing California's agricultural water supply with desal plants would cost something on the order of $2,000 per acre-foot at current-day energy prices. That's something like 80 billion dollars per year before you consider distribution, and it doesn't filter through the local economy, it's shipped straight to foreign natural gas and coal exporters. California's agricultural output sells for around 40 billion dollars a year given water that's free & unmetered from the ground, and a feudal fiefdom ownership share from the rivers/canals. That pays for the land, the labor, the processing, the fertilizer, the seeds, everything.

At some point it's cheaper to just grow things in places other than California.
Kind of funny. Although maybe true.
Considering the answer is 1 line, I doubt I would have hired him either...

def inverse(t): return Node(inverse(t.r), t.v, inverse(t.l)) if t else t

or if you must do it in place, 3 lines...

def invert(t):
if t: (t.l, t.r) = (invert(t.r), t.v, invert(t.l))
return t
I bet you could do it with sound, too. Imagine producing what would seem like abstract noise – unrelated to anything in the natural world – but with particular structures and sequences of tones optimised to produce particular emotive responses; pleasure, excitement, calm, energised dancing, romantic dancing...

... wait, don't we already do that?
I was bracing for "PHP" the whole time I was reading the website.
How do you flip two variable without a third one ?
You want a well built iPhone app for $30000, you'll get what you paid for, probably.

Yeah, probably. That's not nearly good enough. Not even close. There's an enormous list of extraordinarily expensive failures in the software industry. If I pay an actual professional a serious amount of money to do something for me, and it turns out they did a truly awful job (which is pretty common in the software industry), I expect to be able to claim recompense from their professional insurer and/or their professional licencing body. That's part of why I pay so much; the reassurance. Knowing I can rely on it.

Software, of course, has no such professional body, and exists in a twilight world of chancers and incompetents. Why should the software industry get away with knowingly producing crap and charging a fortune for it?

I'd be happy with a two tier approach; at the moment, if I want a wall built, I can pay a professional (with the expectations and protections that comes with the high price) or hire a day-labourer I met in the pub. There is no such choice in software.
Indeed, it's not a difficult question.

I think people were making fun of Google, because it is a caricature of their whole interview process.

If a large number of your engineers is using Homebrew, having its developer is an asset for many different reasons (e.g. influencing the focus of the project, getting formulae in that interest you, or simply improving a tool that is important to your productivity). But no, they reject him because he cannot invert a binary tree.

It's like throwing one of the better offenders out of your soccer team, because he cannot substitute as a goalkeeper.
Rather small correction, but Apple's version of Myriad is actually a variation called Myriad Set, not Myriad Pro.
I am looking for best practices for CSS. Can someone point me to one they found really useful?
MIT researcher’s printable origami robot fold itself up and complete tasks
And how would you propose they test it?

It's a little difficult to test this kind of config without emulating the entire internet - which is quite clearly beyond the scope of all bar a very small number of organisations.
Growth Hack That Led to One Sales Enquiry per Minute
This topic has spilled too much ink.
Iterative solution:

def invertTree(self, root):
queue = []
if root is not None:
queue.append(root)
while queue:
current = queue.pop()
current.left, current.right = current.right, current.left
if current.left is not None:
queue.append(current.left)
if current.right is not None:
queue.append(current.right)
return root
Are Limited Lifespans an Evolutionary Adaptation?
It's more like not letting the CEO of your soccer ball manufacturer play on your team because he can't kick a soccer ball.
Is doing every language effective? Most of them cause me no/very little extra effort so I figure why not. The danger is that learning some of the languages gives a worse experience and may negatively impact the users' impression of the entire product. e.g. the site isn't great for Japanese and Chinese which should have extra features such as Furigana/Pinyin, and smart word boundary detection (they don't use spaces to separate words).

Is google translate good enough? Depends. It's certainly not good enough to trust 100%, which is a big issue for beginners. But once you have a basic level of understanding you can generally tell from the context whether a translation makes sense or not. If you're not convinced, you just need to open the extra popup/sidebar dictionary, and I encourage users to check and correct any translations the first time they encounter them in the flashcard section.

I added the YouTube feature very early on, when the rest of the site was rougher round the edges, and felt I should have concentrated more on the core reading experience. Now though, I'm glad the feature is there, it's great for listening practice, some people get satisfaction from syncing and sharing videos, and it's one extra way to impress people when demoing the site.

Regarding plain audio - this isn't on my immediate TODO list but I agree it would be cool. Personally I'd love to listen to podcasts + transcriptions to help me learn.
C++ Solution here :

TreeNode* invertTree(TreeNode* root)
{
if (root)
{
TreeNode* temp = root->left;
root->left = invertTree(root->right);
root->right = invertTree(temp);
}
return root;
}
Technology You Didn't Know Still Existed: The Telegram
There hasn't actually been any crime committed though.

Unless you want to turn miscoding config files into an international crime - in which case every single person who works in IT would be a criminal since we all error at some point in our careers (usually frequently, to be honest).

Granted the scale here is greater than your usual sysadmin would have access to, but the nature of the error isn't any different.
What's hard is to have necessary CS background to understand what "inverting a tree" as a term means. As a non-CS major, I don't know what they use it for as a "term" and it evokes several things I can do with a tree as an outsider. So interviewers can quickly eliminate me as a non-CS. How to invert a tree on a whiteboard? Use a mirror.
I meant IF (NOT) EXISTS for DDL. It exists for DML of course.
what's your issue with Zk. It might be overweight but so far in ourdeployments it behaves a lot better than etcd. But if you're interested there's a lot being done with etcd and consul. I haven't seen etcd handling the kind of mixed data-web services that zookeeper was built for.
Not sure why, but I'd feel iffy iterating on a list while mutating its content.

But I guess it's file while ignoring the order of the items, and just caring if it's containing items or empty.

Carry on :)
Hi Kevin, Thanks so much for your thoughtful comments!

1) Curious re. O365: Yes it was a strategic decision for two reasons. Firstly we also have an Exchange 2010 version. Hiri is for work email, an alternative to Outlook - Microsoft have the lions share of the enterprise market. Secondly, installation for Exchange requires a little more configuration as companies can have unique setups. Office 365 users can download directly and just have to enter email/username and password to try it. We really want users and feedback and this is a good route to that. On the technical side, it hasn't been a walk in the park!

2) Regarding your comments on the site/messaging: Thank you! This needs love and attention. I won't list all the things you have said again…because essentially I just agree with them. The one thing I will say is that we do get a good reaction to our video (although it makes me cringe every time because that's me doing the fist pump at the end!)…but yeah, it's probably not the clearest message to grab attention. Changes will happen very soon! What about the idea of putting the signup and download section at the top?

3) Delegate: This works to all email addresses.

We also have a walkthrough video here to give you a better feel for the product - https://vimeo.com/122338477

Thanks again, delighted to hear that you will give it a try - here is my email for any questions: laura@hiri.com
Too bad the website requires you to sign up to run your solution.

But it's an interesting concept, I've had to use a similar one in the past for a job interview.
Ask HN: When was the last time you had to know advanced algebra when coding?
Hi kseistrup,
thank you for your feedback!
HTTPS connection is definitely on our backlog for the next couple of days!
What will come next:
- HTTPS
- Fix of minor known mobile / tablet version
- Improve usability of mobile / tablet version
- Signup Possibility
- User can view their created / joined events
- Password protection of events
- Advanced notification functions of event creators
- Advanced control about required fields of event attendees
- Easier way to invite people
- iCal, Outlook Plugins
- Open source of some custom Angular modules and directives
> Probing more deeply, Penney found that this seemed to correlate with verbal intelligence – the kind tested by word games in IQ tests, compared to prowess at spatial puzzles (which, in fact, seemed to reduce the risk of anxiety). He speculates that greater eloquence might also make you more likely to verbalise anxieties and ruminate over them.

While I'm nowhere near the same IQ as some of the people on that list, I do believe I have strong verbal intelligence. And yes, I do suffer a lot from anxiety, most of which stems from me explaining these anxieties in my own head.
>> You have not signed in, cannot submit your code.</a>
It's Google, it must be important!
Cerner expects to hire 16,000 over next 10 yrs
Sounds cool, I'll keep my eyes open!
FT Review of Why Information Grows by César Hidalgo
I can understand that. About 20 years ago I briefly dated a young lady that I got along with extremely well. The kind of relationship where we were comfortable enough with each other to casually discuss very personal matters.

The problem was that she had a boyfriend. One day she asked me if I would be her boyfriend if she broke up with the other guy. I told her not to do that because I would always have trust issues with her, knowing that she was a "cheater."

I know that it's easy to idealize what might have been, but to this day I still think about her and that rejecting her was probably the biggest mistake of my life. Shortly after we went our separate ways, I met my future and current wife of 18 years (it's been a difficult marriage, and probably won't last much longer... and should have ended over 10 years ago).

For various reasons, we never had any children, while my ex-"girlfriend" met someone else, and had two children that I know of. Even after all these years, I still think of my ex at least weekly, and imagine what might have been. I've casually tried to locate her over the years, hoping that she might be single again, but without luck.

Anyway, I know this isn't the proper forum for this, but it's something I've never told anyone about and your comment resonated rather strongly. Good luck with your situation!
Very interesting that the 3 answers here are 2 Python and 1 C++; I feared the world had descended into a JS downward spiral, but clearly not.
An interesting article, but it doesn't deal with the versioning of the microservices - only the orchestration of those versions.
Another way to look at it would be that intelligence is just a tool every person has. A tool we are all free to use and abuse as we please. It allows one possessing a lot of intelligence to achieve once goals quicker and more efficiently. However, the goals them selves can be as good, evil, misguided, or downright stupid as humanly possible.

A very intelligent person with a good goal can achieve amazing things, including happiness. But very rarely even the most intelligent of us ever really know what we want, and in that lies the problem. Given a misguided goal, high intelligence can quickly amplify your efforts of digging your self deeper and deeper into a whole.

So, in the end intelligence is like a gun, a nice tool to have as long as you use it wisely, carefully, and for it's intended purpose.
You shouldn't feel the need to delete infrequent words like this manually.

The flashcards use the frequency to prioritize the useful words first, so provided you have a large enough pool of translated words you will never see the really infrequent ones. (The exception is that if you star any word, it will be bumped to top priority)

Agree it could be nice to show the frequency information in the word list somehow, but it needs to be subtle / hidden enough not to clutter the UI.