skysight-inc/HackerNews huggingface dataset:
First rule of IT should be that nothing surprises you.

Many people treat computers as appliances that either work or don't work. Like an expensive toaster.
>At the same time it [Rust] does not have the ecosystem

Try watching new projects pop up at Rust CI [0] for a few days. With the possible exception of Node (which is not even a PL), I've never seen a language ecosystem grow this vast, and I'm a PL afficionado.

I think in a year's time, the question of Rust's stability and ecosystem will be entirely moot. It's a tough wait meanwhile, but I'm still investing the time in learning Rust (and it's a significant investment).

0. http://www.rust-ci.org/projects/
I'm still using TextMate 1 for pretty much this reason. :)

The only features I'd really love to add to TextMate are the rmate remote launching feature (which didn't work for me when I tried TextMate 2 a couple of months ago) and syntax highlighting for Perl 6 (which as far as I know no editor has yet).
Data, Design and Network is the Value and Growth
Some years back I played around with an idea like this as a possible funding vehicle for smaller clients.

A few thoughts, on the assumption that you're in the U.S.:

1. What you're talking about is somewhat like a royalty arrangement. The IP-licensing world has a lot of accumulated wisdom about how, and how not, to do those.

For example, your participants likely would want audit rights, or alternatively for you to commit to providing audited financial statements (which can be expensive).

2. What you're talking about is also much like some types of preferred-stock dividend, which are familiar to the financial community.

3. Watch out for the securities laws. Depending on what the terms were, your arrangement would very likely constitute a "security" under U.S. law. That in turn would mean that (depending on who participated) you'd have to comply with disclosure- and registration-or-exemption requirements under federal and state law, or be subject to significant legal penalties.

4. Also watch out for usury laws -- you'll want to structure your investment so that it doesn't constitute a loan. (Although that's less of a concern, given that you'd be the one paying "interest.")

5. It could be dangerous to pre-commit to paying out X% of your gross revenue each month. That could create a severe cash-flow crunch and constrain your ability to grow the business. Don't forget that you must pay taxes and remit tax withholding for any employees you have (or the IRS will come for your house), and you really want to make payroll if you want to keep your employees around.

Instead you could consider having unpaid royalties accumulate. (That's like a cumulating preferred dividend.)

6. You'd want the right to buy out your participants (sometimes known as a "call") and would need some sort of formula to determine the buy-out price. Without a buy-out option, it might be difficult to attract other investment and/or to be acquired.

One approach I've toyed with but haven't thought through: The buy-out price is some multiple of the amount the participant paid in, increasing at Y% per year but reduced by the amounts of any royalty payments. That'd be like a bathtub with both the faucet and the drain open: The water level rises and/or falls depending on the comparative rates of flow in and out, with the "water level" at any given time being the buy-out price.

7. You definitely want to check with a lawyer about this (not me; I don't do this kind of work). As usual, don't rely on this as a substitute for legal advice about your specific circumstances; YMMV; etc. etc.
Good idea. Edited to include them.
I'd use immutable value classes with AutoValue: https://github.com/google/auto/tree/master/value . It's developed by the googlers behind the awesome Guava library.
Rust error messages are perhaps the best thing about the compiler. For me, it's a new experience altogether. Instead of having to Google obscure error messages, Rust error messages actually tell me how to solve the problem!
Seems like this presages this idea of Kolmogorov[0] Complexity by half a century.

[0] http://en.wikipedia.org/wiki/Kolmogorov_complexity
Perhaps I just need to keep reading, but he seems to be speaking against squandering time, being engrossed, attached (hints of Buddhism here), etc., but he does not offer any advice other than seizing the day and tending to your own desires, which sounds a lot like the hedonism he is denouncing at the very same time. Are there some activities that are not vices, and are not "giving away" your time?
Scratch Butter Pound Cake Recipe
Of course, in practice Seneca was considered rather hypocritical. But I guess being an important aristocrat during the reign of Nero does that to you.

The best book I have read on the Stoics is the Cambridge Companion to the Stoics, by the way, which has articles on every aspect of the philosophical movement.
Hitch-hiking robot ends 6,000km journey across Canada
You may be confusing your salary with what your boss charges clients. Or, it may simply be that you are from somewhere where the economy is different.
I'd say at this point either is fine. Swift is still changing a lot (breaking changes) and the open source ecosystem around it will be lacking for a while. Objective-c is mature with a good ecosystem around it. I've developed in objc for 6 years and learning the basics of Swift was simple for the sole reason that it's the cocoa API's which are important. Once you know them the language is just a different syntax for accessing the same features.
Stoicism is an interesting way to look at things and it certainly does make for some engaging mental exercises .. but I'm not sure how much actual value it can provide to everyday life.

One major problem with it, speaking as a 30-year old, is that it's not trivial to come up with some "ultimage goal" or "prime principle" for life. But maybe that's just me being unimaginative and isn't necessarily a flaw of the philosophy itself.

The real issue is that being consequent about stoicism seems to always result in contradiction given mankind's current state of knowledge. On one hand stoicism is concerned with not wasting time (on indulgences) and at the same time it ignores that a market economy (embedded in a democratic society) is the only way we know of, that can reliably force a larger population to strive for efficiency.

Of course the market economy isn't free - we pay for it by e.g. giving up moral values. It still allows for huge bubbles of inefficiency to form - things like complicance regulations that provide zero real value and only serve as market barriers. And of course we're all just fallible selfish humans, so there's no shortage of people studying and abusing these processes. But all these points are, practically speaking, irrelevant, seeing as how there are no (better) alternatives (yet).

So what is a stoic to do? Give up on a proven path to efficiency because he doesn't want to be a "tool"?

Just imagine how much more of our time would be wasted if there weren't an army of "tools" out there, working 8 hours a day towards the "indulgence" of ensuring that there is allways enough fresh milk stocked in the supermarkets of our cities.
How can online gamers protect themselves from hackers?
The thing that surprised me most is how publicly abrasive people can be when they're using their Real Names with real photos and real descriptions of their children and pets just a click away, talking to people who live just down the street.

When I signed up for Geni, a few unstable relatives (avoided IRL) started fights on the message boards and it put me off the entire social family tree concept (the copious amounts of spam that Geni sent out didn't help, since many people lacked the computer savvy to opt-out, and it made them even more hostile).

My guess is that something similar happens with Nextdoor: you can choose your friends, but you can't choose your family, or your neighbors. In the case of LinkedIn, and Yammer, trolling is far less of a problem, because there can be consequences for misbehavior, and it is easy to unfriend someone on FB, or unfollow/block on Twitter.

Unless there was some way to control trolls and nutters, I wouldn't sign up for Nextdoor.
Thank you, will announce there a little later today :-)
This Atomic Tank survived a nuclear test, then went to war
As a gamer, I see games that cost money as something I don't want to deal with.

Games that are given to me for free? Yes Please.
I'm split here, on one hand there's (n)curses already available on ruby, on the other hand, you need an additional library for it. Any other benefit one should be aware of?
May I suggest "Kwack Quack" as a suitable name.

It will fit you in nicely along other cutesy animal themed named companies like, Duck Duck Go & Twitter.

I hope you take my suggestion on board.
The Security of al Qaeda Encryption Software
Isn't this the same course that's on Udemy?
I'm torn about this.

On one hand, "Time" managed to engage in real time a very large audience, spawned it's own micro-culture, and kept everyone interested for weeks. It was truly an innovative use of the medium.

On the other hand, the story doesn't read well in retrospective. Check all the comments here complaining - trolling aside, it doesn't translate very well into any other medium. I doubt even its fans would watch it again in real time and feel half the interest they did at first. Contrast with "Saga" (the 2nd place), which you can re-read several times and still enjoy it.

"Time" was a one-time work - if you didn't catch it back then, now it's too late. The story (IMHO) is average at best, but the delivery was incredible. I think the judges favored medium and delivery over content, and I'm not decided on whether I agree with that.
"£15.5m every decade for this platform + maintenance on top."

Are you getting more than £2m/year net productivity gains? I'm guessing not, unless this is over 10K people so the gains are a rounding error. Anyway thats an interesting financial way to analyze it.
Ask HN: Would you walk away from this?
I have been asked to consult a company in how they should speed up their development process.

Today the application which in the end of it all is a web application, consists of a lot of old ASP classic code, a COM+ bridge for being able to function within a mix of a lot of different .NET libraries written in .NET 3.5 (CLR 2). COM+ acts as a bridge between the two technologies.

The teams cannot compile code inside the development tools, it can't debug unless they do it with some obscure hacks and workarounds and it seems that no one is really in control of what is going on in the core code base and no one really want to touch the original code base to clean it up and refactor/re-write it.

My concerns are really rooted in different aspects of the project.

The project has been like this for multiple years, i mean, the ASP code base is around 10-13 years old. There is nothing wrong with old technology I think but building on top of it for over 10 years was probably not a great idea.

Then someone has tried to build a gap between ASP and ASP.NET and I assume this is because of business-needs and also no one really wanting to get their hands dirty with a refactoring.

Why would a business do this ? Keep patching and re-patching old code instead of cleaning up and making things smoother and safer.

Not to talk about the effeciency of developers and teams.

I am frustrated, only 3 weeks in, and I am obviously not the only on whom has tried to figure this out, but everyone has just given up and said "this is just how it is.".

Given those facts, would you engage or walk away ?

I just don't like to walk away, but this is basically a big mess which in turn runs a multi million dollars business.
Because them's the rules? Most sporting rules are arbitrary, but you need rules to have a sport.
A Comprehensive Guide to Styling HTML File Inputs
> you can refuse to catch or throw exceptions for 99% of your (millions of lines) of code and still end up with a very large, stable code base running a large portion of the internet.

The point is that these features are infectious. If you don't want to throw exceptions, how do you handle a failure in a constructor? And then if you abandon constructors, other C++ features are unusable without them. And so on.
The Growth Paradox: Hang in there little guy
If he doesn't want to/can't continue with development, he can always pull off what Blender did. Start a campaign to raise a certain amount of money and release source after raising it.
While Portland does have Stumptown and Heart, there is a lot of fantastic coffee from all over the country. Bay Area is stacked right now (Sightglass, Four Barrel, Ritual, Devout), PA has Square One, Seattle area has Slate and Kuma, Mid-west has Populace, Metropolis and Bow Truss, OQ in New Jersey, Tandem in Maine, Flat Track from Austin, Velo from Chattanooga, Irving Farm from NY, etc, etc, etc.

A lot of great coffee in the States right now.
How did you get good at development? At some level, you practiced by copying patterns and implementing them, learning along the way. The same principle is true for design.

I have a friend who I've seen progress from nothing to becoming a great web designer simply by putting in the hours. My best advice for anybody for whom design doesn't come easy is to take in inspiration (try behance or dribbble) and copy it. Keep copying until you make something worthy of being copied.
Investment Banking 2.0 Says “Hello World?”
Thanks! I totally agree that selecting which information/projects get included is a must-have that I forgot about.
Awesome! I love it when people do stuff like this!
I thought much like that (and was a huge Python fan) until I found Scala. There are cases people cite as "more than one way to do it", but they're usually superficial syntax differences. You do have to choose between passing around objects and passing around functions, but that's a choice you make in Python as well. It can handle high-performance calculation or high-level scripting, but it never feels like these are separate languages; it has a bunch of orthogonal features but any two of them combine in exactly the way you would expect (and often that combination forms something very useful).
You can use it the ppa and it's on AUR too. I use it on windows and on arch and it's fairly stable for something in alpha.
Hi,

I've tried to escape the tyranny of NCurses to be honest. NCurses is procedural in nature and I wanted to try to provide an OOP interface as my solution. I'm also experimenting with events which I think make implementing GUI apps with this framework much easier and flexible.
He's a pretty atrocious man.
Can you see a light at the end of the tunnel? Does the business side of the business understand how much technical debt has arisen? Is there a third party solution that does 90% of what you need? Does the business need to keep upgrading the app or can it end of life it? Are there subsystems you can upgrade relatively easily that will have business benefit?

"Where there is muck, there is brass."

I would get all your concerns on the table with the person who writes checks and present some alternatives and let them choose.

(I went through this a few years ago with a 11 year old java + gwt webapp and had some success.)
Very very clever. Grew up before mobile phones existed so it is hard to relate but I guess if a kid has to have a phone, this helps.

Of course nothing stops the kid from lying to their parents which I guess 99% of all kids do.
Just for information. I was using sublimeText 3. I updated two weeks ago the last release (Build 3059) and even (Build 3062) and it crashes.. since I don't want to bother using a close thing that crashes. I switched to atom.io And so far It's way better than three months ago (It's now fast enough) And It's really getting traction on the plugin side also.. I don't think I'll ever come back to sublimetext. I even went back to emacs for one week.
Which is of course far better then the current model of windows exploits.

"Oh we fixed that in the next version already. Buy windows9 and you won't have that problem."

Granted yes a lot of exploits are fixed via the patch system. But a surprising number are just ignored.
Comparing to Python or Haskell, maybe you're right, but not to CLR-based or JVM-based statically typed languages. Very often the differences between Java/C# and C++ are the same order of magnitude as differences between various C++ compilers. The mythological C++ performance is often overstated (there are some performance advantages in C++ but they are rarely big enough to justify language choice).
I'd love to see modern Turbo Vision clone :)
Kids will have to explain to their parents how to install it.

Or show them how they removed it.
Where are you seeing 20-25% effi PV modules? The physics of silicon's bandgap prevents getting much above 18% without (expensive) multiple junction layers (of different material) or concentrators, which tend to reduce module lifecycle time.
I like these projects to get more children interested in hacking!
My guess is that as lead acid car batteries are phased out, then the lead acid recycling industry will migrate to supplying stationary batteries. By that I mean e.g. residential photovoltaics storage, grid load smoothing, battery banks for rapid charging electric cars. Situations where the weight/bulk doesn't matter, but low cost does matter.

If there are no other economic uses for the lead then those applications should become nice and cheap. However this is just the opinion of an armchair energy wonk, so take it with a big grain of salt.
Speaking of "neuroplasticity" the divisions in human society between people who stop thinking new thoughts around age 14 or so, vs the people who keep thinking until they die, we'll say age 80, are already very large and would get immensely larger. Everyone has anecdotes about relatives at both ends of the scale, and the scale will probably get wider over time.

From an evolutionary fitness standpoint people who stop thinking are not likely to live very long so there would be pressure toward plasticity.
Right. So while UTF-16 is a terrible encoding and there is very little reason to use it, UTF-32 is little better. Use UTF-8.
#VMworld San Francisco, Hope to See You There
Zoe Quinn: Femme Game Dev and Complete Sociopath
Looks great! one thing, you have a nice carousel going on, and maybe I'm a slow reader but I had to make it go back to the last slide three times before I finished reading it. Consider either making the carousel change slower or better yet, make the story vertical.
if you have this problem with your child, an app is not the solution. you have serious discipline problems.
> Hmm, I never liked those books on subjects like operating systems or programming languages or something. Tried a few times, but they generally have a low information density (telling it in the typical book-like fashion) and go into details that you don't need or remember. I usually learn by googling or asking others when I don't know what to google.

This works well when you already know enough to have a mental framework. For learning something new, say Forth or Prolog or Haskell, a longer document might be worth reading.
Any coupon for the Happy Bird clone tutorial?
Shouldn't parenting be about trust?
What's the deal with people linking to Product Hunt comments instead of the original article, it's not the first time I've seen it happen.
Agreed.

Also, going to be funny when they work out how to uninstall it.
I think we should start using the term "modern Java" for writing Java with lambdas, or "modern PHP" to write PHP with OOP and exceptions. :D
Products like this are great, as they teach children how to get around stupid arbitrary restrictions from a young age, so are less likely to end up as drooling passive consumers poking at a tablet and more likely to become hackers.
Is Rust CI really the best evidence to use in this case?

When I last looked at it, probably 40% to 50% of the projects listed had builds that were in the "failing" or "error" statuses.

That indicates that one or more of at least a few things are happening:

1. The Rust language and its standard libraries are changing at a pace that results in previously-compiling code needing to be modified before it will compile again with a newer version of the language/implementation, perhaps a very short time after the code was initially written.

2. The Rust compiler or other tooling is crashing or failing in some way while compiling these projects.

3. The projects themselves aren't being maintained on an ongoing basis.

4. The projects themselves were never building properly in the first place.

5. The projects' developers are targeting different versions of Rust (which probably means there will be interoperability problems for anyone trying to use them in a larger projects, especially when it comes to libraries).

And while there may be a lot of these projects, I've never found the quality to be very good. Many of them are extremely limited or incomplete. Many of them are little more than casual experimentation. Many of them are only developed by a single person, who often has appeared to have lost interest.

Those factors are disconcerting, especially for somebody who wants to use Rust for serious product development. It does no good if there are hundreds of libraries available for use, but half of them don't even build, and the ones that do are very incomplete.
Did the end of the article remind you of this story?
Same here. I'm a web developer in the US and I make $17 an hour... and that's at a major, international corporation. I think you and I are being shorted.
Ransomware improves parent-child communication?

Better: analytics dashboard on latency of response.

Suppression of emotional signals (response latency) is unlikely to improve communication and could lead to second-order consequences "If you treat me like ___, I will behave like ___".
RMS at TEDx: “Introduction to Free Software and the Liberation of Cyberspace”
> Why would a business do this ?

If you are in charge of SW team, without too much SW knowledge, and you have to deliver something in the next 3 to 6 months to you customer, you would likely ask your architect/developers to do "same as previous product" but with a single modification for the new feature. This is the risk-free solution for the short term. Add to that that managers could change every 2 years, there are no incentive to take a big risk in rewriting or upgrading the technology. But this is also the boiling frog syndrome, in the long term you end up with a mess, and if you are in a competitive environment you are getting too slow and your company will be eaten alive. If you are relatively competitor free in your niche market, this could somewhat work...

If you hope to achieve something, you need to have a least one supporter in the upper management. It is still very possible that they are unaware how bad the situation is (or they are but they don't care for the long term). So you're first short term goal, should be to communicate clearly what is wrong, and above all what it costs the company every quarter in term of time lost, bugs, etc. And you should propose an alternate solution with some roadmap (even long term one). "In X years, we will have moved to Z and it will allow us to gain Y"

If you don't have at least one big ally, you'll never manage to have some time or resource to improve the situation. (It will probably be easier to convince some of your colleague).

So if you can't rally any ally in the next 3 months, or at least find potential allies that are aware of the situation, walk away.

PS : Even if this looks ugly, there might have been sound reasons that led to that mess. Every small decision in the past were maybe good for the time being. So don't judge too harshly your predecessors. Especially if you need to convince someone in upper management, that the decision he had taken 5 years ago, was absolutely horrible. (And since you are new, that could a very possible misstep)

Edit : if you have been hired to speed up the dev process, at least someone has started to think that maybe something was wrong, so there is some hope !