skysight-inc/HackerNews huggingface dataset:
Dear Jacques,

Herewith some remarks:

1. You have ADHD and are prone to clinical depression. Both are treatable. Spending decades suffering pointlessly isn't necessary to discover either of the former or the latter.

2. Go find someone who can teach you Olympic weightlifting. You love it and wish you'd started much earlier. It will teach you important lessons about persistence. Plus you are one of those lucky blokes who can gain weight by frowning at a barbell, might as well take advantage.

3. Don't go straight to university. Take some time to grow up a little first.

Yours &c &c

You.

Funnily enough, none of these are about a laundry list of technologies. When I was 16, people wrote web apps in mod_perl and DHTML was looked on as something you resorted to only occasionally.
Well I'm trying to respond to things other people have said which also broadened the scope, and I still don't understand the basis of the Pacific Legal Foundation's suit. As for complaining that ABAG takes control of housing away from city governments, you seem indifferent to the fact that ABAG is an association of local governments. The various counties around the Bay Area (with whom city governments already had to deal) are entirely within their rights to work together, and frankly it seems a good deal more efficient to coordinate some things through a medium like ABAG than to come up with 9 separate plans that take no account of each other and would result in 9 separate bureaucracies to administrate them and so on.

Downtown SF and SJ are already quite dense, and while I'm in favor of them getting more dense your notion that smaller cities lying along the 280/Caltrain corridor are some sort o rustic havens doesn't make sense. As I said earlier, if you really want to get away from it all it would make a lot more sense to go to Half Moon Bay or even Portola Valley, whereas Palo Alto is situated along 3 major transit arteries (101, 280, and Caltrain). I'm sure you've lived in Palo Alto a while and don't like to see it change, but look at a map; all the coast around the Bay is dense and you're sitting in between 2 cities with populations of around a million that are only about 45 miles apart. I'm not particularly sold on the ABAG plan, but I am quite in favor of working together and having a plan instead of just muddling along pretending the various counties around here don't impact each other.
Actually, my statement is limited to mathematical truths. I am not talking about truth in general. And yes, the nit-pick was out of place. And no, I am not an art major, and yes, I understand Goedel's theorem just fine.

I said, "Not all mathematical truths can be proven to be true." I don't know how you got from there to: "there are some statements true in the absolute sense that cannot be proved by mathematics".

My statement is equivalent to your statement: "Starting from an axiom system, there will be statements true in this axiom system that are not provable."
Thanks! It's also amazing how he did it with little resources compared to other projects.
>We're proud of them, and we want to show them off -- aesthetic parallels to OS X or not.

This is completely understandable. I appreciate taking pride in your work,—we all do—but it's detrimental to adoption. You're sacrificing mindshare because of fondness for your work.

It boils down to a straightforward question: Are you more committed to creating a beautiful design (regardless of similarities to OS X) or are you more committed to bringing elementary to users?

If you're more dedicated to the former, I can respect that 100%, but it's important that this is the question you ask yourselves.

edit: clarity
That sounds like as long as there is payment, you can, and as long is on pavement. As in, 1 cent, legal
TANRI İLE HÜSEYİN ALTIN GHÖKTHAÇ MESİH VE DÜNYA KUTSAL İNANÇ İBADETİ
Wouldn't Canonical be largely helping with the GTK+ port? Otherwise, that would mean that Ubuntu will only support Qt applications, would it not?
How about 4. Rebase to Debian (Aka: which probably would mean stick with Wayland/follow Gnome) ?
A language that doesn’t affect the way you think about programming is not worth knowing. — Alan Perlis

Just enough to change they way you think about programming. E.g., One need not be an expert programmer in Haskell to have learned the benefits of lazy evaluation or strong static typing.
Get acquainted with the common mistakes startups make
You are correct. My comment was irrelevant and unhelpful.
That was a reasonable principle up to about a century ago, when statutory law started growing out of control and drowning out other more stable and sensible sources of law.

When legislatures churn out volumes and volumes of bills every single year, "ignorantia juris non excusat" non excusat.

On top of that, what ever happened to mens rea being a necessary element of culpability? Why are all of these malum prohibitum laws strict liability offences?
(1) Exercise everyday

(2) Try to get enough sleep

(3) Make a very conscious effort to get out of your comfort zone and try unfamiliar things, even if you only try them briefly.

(4) Understand and accept that sometimes it takes years before a project gives any substantial results, so don't get discouraged if a project seems impossibly hard and going nowhere at first.
It's because accessing a variable means looking up a name in the global environment, which is technically just a table. Since it's just a table like any other, any non-set key has nil as its value.

You can actually access said global environment as the _G variable.

Now, you could totally stick a metatable on _G that caused some sort of exception when you tried to get the value for a key with a nil value.
Great! Also see Thoughtbot Suspenders, https://github.com/thoughtbot/suspenders

It also uses Bourbon, HAML, RSpec, etc. as well as many more gems. Overall I like and recommend what Thoughtbot creates.
Note-to-self: not just building on top of a GNU/Linux distro -- I'm sure most would agree that Android is a pretty big break from most other distributions as well...

edit: As are the Amazon and Sony e-readers...
Right, it shows extreme past contempt for the very idea that it could be possible, but this is in no way contempt toward the specific judge, nor must there still be contempt at this point.
The Journey of Programming Entrepreneurship
I've been freelancing for a while. Here are a few ideas:

(1) For every flat rate project, you need a way to counter endless lists of revisions. I recommend your contract either having a cap on the maximum hours spent, or having an "n rounds of revisions" provision.

(2) Only accept contracts from clients who are not emotionally attached to the project or to the money.

(3) Charge higher rates. In general, clients willing to pay more per hour tend to respect your time and work more.

(4) Change your pitch to make your client realize that hourly/daily/weekly rates are better for him, rather than flat prices. This is often easier than you might think. Flat rates tend to be more expensive (worst-case scenarios). And, pay-as-you-go is a LOT more flexible for your client than flat rates in terms of scope, etc.

(5) If a project is not spec'd out in detail, insist on your client hiring you first to draft a detailed spec. You can use an appeal to authority, saying that you make high-quality products and this is the standard procedure for making high-quality work. Not only that, it ensures that you and your client are on the same page from the very beginning, and makes him think through the project in detail.
Listen to music. Make it a habit. Go see live music especially. It's important.
It's more fair to say that a lot of the UI for WoW is written in Lua, and most of the API available to that UI is also available to addons that end-users write for the game.

You can take a look at the UI code, since it's dumpable from the game client: http://wowprogramming.com/utils/xmlbrowser
I agree with miles, build stuff. But perhaps more importantly do stuff. It is highly unlikely you've discovered even a tenth of the things that you could be passionate about.

Also don't drive by looking backwards. When I learned to sail my Dad told me that you could tell a good sailor from a bad one by the straightness of the wake left by the boat. I kept looking at the wake and trying to correct for the various wobbles in it, and that made it more wobbly. I got frustrated and told him it was impossible.

He took the tiller and proceeded to zoom straight across the lake we were on. He explained that the only way your wake would be straight is if you kept you eyes on your destination. When I asked how you could know your wake was straight if you weren't looking at it, he said "People with you can see it and will complement you on it."

It wasn't until I was much older (like 25) when it dawned on me he wasn't talking about sailing.
The title of this is a little disingenuous, as there's an entire system to get to those speeds. You could have probably taken any track bike, put that large of a front ring, and do what he did. He talks about the frame construction made using the same materials and techniques he uses for all of his bikes.

The whole system includes a car that is used to draft behind - very close behind, much like what was done over 100 years ago, with a train[1]

[1] http://www.bikereader.com/contributors/woodland/murphy.html
Outdated DLLs (library code, like stuff that handles image formats and many other tasks) is a big (security) problem in Windows -- and has always been. I think the package model used by most Linux distributions is far better.
Cool, thanks. I hadn't heard of suspenders. I'll check it out (and maybe steal some of their stuff... ;))
Technically, that book was not "self-published," rather it was published by my company, breadpig (which also publishes xkcd, SMBC, and some other fun things like Story War!).

If you're inspired, you can buy the book here: http://breadpig.com/products/to-be-or-not-to-be

It'll be available in bookstores nationwide soon enough!
Assuming the computer was running Windows, you wouldn't need wget to perform HTTP requests in batch -- you could make a VBScript to do it (src: http://stackoverflow.com/questions/204759/http-get-in-vbs ). I would assume that Windows (and therefore everything in it) would be considered "authorized" in that case, but would the VBScript be considered unauthorized software? If that's the case, would you need to get approval every time to write macros to make your job more efficient?

Is there actually a line drawn in the military about what is considered software?
Apparently, the reason for excessive surveillance isn't because of government and NSA overreach, it's because of the administrators of the systems used to do the surveillance.

Incredible! At least they'll be monitoring everyone, but doing it badly now.
1) Don't worry too much about your future, follow your interests.

2) Don't panic about needing to learn everything at once. Take your time.

3) Learn how to finish things, even if that means taking on smaller tasks than you'd like.
Advice to me at 16? Forget [girl A], and instead, go for [girl B] or even [girl C]. Do whatever it takes to convince your parents/grandparents to buy, in your name, 100 shares of Microsoft stock and never sell it (because by the time they start paying dividends, you'll never have to work).

For a 16 year old, now, interested in programming computers, learn assembly language, even if it's just for a 6502 or Z80 [1]. It will give you a feeling for how the computer works.

Also, learn how to learn. What you learn now will change drastically over the next twenty years (when I started college, Fortran was still taught, you had actual multiuser systems, and there was no such thing as a "webmaster," and Perl had just been released into the wild).

Another thing to keep in mind---there really is nothing new under the sun. Arguments about writing an application in Python over C++? Old hat (C vs. assembly). Languages targeting a virtual machine? Old hat (UCSD Pascal, and before that, various IBM computers from the 60s and 70s). It just takes new forms, which need to be learned (see previous lesson).

And one lesson that might be unorthodox---never cut-n-paste code. Take the time to type it out. That's how an entire generation of programmers who grew up in the late 70s/80s learned---by typing programs in (from books and magazines) by hand. It's hard to see how this helps, but it does. It forces you to look at a program as you type it in, to see how it's constructed. No, really. In fact, if you read up on successful authors, you'll find a good portion of them actually copied (long hand, or typewriter, or computer) entire books by authors they liked.

Never be afraid of trying something out. It may not work, but now, you'll know a way of not doing something. Or why a certain approach won't work. Or will. You might surprise yourself. Don't let your lack of knowledge keep you from trying something, because you might in fact do something that so call experts said couldn't be done.

Oh, and keep this quote from H. L. Mencken in mind: "No one in this world, so far as I know-and I have searched the record for years, and employed agents to help me-has ever lost money by underestimating the intelligence of the great masses of the plain people."

That's all I have for now.

[1] Personally, I'd lean towards CPUs made by Motorola, as they're a bit more sane in the assembly language department, but really, any CPU assembly language will help. Well, maybe not the Intel 80x86 family. The 8086, 80186, 80286, 80386, 80486, Pentium ... it's just an insane family of CPUs.
I would imagine they would help with the porting effort, but I really have no idea. I can't speak to Canonical's intentions or Ubuntu's plans, I'm afraid.
Go to college anyway even if some of the material seems boring or irrelevant. Always own at least one musical instrument. Money is quite useful but is ultimately an instrumentality. Learn enough about law and economics to appreciate the limitations of formal systems and statistical methods. Subscribe to The Economist. Don't smoke tobacco, but do brush your teeth regularly. Find some physical activity you enjoy a lot, which will save you from having to exercise. Don't be afraid to admit you don't know, but don't underplay your ability to find out either. Employ adjectives sparingly. Read books that you find difficult to understand.
Does anybody else remember what people said about Eazel in 2000? Because what you are saying is giving me deja vu. If only some designers would come in and fix Linux, it'd be a smashing success, inevitably. Didn't work out so well for those guys.
Really try to finish projects when you start them. It will be tempting to drop what you're working on when you get a new idea, or things aren't turning out the way you saw them in your mind; keep a journal for those new ideas. Keep things simple. Keep working the broad strokes before getting too wrapped up in the details. Do things in drafts, and refine in subsequent passes. Try to find like-minded people to collaborate with.
It's easy transiting from C++ to Java/C#, the the reverse transition is not as easy.
I would say that the "mental toolbox" of a C++ programmer includes a lot of things that also belong in a Java programmer's "toolbox" (i.e. classes, inheritance, virtual functions), which helps someone who knows C++ pick up Java relatively easily. But there are important aspects of C++ that are NOT in the Java toolbox, i.e. manual memory management, pointers, templates (which are way different from generics in java, by the way), these make the reverse transition harder.
Lua is a really simple language, and is quite malleable to different use cases not included in the language per se. Usually in my book, it is an advantage, for example how many Lisps can implement new features that seem like language features, but aren't.

But this simplicity can have a downside, as there might not be canonical ways of doing things that users are accustomed to. For example, object orientation. It could be a hard sell to someone coming from an object-oriented language, when you have to understand, and choose between multiple different styles of object-orientation and implement them consistently in your project, or use one of the many libraries made just for this. For example, see http://lua-users.org/wiki/ObjectOrientedProgramming

Lua really is simple, but it not always easy.
I disagreed with your proposed solution. Which you said was to just tweak the laws.
Rebasing to Debian definitely comes up a lot. Our main reasons for sticking with Ubuntu are:

- we rely very heavily on Launchpad
- we rely on the hardware support and testing work they do
- the Ubuntu userbase seems to be a bit more in-line with the kinds of people who will enjoy elementary OS (this isn't a technical reason)
- we have some close relationships with Canonical/Ubuntu employees/developers

It's definitely a possibility, though personally I don't see it becoming feasible in the near term.
Yes, learn as much maths as you can...
Signed agreements are contracts.
Don't get hung up on the girls who are only looking for guys with muscles.
Tim O'Reilly created a site called BountyQuest in 2000, where he posted a $10,000 bounty to invalidate Amazon's 1-click patent.

"The way the system works is that a company or individual, remaining anonymous to the public, must pay BountyQuest $2,500 to post a bounty on the site. BountyQuest, which is to receive a 40 percent commission on bounties paid, will monitor the process and will be liable to pay the bounty if the posting group cannot or will not pay it to a deserving party."

http://www.nytimes.com/2000/10/23/technology/23PATE.html

However Tim then shut the site down, saying "I had high hopes for BountyQuest, too; it seemed like a great idea. But while I still believe that the failure to search for prior art remains a major problem for the patent system, the company was not able to make a successful business bridging the gap. Of course, this could simply have been an execution issue, or market timing. But it could also have been the fact that the patent mess is a thorny thicket that doesn't lend itself well to penetration by amateurs."

http://oreilly.com/pub/a/oreilly/ask_tim/2003/bountyquest_10...
Nice. I'll look into it. Thank you!
This is a common gimmick called "http://en.wikipedia.org/wiki/Motor-paced_cycling".
I usually like to read the methodologies on studies that cover online behavior before I consider their results, but I can't in this case because of a paywall. Does anyone have a link to the full text of the study?
I carry a NovaTac 120T or 120P and a Kershaw Ken Onion Shallot (damascus) when I'm wearing "field" type clothing, and a little Fenix P2D and a Ken Onion Leek (d2 composite) more often. I have about 15 leeks (and gave out about 50 as gifts); I love assisted openers, and they're a great design, with great steel (especially the CPM M4 or D2 versions).

I tend not to lose things when actually wearing them; it's when they go into storage that it becomes a problem, and I've solved that with labeled/inventoried plastic bins and baggies. So, I didn't really care about cost (maybe $100?). I got Fenixes when slickdeals said Amazon/etc. had them on sale (some around $10), and I got some other stuff from PXes in Iraq and Afghanistan (where it was also cheap -- like the Cold Steel SRK was $49, so I got a bunch).

(on the other; I don't have a California CCW because I don't live in San Mateo County (the only Bay Area county which is vaguely lawful in how it issues CCWs); for states where I can, Ruger LCR or G19 depending on clothing, rarely a 1911. If I move to San Mateo, probably Sig P938.)

The only lights I've been amazingly impressed by are the Surefire shotgun foreends I put on my Mossberg 590s, and the kickstarter programmable rechargeable light (hexbright).
There are a million and one themes for GTK. I wish they had picked one - anything except the OSX clone.

What they don't realize is that there are a bunch of howtos out there around customizing Ubuntu to "look like OSX" and this looks like one more.

I wish this discussion could be around performance enhancements and innovations in usability, but I cannot get past the OSX clone-ness.

In an admittedly egoistic sense, I am a loner Latitude/Ubuntu user in a world of Air/OSX all around me. This is not something I will be able to explain off. And this is in India. I assume it will be much worse in the US.
Man, that made me nostalgic. I want my working and populated newsgroups back. Google groups really messed Usenet access up with the last two or three upgrades.

Usenet really beats all of the stupid BBS, facebook groups or whatever in usability.
Still using mine mostly as a link dump. Using tiddlyspace right now :)
Publish, even if you don't think your work is ready. Better to publish five papers which all have loose ends in need of tying up than to publish a single work of undoubted genius. Other people will tie up the loose ends, and everybody will remember you as having the original ideas.

When I was 15, I did my first significant research, discovering a novel (and significantly faster) algorithm for computing GCDs of polynomials over algebraic number fields; but I was never fully satisfied with it, since it was only applicable to fields spanned by low-degree algebraics. My supervisor encouraged me to publish it nonetheless, and in hindsight I should have done so -- if nothing else, so that the two Master's students who extended it over the following years would have had something to cite.

In your case, you're interested in programming rather than mathematics or computer science, but the same principle applies: Don't hesitate to release something because it's "not quite perfect". If you've built something cool, release it -- you can always improve it further and do another release later.

Oh, and I'd give my 16 year old self one other piece of advice: Where girls are concerned, don't waste your time. Wait until your friends are partnered and decide they want to help you. It's much easier once you have a circle of friends who can offer help and advice and encouragement.
I don't have nearly the problem of an OSX-lookalike as some. I used OSX for years because it was basically the prettiest POSIX system available.

And like you say, a lot is simply good design. Apple didn't invent nearly as much as their marketing department (and legal) would have us believe.

Tangentially, I've fallen in love with tiling WMs, but they all seem mediocre at best. @aroman it'd be awesome if you guys made an alternative tiling WM that was as sleek as your windowing manager.
> Productivity is far greater with vim

I don't agree with that at all. Vim is useful, perhaps, for a few text matching tricks but typing speed is rarely the bottleneck in programming. It's optimising for the wrong thing.

The only people advocating for vim are those who have already gone through the pointless pain of 5 years learning to use the thing. It's basically a cult, or at least a club. And frankly, watching these vim "power users" is usually quite frustrating - they struggle to do trivial tasks which can be accomplished in sublime with a simple right mouse click.

It is important to know the basic vim commands for when you are editing text via ssh but for everyday use sublime text is, IMO, superior in every way.
Unemployment is a creation of civilization-- when people congregated in cities to take on specialist jobs, instead of subsistence farming and hunting and foraging.
concurrency != async
In fact we are very very interested in investigating tiling WM capabilities for the next release of our window manager, Gala. As someone who suffers from the lack of good touchpad drivers for my primary computer, a Macbook Air, I am very excited for tiling support as well :)
The speed records for bikes being paced by vehicles are pretty crazy:

> Fred Rompelberg, using a dragster with a large shield as pacer, achieved 268.831 km/h (167.044 mph) on the Bonneville Salt Flats on 15 October 1995.

From the wikipedia link posted elsewhere here.
If you live in Palo Alto and oppose this ruling and have a driveway, rent your driveway to someone in need.