skysight-inc/HackerNews huggingface dataset:
I have been passionate about electronics since I was 6 years old.

In my senior year in high school, I landed a part time job as an electronics technician. When I graduated, I worked full time for that company for 10 years as a self-taught electrical engineer. I started working on my college degree (Computer Science). I was able to take advantage of tuition reimbursement offered by the company to pay for college.
Student loans were not really needed back then as college costs were reasonable. I bought my first house.

I switched companies in 1989 and worked for almost 26 years
as an Electrical Engineer. I finished my Bachelor's Degree in Computer Science at the second company using tuition reimbursement, and my own funds. I really wanted to do a Bachelor's in Electrical Engineering, but there were not any evening classes available for EE at the time. Sold my first house, bought my second house and my vacation home.
Paid off my vacation home, refinanced my first home several times.

I think the main things which got me to where I am today are the following:

1. Think of debt as slavery. It should be paid off as quickly as possible.
2. Have as few children as possible. (I have none).
3. Don't spend frivolously. Live way before your means.
4. Try to do as many home and car repairs as you can yourself.
5. Make sure you are adequately insured. In the US, you need
medical insurance to cover medical costs and liability insurance to protect from lawsuits. As your assets grow, you need to adjust your liability insurance accordingly.
6. Invest regularly and often.
This not an 'immigrant' thing, it is a H1B requirement. When I initially began working in the US under Trad NAFTA there was no such requirement, but when I changed to a permanent track the job had to be posted. It is part of the process to prove that there is not a qualified person already available to fill the position. The whole underlying proposition of H1B is there is a shortage, disclosing the salary is just part of the process of proving it, which falls to the company making the petition. Really, I never gave it a second thought.
As a sole form of authentication, no, absolutely no. Fingerprints have a lot of disadvantages, even relative to other biometrics. Extremely easy to steal/spoof, not actually unique, and impossible to revoke on account compromise.

You can make the argument that they're mildly useful in 2 (or more) factor auth-- probability that someone has both obtained your password AND lifted your prints is somewhat less likely than either alone.
Do you think there are meetings and secret societies where the older generation coordinates to plot the down fall of the newer generation?
You have to compare like for like living out in zone 2/3 with 35/45 min commute is not the same as Central SF.

That's like comparing costs in Bedford 65 miles away from London fast train take's 35 mins to St Pancras - Slow train is less than an hour to the city.
This is an interesting article
https://www.discovermeteor.com/blog/pagination-problems-mete...
A Linux proud history – 15 years ago and the Brazilian ATM
What puzzles me about your comment is that you don't directly refute what Dasil003 was saying, which is that the technology didn't actually work, that from the customer perspective the execution was "mediocre at best".

I'm sure he's a bright and likable guy, and from his resume I figure he must be an inspiring leader. But for me, being a great technologist is all about things actually working, about users actually getting served. Sure, one should fail a lot in the lab, and sure, startups should be trying enough things that some just don't have product/market fit. But that's very different to me than promising the moon and delivering stuff that doesn't actually work.
They aren't making shit vehicles any more. They had a shit management (i.e. GM), but the brands themselves are making great cars.
There is a plugin for Sublime Text with similar functionalities.

For ST2: https://github.com/SublimeLinter/SublimeLinter-for-ST2#subli...

For ST3: https://github.com/SublimeLinter/SublimeLinter-annotations
The Big Meh
We're operating off of rumors and a font hack that uses a font designed for hi-fidelity mockups of Apple Watch apps. I'm going to wait and see what Apple releases.
I agree that unaligned switches/pattern matches are bad (and in fact, there is an utility for OCaml which will nicely indent your pattern matches).
You can go vote and write in 'Lady Gaga' or something. The important part is that you getup and go "vote", to signal that you care.

Otherwise, politicians won't be able to tell whether you are dissatisfied or just uninterested. If you are explicitly dissatisfied, they might try to do something to get your vote. Hopefully by enacting good policy.
The WITHIN GROUP and FILTER SQL Clauses of PostgreSQL 9.4
;) I'm in no way offended. I guess kazinator is spending his time much better than me.
But anyway, if anyone is more comfortable using CLI (or any IDE that provides this) with grep/ack/ag/pt and that solves parsing todos for him, that's great.
I would only use Leasot if you need easy integration with other tools (think JSONs/XML), want to trim down false positives (such as variable names, strings etc...).

There are probably other use cases, but overall, if cli regex works great for you, stick with it.

Regarding if Leasot is pointless or not, well everyone is entitled to their own opinion (kazinator). In the greater sense I guess the world needs more todo doers than todo parsers ;)
The Holy Grail: Pure CSS Scrolling Tables with Fixed Headers
Hey if the author reads this nice article! On my iPhone 5S running the latest iOS (8.3) and using Safari the pictures seem to cut off a bit. It might be worth checking out if you're interested.

I enjoyed checking out the different uses of dots though. After the semester and once my blogs up I hope to do some data projects so it will be fun to work with different ways of displaying some of the information that comes out.
Ah you mean yet more stuff to download and slowdown page loading
in my case spelling mistakes are handled by the the editor or IDE.
Show HN: Find Break-Even Point with AWS Reservation Terms
It's a TOR hidden service address
This sounds like the real reason.
It's interesting how in the screenshot the message has 3 letters missing. They were supposed to be the accented letters "Á" and "É", but they were replaced with spaces by the GUI.
Watson looks really nice... Could definitely learn from it.

In github issues you mean exporting a TODO to a github issue? If so, I don't think that belongs in Leasot, but rather an external tool for creating/manipulating Github issues (And I'm sure that kind of tool exists).
Perhaps I'm missing something but the video you linked to seems to have blocky movement as well.
Our Neanderthal Complex What if our ancient relatives did “human” better?
EDIT: I'm updating my profile with an email address, can you please send me an email?
It is reminiscent of German industrial typeface DIN [1], which looks stylish in certain contexts (advertising), but arguably too stylish and cold for general use. An OS font will be used for everything from obituaries to love letters. Helvetica is a horrible screen font [2], but, unlike San Francisco, it doesn't impose a certain mood on text.

(On the other hand, SF's readability kicks Helvetica's ass, so at the end of the day, I do welcome this change. But Apple could do so much better.)

[1] FF DIN, an adaption for use in graphic design: https://www.myfonts.com/fonts/fontfont/ff-din/

[2] See e.g. http://spiekermann.com/en/wp-content/uploads/2012/02/helveti...
And yet this is based on an untested assumption that political union is the only way to avoid this.

Furthermore, you could argue that the EU contributed to the triggering of a new Cold War (hot in the Ukraine) by staging a coup of a democratically elected government.

Or at the very least having unelected foreign policy actors (Ashton et al) take ham-fisted actions on behalf of a whole continent.

...or that it has contributed to untold sufferring of an entire generation in the Mediterranean countries due to an ill-conceived currency union.

Given said negative externalities, might it be worth re-visting the premise of the whole endeavour?
If FSF turned truly malicious, they could remove the "no warranty" section.
Keep in mind that Linus's reasons behind licensing are often selfish ones: he simply wants as many people as possible contributing code to him.
And this is exactly the kind of customer you get when you offer cheap work. You'll probably regret this. Make sure you have a rock solid contract. My advice: If you want to develop an app, JFDI.
Researchers first to create a single-molecule diode
If you feel the need to write a reverseListAndAddOneToEachElement function for your code base, it is probably because you have lots of instances of it.

If you have lots of instances of it, its probably because there is a higher level, domain related reason why you're doing it. Your function should be called that, not reverseListAndAddOneToEachElement.
> to say to a friend.

I would review his definition of a friend... I'd say that was a very poor thing to say even for an acquaintance.
Team finds the 'key' to quantum network solution
Shortest code to create a temperature unit converter
Mosquito Bite Led IndustrialDesigner to Develop Painfree Insulin Delivery System
>> "You have to compare like for like living out in zone 2/3 with 35/45 min commute is not the same as Central SF."

I said Zone 2, 20 mins out.

I guess it's really impossible to compare. London's a much bigger city with so much in the centre (tourist stuff in particular) that I don't think it would actually be very nice to live there. Whereas if I lived in SF I would like to live quite central.
> Leasot is written in Node.js.

Ah yes, my mistake. Though being written in Javascript makes it even worse for requiring dependencies as at least Python ships with most distros default install.

> Regarding pretty output - that could definitely be argued, but Leasot also allows for different reporters, say you want the output in JSON/XML for an external tool. That is extendable, whereas grep over regex in CLI is fast & powerful but not as flexible

I'd already addressed that point. UNIX pipes allow you to extend grep using any language (including Javascript / node.js) you want. Leasot if only extendible if you already know Javascript and node.js. Plus there are plenty of CLI tools available that can read list input from STDIN and spit out JSON or XML - so you don't even need to learn how to program to convert data files.

I've lost count of the number of times I've seen people write multi-functional programs to solve problems that would have been quicker (both in development time, and execution) to pipe a couple of existing programs together. Heck, I've even fallen into this trap myself before.
Maybe BJP and Congress are the groups you label "secret societies". It is not unheard of for parties to cater to the political views of their most active constituencies.
If they're designing a language for the next 20 years, should they have designed in Objective-C compatibility more tightly? Isn't "afterthought" exactly how it should feel if they plan to remove it someday?
Ask HN: How to sell an app making $350k a year?
We've got a very high profile app (iOS + Mac) that we're potentially looking to sell but I'm at a total loss where we could find a potential buyer.

It's generating about $350k a year ($1k a day avg). How would we go about finding a buyer for an app generating this sort of money?

If you're interested in talking, feel free to email me at ios.app.sale.hn@gmail.com and I can provide more information.

The app name is intentionally kept secret as it's quite well-known.
JavaScript GameBoy Advance Emulator
Yep, truly avoiding false positives and capturing all todos you would need to really parse the source code (perhaps creating an AST or lexical parsing).

Even if you build that tool (which handles many languages) - it has an extra headache cost with the parsing time, which might be really slow for large projects.

I actually started Leasot with Javascript AST checking which never misses TODOS but is very hard to extend to other languages, as well as parsing speed was a magnitude slower.
But what if you objection to GPLv2+ is specifically already realized in GPLv3,like, say, the market-differentiated anti-Tivoization rules.

(Also, "similar in spirit" is so vague as to be completely meaningless.)
What I would use and languages that applicable aren't the same. I'd probably use OCaml. But almost anything is better than C/C++ for this domain. If the goal was to get as many programmers, with the widest distribution, Java 7 would be an excellent choice. RoboVM can compile to native for the platforms that don't have the required runtime. Others might use Rust, ATS or Idris. Hell, even Lua with a small C core (NACL, os calls, etc) would be better.

The red herring that gets trotted out is timing and side channel attacks, crypto itself can still be done in nacl. But everything else, GUI interaction, network interaction and parsing of external data should be done in a safe language.
Awesome! I've read both. This is really sound advice. Where were you a month ago? :)
That seems to contradict the clause that says no further obligations can be imposed upon authors or copyright holders. In particular, they cannot be forced to provide a warranty.
I've toyed with MUDs a bit as well. I'm actually thinking about doing it again because I want to play around with a component-entity-system idea I had. Anyway, I've always figured that keeping everything as a zero-sum-rule is the only way to really balance things. A spreadsheet makes this much more visible (because you can list all your assumptions (weights etc) in a sheet and calculate if everything balances or not. Then if you learn the assumptions are wrong, modify them and rebalance). So yeah, definitely good advice!
Don't worry, just enjoy being a nerd. These days, lots of women think nerds are sexy.
Top Mistakes Getting to the First $20m in ARR – SaaStr
The article implies that this is some sort of replacement for meditation, yet meditation predates one cycle sleep.

Anecdotally I've found that different people need different amounts of sleep, but many people benefit sleeping sooner rather than later. Most people will strongly defend their late sleeping, that they've "tried early sleeping" and it's just not for them. Usually they haven't committed long enough for their body to get used to it.

Personally I would rather wake early than stay up late to work on something. At least you're approaching the problem with a clear mind and well rested. Many hours are wasted in the night where people aren't thinking clearly, spinning their wheels on problems which could be solved with a different approach. This only gets worse with age.

I'm sure I'll hear accounts of people who are "not morning people". A little exercise in the morning will wake you right up.
> Well, let's just throw out the whole private property concept while we're at it, why not?

Why not? Argument "scope creep" :)

As others pointed out, squatting can be used to keep private property owners (especially of such basic necessities like housing), from hording/speculating.
Linux had no copyright assignment policy and they didnt put in the GPLv2+ future versions clause--they had so many contributors that they really had no choice but to reject it.
XQuartz might be of interest to you. It used to be included with OS X in older releases but is an external download now. http://xquartz.macosforge.org/

After you've installed it, you can test that it works by typing

xeyes

in your terminal. That should show two googly eyes.

Then ssh to some other machine with X forwarding enabled. To do that, ensure the remote host has

X11Forwarding yes

in

/etc/ssh/sshd_config

then

ssh -X example.com

Assuming the server has the necessary X11 libraries and xeyes is installed on the server, you can once again type

xeyes

and you'll see the googly eyes again but what you are actually seeing is them running from the remote machine.

Hope this helps though I'm not sure it is quite what you're looking for.

(Personally, I use X forwarding very rarely, prefering the terminal for almost everything but browsing the web.)
> But what if you objection to GPLv2+ is specifically already realized in GPLv3,like, say, the market-differentiated anti-Tivoization rules.

Yeah, if you like tivoisation, you probably don't like the spirit of the GPL at all. Tivoisation is really a loophole that wasn't anticipated in GPLv2. It should not have been allowed by GPLv2, but it simply wasn't anticipated.

> (Also, "similar in spirit" is so vague as to be completely meaningless.)

Vague is how the law is. It has to be vague, and the people who wrote the GPL have a good understanding of how judges interpret vague language. I trust them to have done a good job.
But didn't engineer Ray DeGiorgio completely betray them and everyone else by approving a switch that he, and only he, knew didn't meet specs? While GM no doubt bears more fault in this, there's no system of this sort that I know that doesn't have major trouble when an engineer is dishonest.
Show HN: Marionette-Service: Service Objects for Marionette.js Applications
Just out of interest, how often do you find yourself using "TODO" as a variable name or elsewhere in your code?

This isn't a dig, it's just something I've genuinely never stumbled across in 2 decades of programming so wondered if there's a culture out there I've missed.
*Perot not Nader though Nader did help write his speeches.
Patrick McKenzie used a broker to sell Bingo Card Creator:

https://twitter.com/patio11/status/585837620057350145
https://twitter.com/patio11/status/585837902883454977
I've been using Grails exclusively since version 0.42. That is a few years ago now, and I can tell you that it has been a few great years :-)

One of the most impressive things is that there hardly have been any breaking changes since 0.42 to 2.5.0. Sure a lot of new things has been added, but most of the code I wrote around that time is still working.

I have created several small projects and a few really big. People get really impressed with how much I can get done in a very short time thanks to a lot of the Grails "magic". And of course access to several great Java libraries helps.

I really like Grails approach to the MVC design pattern, it's not so difficult to move away from it either and create something that solves a problem in a better way. Some projects I have made doesn't use GORM/Hibernate, but straight JDBC/Groovy SQL. And some of my projects mix GORM/Hibernate and Groovy SQL. I get the best of everything.

The Grails documentation is great, and the mailing list has always been an interesting place to get new ideas to solve some specific problems. There is plenty of activity on stack overflow.

Grails is an awesome and mature web development framework. It's sexy, agile and still has the wow factor even after several years.
This will be me soon. I have to move out of my flat in 3 weeks, and have nowhere to go. The future's not bright. It's my fault, the result of determined head-in-sand burying. No sympathy is due.

I've been living off my savings, with the aim of pivoting to a programming career after years post university stuck in under-employment. My aim was to build up a folio of work in lieu of the paucity of experience on my CV.

I continued to contribute to various pieces of Mozilla: if you're running Firefox, you're running code I've written, and I managed to build an internal web app that is now considered a fairly critical piece of their internal infrastructure. Other successes included micropolisJS, my SimCity 89 in Javascript port. Others like my functional library funkierJS and my fresh rewrite of V8Monkey/SpiderNode I've not yet managed to get over the finish line.

But as my savings dwindled, I refused to accept it, and focussed on how I'd easily claw my way back out when I landed a good position.

Even in the past year, when I've been barely hanging on, I stupidly refused to accept reality. I've lived on one meal of lentils for about 9 months or so - shedding 6 stone has been nice; it would have been nicer if it had been in a healthy controlled manner. The mobile phone is long gone, and with it my world, and my friend's list shrank considerably. And still I wouldn't accept the position I'd dug myself in.

And now, here we are. My landlord's patience is exhausted. No wonder. In 2 and a half weeks, I become the perverse dual of the homeless guy who learned to code: I know how to code but have sank the other way. There's no friend's sofas or family to bail me out, though that seems fair - I should face the consequences. At best I might get an emergency hostel with the heroin addicts and alcoholics, although my city has a reputation for failing to meet its legal obligations to the homeless.

And I did this to myself, the architect of my own demise.

Apologies for the wall of text. It was, at least, a little cathartic.
Thanks for the link. This article annoys me... for every "Type 2" engineer who completes the stream to the village and gets rewarded handsomely, there are dozens or hundreds of other "Type 2" engineers who found that they needed to eat, and went back to carrying buckets.

Becoming a successful "Type 2" as outlined by this article requires having the resources beforehand to complete such a stream. Enough money to buy food when there is no income for their work, enough support from peers to encourage their vision, and the ability (which again usually comes back to money) to convince the farmers whose fields he is digging through that this will be to their advantage.

The fact is that not everyone can be a "Type 2" - and typically not because of some lack in mental facilities or effort. Those who make it as "Type 2" are usually lucky: having been born into a situation where they don't have to make a regular income just to survive.

What's unfortunate is so many "Type 2" folks don't understand that, so they inherently believe that "Type 1" folks are just too lazy (or dumb) to take the chances which could obviously land them in the "Type 2" category.

/rant
Note to based2: If you're going to post a link to a scientific article behind a paywall, at least tell us why we should care about the result.
Chess 1.1 changelog

* nerfed movement for white pieces to balance out first-move advantage
* added "undo" and "knight blast radius damage" DLC
Note that while GPLv3 prohibits Tivoization, that is only one way to lock down hardware. For instance, the locked apps model of iPhone is OK under the GPLv3 (GPLv3 is incompatible with the App Store, but that has nothing whatsoever to do with the locked hardware. That's due to the TOS for the App Store requiring the user agree to not reverse engineer and not redistribute apps they obtain from the store).

The anti-Tivoization clauses are not as strong as most casual readers of GPLv3 seem to think they are. In particular, they only apply if "you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term".

A "User Product" is "either (1) a 'consumer product', which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling".

So, as long as you keep GPLv3 code out of the firmware, OS, and bundled applications that ship when you sell your hardware to the customer, you can lock down the hardware and still provide add-on software that is GPLv3.