skysight-inc/HackerNews huggingface dataset:
Before I go to sleep, I run through what I did the whole day and be thankful for everything. That I'm alive, that I had a hot shower, that I have a heater, I have to eat.
This also help me remember what I did the whole day and evaluate everything in a positive manner. The whole thing take me like 5min and it changed my life since I started doing it. It doesn't matter whether you believe in god or not, being thankful will make a difference in your life. Try it :)
The Writer's Almanac had a wonderful podcast on Updike a few years back [1]. It featured his poem "The Blessing"—one of my favorites.

[1] http://writersalmanac.publicradio.org/index.php?date=2009/03...
Play the game, and then let it fail so you lose, then look at the FB and Twitter share buttons under your score :-)
Algorithms Can Ruin Lives
> It's basically impossible to write safe code in C.

Of course it's possible. If your issue is memory checking you can use mudflap or valgrind.

> Surely that makes it pretty damn poor at what it does?

No, it surely does not.

> Especially since system code is the place where safety matters most.

And yet somehow they manage. The security issues you find in system code are not things that would be helped by range checking.
> They have to do awkward backflips of syntax, use special knowledge of "smart" compilers and VM internals to get that performance, to the point that the simple expressive nature of the language is lost to strange optimizations that are version specific, and usually only stand up in micro-benchmarks.

...Huh, and the author thinks C doesn't? :)

(Well, except the VM part.)

"What Every C Programmer Should Know About Undefined Behavior" springs to mind: I believe it's been discussed several times in HN.
Is there a write up somewhere about why they abandoned cext support? That would be interesting and I couldn't find one.
Concerning "strong typing", yeah I completely agree. I've wanted to talk about types and programming languages for some time now, but I've had trouble because the word "type" means very different things depending on what programming languages you are familiar with.

I think the thing that people are so excited about for recent type systems is that they have some basis in type theory. So maybe we can call these type systems "mathematically typed" or something along those lines?
What's a good use case for knowing how many times a signal was raised? Signal once raised has no more context than the signal itself.
Could someone break down how you get to 250k (or even 200k) on a "100k plus or minus" salary?? I'm thinking back of the envelope maybe 12k payroll tax, 6k health insurance, 6k office space ... What am I missing?
Reverse engineering silicon seems to have become the new "hacking". Everyone's doing it. Perhaps its time to come up with a term to describe the hardware equivalent of "script kiddie" ?
I can't stand working at home & I'm full-time remote.

Coworking spaces are great & I would completely recommend one for anyone working remotely. I think it's important to keep a clear distinction between home & "the office" & I find I'm much more productive at a dedicated work space vs my own room.

Coworking spaces usually have cheap food, coffee and are a great way to meet new people (regular events etc).
Words and More Words
I agree, it's basically saying that the programming language of the future should have all the good features of each language and none of the bad ones.
Is there such an equivalent? You can't C-C C-V hardware.
I posted this because, while dated, I thought provided a nice compare/contrast of what really makes (or once made them?) different.

Hilarious comment at the bottom of the article though, seeing as how much of today's IT is powered by Linux for servers and OS X on the desk/laptop.
See, they choose to be homeless in San Francisco. They could have chosen to be homeless elsewhere.
It's worth noting that GWT is still in use today, even at Google. So add "use Java" to Google's confusing message. However, Google is probably not interested in promoting GWT anymore. Oracle's Java patents are a P.I.T.A.
I wonder if this can be combined with rockbox to improve performance. 100MHz is better than some mp3 players that support rockbox.
Idunno I write JavaScript primarily and I can go days without running a project. It's a way that I enjoy working. I kind of thought that everyone works this way. When I run my code, I'll usually have a few typos and syntax oversights, but other than that it usually works fine and tests out. Writing in a concise functional style really helps.

To some degree, if you can't write code without running it, it's a sign that you don't really understand the code you are writing.
My person vision is lots of tiny languages that work together in such a way that you don't have to get out of their sweet spot. Of course, I'm not sure if its possible to do this nicely.
(Not the parent but) If I may,

The key point is that communication is expensive[1]. And not just because bandwidth is physically expensive, or the opportunity costs of waiting about, or the usability nightmares that inevitably ensue; but also because decoding itself is mentally taxing. And every panache adds up to it. So it better be worth to the recipient.

So when you double-down like you did, Flash-era intros and all; and it turns out all there is to it is a sparse bunch of unnavigable, decontextualized[2], tweet-sized digests of a policymakers' digest; and on top you can't even turn the damn globe on your own to explore the simulation results yourself (arguably the sole reason to be using WebGL at all!); then... well, I hope you see why your site would be so exasperating.

[1] http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pd...

[2] Pro tip: leaving uncertainty terms to the 'for climate nerds' section is borderline unethical.
Have you seen the mikeselectricstuff youtube channel ? He did a teardown of a credit card reader. The "self wipe" functionality is implemented in a fairly simple way.
> Has a simple mapping to the underlying hardware? That stopped being true three decades ago.

I've seen this claim repeated a few times in the thread and I still have no idea what it means.

For medium levels of optimisation it's usually very simple to predict what assembly code will be generated by C compilers. On many platforms the operators often match directly to a instruction (e.g. arithmetic and bitwise operations) or short patterns of instructions (the control flow primitives and conditional execution, equality testing, function calling, etc). At a higher level, compiled C functions look pretty much exactly like manually written assembly language procedures and structs are just blocks of memory with clear order and offsets. It's also very simple to interface C and assembly code without any hacks on either side.
Totally unrelated but wanted to say that I love your comments on HN. Always insightful and straight to the point.

Know your anonymous on HN but would love to hear your thoughts on emerging startup tech company funding models and which, if any, you like? Revenue-based financing as one example.

Ping me at asanwal(at)cbinsights(dot)com if interested and we can set up time to chat.

Thanks again for all the great contrarian (for HN) comments.
The most beautiful HTML div ever written
http://libcello.org/ looks like it might fit that bill. I haven't tried it, though I've been meaning to.
Yes, this is satire. It's here to show that there's a lot of poor design with front-end.
ooo, new terms!
Ummmmmm...Wirer? (as in, the Arduino programming language).
Either that, or you're writing something non-trivial.
But perhaps in near future you'll be able to 3D print it - thus Ctrl-C Ctrl-V becomes possible for hardware.
FatherIO Campaign Ended. Technical Difficulties?
Just received an email from FatherIO, very little other information I can find. Looks like the website has been rolled back to a previous version (none of the old links work anymore).

They claim technical difficulties (I know they had trouble getting the email campaign going) but the survey they link to seems to imply sales were not very good.

I understand wanting to reboot an unsuccessful campaign, and that there were probably difficulties in running the campaign themselves, but right now there is no information and I can't imagine trusting them without a lot more disclosure around what is going on.

Email:

You have been following the FatherIO project for a while now; as you know, a few weeks ago we launched our crowdfunding campaign on our website, in order to manufacture the first pieces of the 363R Trigger and complete the development of the game.

Unfortunately we are writing you today to inform you that some technical difficulties are forcing us to end the crowdfunding campaign in advance. We are considering to start a new campaign in the next few months.

If you have a spare minute, we would like you to answer two quick questions to help us understand which aspects of the campaign were less successful, and how to improve next time.

https://docs.google.com/forms/d/1xZ7cLGOJOXw62HUGTKhsgB7AP6IW-OdJ7EB2jI2-wTI/viewform

Thank you for your support and for your time, we will send you an update about our next move soon.

Francesco & FatherIO Team
I was referring to no special work on the part of the compiler writer, not the application writer.
I think he's saying he works on the code for long periods of time before worrying about how running it works out. Then he just tweaks the bits that are off and goes about his business.
Here's a question: if you write the same code in Rust and C and Rust refuses it on the grounds that you did something wrong and C accepts it, how likely is it that the C code is going to crash at runtime, and you'll have to fix it anyway?
All the languages you list maybe except for Lisp are basically the same. They are all imperative, some of them are object orientated. If you understand e.g. C++, you should understand any of the others with not much effort. Really different languages would be Haskell, Prolog and maybe APL. Or recursive (hence Turing complete) SQL queries.
Preventing buffer overflows requires runtime checks. That's a performance hit. Memory leaks require either GC or a restrictive type system. The first is another performance hit, the second is cumbersome to use.

I think Rust does a lot of things nicely, but I don't expect it to replace C simply because it adds a lot of complexity that people don't really want to deal with.
> The syntax is just so bizarre and counter-intuitive to me.

Really? What part of the syntax in particular?
HSMs are on an entirely different level compared to credit card readers.

To OP, those devices are not cheap - they run $22k from SafeNet (dependent on what model, obviously). In addition, FIPS criteria is meant to be tamper evident (not tamper resistant). SafeNet does require a special key to recover after a tamper attempt, though: http://goo.gl/RyVtFj
So why not use C++?

Since it's a superset of C, why not just use C++ to program C-style code, using only the C++ features you want? C++ is a multi-paradigm language; you don't have to write object-oriented code if you don't want.
Automated testing :)
Also, "lonely" is different from "alone".

Being lonely is being alone and being unhappy about it.

If you're alone but you're perfectly happy about it, you're not lonely, you're just alone.

Since the world is dominated by extraverts who feel lonely whenever they are alone, it is not surprising that these two terms are often used interchangeably. But to a raging introvert like Newton, they can have completely different meanings.
I've seen this attitude a couple of times before and I think it's a perfectly valid reaction to have towards these statements because you're correct. It is impossible. However, type systems heavily steeped in type theory get around it being impossible by cheating. For example ...

Consider the halting problem. It's pretty common knowledge that given a program and some input there's no general algorithm that tells you if that program halts when the programming language is turing complete. However, we know that every simply typed lambda calculus program halts if it passes the type checker, so did we defeat the halting problem? No we cheated because simply typed lambda calculus isn't turing complete.

The problem with type theory is that sometimes it excludes good programs that we want to run just because we don't know how to prove that the program is good (or maybe it's even unprovable). So we try to develop new type theories that will allow us to prove more and more good programs are in fact good.
New Facebook Rules Will Sting Entrepreneurs
Not that rich but if I received $1 for every $1 processed by my code I'd be pretty OK.
Facebook Fabric Networking Deconstructed
And this is why academics are busy stomping out 3% speedups in arcane bullshit nobody cares about while startups and BigCorps are getting actual research done and pushing computing in new, exciting directions.
I was unaware until I recently tried to use bitcoin again, in fact I originally thought reuse was fine. It was very common for people to put a btc address as a signature in forums.

Perhaps the documentation was improved. I don't know if it was in the original paper.
That idea is brilliant, btw. To have people be clean to get food.

Actually food is cheap enough that it should, in theory, be possible to provide it to every person who needs it without high costs.
Uber halts service in Nevada after legal setback
That's a feature of the original wiki [aka 'wikiwikiweb' and 'ward's wiki']. It is not a bug.

https://en.wikipedia.org/wiki/WikiWikiWeb
It's not necessary, but it's a good route.

You could run a Stirling-cycle engine off a hot and cold end without a phase-change working fluid. But gas turbines are very efficient (and simple), and work best when working with the very high-level pressure gradient presented either by combustion (as with a jet engine) or live steam (with a pressure drop in the condensed state) as with a steam turbine.

You could substitute other volatile working fluids, but water is cheap, abundant, and provides useful work at temperatures typically attainable in systems -- 100 - 1000 C (typically in the 200 C - 500 C range).
A technology I've only recently learned of, though the concept dates back 50 years.

It was first pursued by Meyer Steinberg, a nuclear physicist working at Brookhaven National Labs. The US Navy's picked it up on the basis that they 1) have a great deal of nuclear experience and 2) consume large volumes of fossil fuel.

Check my recent post history for more on the topic, here:
https://news.ycombinator.com/item?id=8665101
I interviewed Clarke in Sri Lanka in 2003 and asked him what he predicted for the future. He pointed to a bookcase full of his books. Then he told me a joke: http://newslines.org/mark-mary-devlin/arthur-c-clarke-tells-...
Startup Discounts for Cyber Monday (Click Enabled)
Win32-loader.exe? at DuckDuckGo
I use emacs to read my email and use w3m to format HTML emails (which sadly, most are these days, and more and more don't include a plain text alternant). In particular it does a good job with tables. I have not tried eww yet.
Qlink.it Android version
Are you comparing C's built in complex type with a C++ library or a C++ library with a C library?
If it can propagate from machine to machine it would be considered a worm.

If it only infects files locally, it's a virus.
Reliability problems: You're going to be porting a lot of programs to this hypothetical OS. The porting process is going to be difficult and error-prone by definition, because the proposal was to make significant changes to the kernel API. This leads to...

Security problems: When you change the fundamental assumptions of a program, you open them up to security flaws. I am primarily referring to ported programs when I say "the new OS will have security problems."

Performance problems: The performance will be worse than existing OS's, because drivers that work for Linux probably won't work for this new OS. This means you're going to have to get by with slower video drivers, at least initially.

These three types of problems aren't impossible to overcome. I doubt 2,000 years from now that people will be using Linux, BSD, or Windows. But you will have to overcome them.
I don't think tossing out the name of a popular alternative really contributes anything. I especially don't see what's 'reddit' about downvoting such a comment.
Every Possible Way to Define a JavaScript Function
Thinstall, bought by VmWare and rebranded and ThinApp is another.

Thinstall worked well on Windows Vista, but battled to work properly on Windows 7.

The problem with working with Microsoft is that you're one Windows Update away from having it cause issues with your product.
What do you think of these proposals? Is it too controversial?

#1a - Proposed Ad Photo - Are You Feeding The Homeless? Or, Are you feeding the Addiction?
http://tinyurl.com/lajnco5

#1b - Did Jesus say, "Feed the Poor"? Or, did Jesus say, "Feed the Addiction"?
http://tinyurl.com/mk8s3vq

#2 - Tulane Ave and Broad St Revitalization Proposal - link: http://tinyurl.com/kv684yc
NOTE: Please see the follow up comments in regards to moving the Homeless Shelters, etc.

#3 - Long term plan to "Break the Addiction", Use Bread Crumbs
http://tinyurl.com/nrvnxp9

#4 - You can't criminalize being Homeless (How can you get a job if you are criminal?)
http://tinyurl.com/mexjapx (same page in #1a above, but direct link to section)

#5 - WHERE ARE THE FAMILIES and FRIENDS of the HOMELESS?
If these "homeless" are just one (1) or two (2) paychecks from homelessness, why can't these
homeless sleep on the couch of their family members or friend(s) for a few months?
http://tinyurl.com/o92f4oc (same page in #1a above, but direct link to section)
Yes? What is controversial about that?
Snakes on a Keyboard
unfortunately, he uses windows
he said he will show how to do this on linux later
Ehhh, it's all pretty simple logic. There's nothing different about "non trivial" stuff, other than maybe the opinion that the devs have of themselves.

Most mathematicians have never "run their code"
His comment was one made in good faith and included a sincere suggestion. Responses to his comment can educate him, the participants and the lurkers, which is where the contribution appears. Just because a comment doesn't instantly add to the conversation doesn't mean that it won't, given the good-natured participation of others.

Drive-by downvoting is what doesn't contribute anything in this case.
Interesting, I viewedmthe source of the page, and some of the tags are reversed too.

Is this an exploit/attack vector?
Interesting. So it's not that yellow and red actually make people hungry, as the legend goes, but rather those colors are seen as more appropriate for restaurants. Makes sense.
http://sortbenchmark.org/DeepSort2014.pdf
Nothing. What is horrible is being forced to run it constantly every single time you make a tiny change to see if you messed it up or not. I don't need to do that when I am using haskell, I just have my repl session autmatically :reload when I save a file and it tells me if I broke anything.
At 20 deg C, 1 atm, and using the high estimate of 11.3kg, PV = nRT, which is

V

n = 11300 g / 44 g/mol = 256.82 mol
R = 8.314 L kPa K−1 mol−1
T = 293 K
P = 101.3 kPA

= (256.82 * 8.314 * 293 / 101.3) L

= 6175.8 liters

= 3087.9 uncapped coke bottles every 15 minutes (high estimate)

At the low estimate:

n = 50 / 44 = 1.13 mol

So:

V = 27.33 L

= 13.7 uncapped coke bottles every 15 minutes (low estimate)

Where did you get the mass estimates from?
My advice is: consider doing what you would least like to go back for, years from now.

Ten years from now, it may become difficult to choose a PhD. It may have far less financial impact if one has developed deep industry experience. However, even so, a PhD will still create wider opportunities for changes to other markets and career tracks.

When your kids enter college, going back for a PhD may become unthinkable.
>One might assume he is using Haskell

I am.

>and is assuming that because the compiler accepts his code it is therefore correct

I am not.

>of course this is a fallacy

Just as fallacious as assuming your code is correct because you tested it or ran it.
Truffle can reach faster performance in pure-ruby than MRI+cext. Agreed though, it'll be a uphill battle to change the interpreter of choice, and JRuby will have to have much faster startup to get it to work
You may be in the wrong place if you think there is anything wrong with technical people hacking away at software and hardware.
Nuclear power is simply unaffordable. There are better, cheaper alternatives.
(I am not even talking about the nuclear waste problem)
Dutch move 122 tons of gold out of US
Exactly what I said. I rarely run my code. When your compiler catches 99% of your errors as soon as you reload your repl, there's far less need to be constantly running your program to see what it is going to do. I know what it is going to do, the code tells me. I only run it when I need to, which is when I am doing something unsafe, when I have made a lot of big changes and want to double check them, or when I need it to run to produce new output for some other program to process.
If 50% of her business comes from FB posts, why shouldn't she just pay for them? I understand it was once free, but her posts sound like advertisements. And advertising costs money everywhere else.
They are called Domain Specific Languages (DSLs). And it can be done reasonably well today.

Lisps are very good for producing DSLs; when you have macros you have very powerful control over the syntax and can therefore produce your own language within the language.

The Common Lisp LOOP macro is a great example of power of macros; though in that case it is debatable whether it was used for good or bad.
I chose the java ones because most people don't know haskell so they won't be able to tell if the code is doing "weird" things or not.
Ask HN: What do I do about my startup I'm no longer passionate about?
[I'm a longtime HN user but I'm about to share some personal details and would like to remain anonymous.]

Several years ago I made a social game that took off. I capitalized on the growth and bootstrapped a startup off of the revenue coming in. Times were good and our best year we did nearly $2 million in revenue (with well over a million in profit).

Well, now it's been several years and things have cooled off. We're running right around break-even (depending on the month). Part of this is due to the market we're in, part due to poor decisions on my part (not successfully transitioning our IP to mobile), and part because I'm not really passionate about gaming. I started the company on accident and didn't plan to be doing it after so many years. Personally, I'm ready to move on to something else.

But herein lies the problem. We have users (hovering a bit below 3000 paying subscribers to our monthly membership). And we have a team (3 full-time, 5 part-time contractors).

So, the obvious solution is to sell the company. That's what I've been trying to do quietly for the past 6 months or so. I got an investment bank to shop us around to our competitors. Nobody's biting. We're too small in this industry to be attractive to the logical acquirers (who are mostly multi-billion dollar public companies). And nobody wants to buy a company where the founder wants to leave.

The company is definitely worth more than nothing but without a buyer I don't know what else to do other than to just turn it off.

I don't want to leave my users hanging. And I don't want to sell for pennies to someone who just wants to spam our user list. I also don't want my team to lose their jobs because their boss just up and quits.

What do I do here HN? I want out but I feel like I have responsibilities and obligations. Is there an exit strategy for me besides selling or shutting down?
> C, and jruby officially abandoned cext shimming

Jruby + truffle + cext, however is becoming a possibility.

http://www.chrisseaton.com/rubytruffle/cext/