skysight-inc/HackerNews huggingface dataset:
When you're talking about accelerating to get through, I take it you're discussing running of red lights quickly after a yellow.

While I certainly won't condone this, I also think it's a different class of problem from blatantly running a red light that has been red for a long time. Lights are timed to tolerate some abuse when it comes to trying to squeak through.

What I see bicycles do on a regular basis (and what this one particular jerk did the other day that really stuck out at me) is proceed through red lights that have been red for a long time. On a good day, they do it after stopping and waiting for a while. On a decent day, they check for traffic and only run the light if there's a hole. On a bad day, they just blow through.

I object for two reasons. First, even though they're likely to take the physical damage in a crash, they're still imposing potential emotional damage on others. Even if they're not at all at fault, a normal human will feel awful for hurting or killing a bicyclist while driving. Second, it gives all bicyclists a bad reputation, and that harms me when I'm on my bicycle.
I wonder if Docker/Go will work on uClibc; busybox + docker would make for a very small image indeed.

However, I think there are better ARM targets for Docker, but for publicity and to get the ball rolling - you can't go past the Pi.
Ugh.

I wish we took the engineering metaphor more seriously. In particular, I'd like to see some real consequences for malpractice on the part of practitioners -- this would help us in our struggles with management to get projects done successfully.

I've seen so many cases, for instance, where people screw up simple things, such as generating primary keys, and keep making the same mistakes over and over again. This has got to stop.
Kotlin compiles down to JVM Bytecode, which will could be considered another language, is what's required to run on the JVM. That's the JVM Target.

Now, from the JavaScript target, yes, it compiles down to JavaScript, but it does so in a way that it not only provides sourcemaps to be able to debug, but also be consumed from JavaScript via Common JS modules for instance, thus allowing you to interact from JavaScript with the code you've written in Kotlin. Think for instance replication of some business logic on both client and server which is quite common.

Finally, in regard to writing Kotlin versus JavaScript, well Kotlin has it's advantages if you prefer static typing and want some of the benefits that language provides. If you're comfortable with JavaScript, if you prefer dynamic languages, then there's little reason to use Kotlin to compile to JavaScript (except the previous scenario of sharing code).
That usage is incorrect. It's another case of a word misinterpretation taking over the historical meaning. It's from the Latin "non plus" meaning no further.
A lot of this stuff sounds interesting - in the same ballpark as what we're already doing at GrantTree, but some bits are jarringly wrong. For example:

> The Company is primarily created to generate bonuses for the employees (not to get sold).

Ugh. What an uninspiring company mission statement. Surely the company should exist to do something worthwhile for its customers first. If it does no good to the rest of the world, generating bonuses for its employees is... lame.
This indeed helps, didn't look at it this way and it makes lots of sense to do so
There's no evidence Gates ever extorted or threatened anybody.

I also don't understand why anyone has a problem with Microsoft buying QDOS. Windows predates OS/2, too.

I admire Gates for turning his efforts towards solving some of the great problems of today, and succeeding.
I never looked at it like this, but the way you put it, they are remarkably similar. Thanks for showing me this perspective.
Wikipedia:

"Engineering is the application of scientific, economic, social, and practical knowledge in order to design, build, and maintain structures, machines, devices, systems, materials and processes. It may encompass using insights to conceive, model and scale an appropriate solution to a problem or objective. The discipline of engineering is extremely broad, and encompasses a range of more specialized fields of engineering, each with a more specific emphasis on particular areas of technology and types of application."

Application of scientific/practical knowledge: check. Design, build and maintain systems/processes, check. Using insights to conceive, model and scale a solution to a problem, check.

Sorry, but this is just a nonsense discussion imho. Stop devaluating your own grade.
Wow, man, you have to binge-watch faster.
Hey xwowsersx! I hear your concerns, thanks for sharing them with me.

So, don't worry: I'm not just sitting around. I've been working on a small side project which is nearing completion, and I have another couple that I'd like to start. Plus, there's another long-term project I would like to do as a learning exercise in game design & development over the course of a few weeks. I should be able to get some time for that very soon. Furthermore, I'm a busker on the London Underground, which some people do for a full-time job and I hope to dedicate more time to (I have a financial goal there, too) which includes learning new songs and becoming a better performer. Finally, I do have a short-term (3-4 weeks) freelance project which is looking to be greenlighted coming up, which in itself will also be a learning opportunity.

The point is, there's loads of learning happening - and I'm really excited about all of that!

"I'd love to just leave my job, but I don't see why setting aside some solid hours each week isn't enough to get something off the ground." - I did this for about a year and a half and I just don't find it satisfying anymore, but I think part of that was because of the job I had.

It could be that this is just a short path of personal discovery, and I quickly change my mind - but I kind of want to find out for myself. For a long time, the whole "But Dan, you don't have a startup that is taking up more time than you can handle right now!" thing bugged me but the truth was, a large part of me wanted to quit for a whole multitude of other reasons, which I hope I have expressed somehow, at least between the lines.

Anyway, everybody has their own path. Mine, perhaps, seems a bit foolhardy at times, but I've been through some rough patches in life and come out the other side a better person, so even if this turns out to be a huge mistake, I do hope I look back at it and say, "well, that was a useful learning experience."

But I don't think it will be a huge mistake ;)

Thanks again, I appreciate the realistic viewpoint and honest opinion.
Why Reforms In China Today Are Much Harder Than 35 Years Ago
It's very hard for me to imagine someone who wants to try so very hard to maintain a serious public image that they won't be caught liking a silly cat video on YouTube. That seems hilariously self-important.
That's a good rule, Danny. I hope it serves you well, as mine do me :)

Thanks for the kind words!
Hackers take control of Internet appliances
I bought a Samsung ARM Chromebook to play around with and see what Chrome OS is like. It definitely has a single-purpose, very limited use case - to deliver web content. But, it does this extremely well.

The good parts: Automatic syncing with Google services, such that you can wipe everything and restore, and it will automatically reinstall all of your applications and settings; encrypted storage and signed binaries so it is difficult if not impossible to load malware; and a very polished UI that gets you into a browser and gets out of the way to let you surf the web.

However, it does start breaking down when you want to start doing more CPU-intensive tasks like gaming, there is a big gap right now between where HTML5 gaming is and what native gaming (even through Flash) delivers. For a system that runs all apps through the browser, that is going to continue being difficult. Also, the almost-continuously-online requirement can be tough in some cases, but really I already have wifi everywhere I want to use it...

I can see it being a great option for 95% of day-to-day computer users, though. Mine was $250, and it definitely outperforms low-end laptops - great battery life, good speed, lightweight, etc.

Not to mention it can run a full version of armhf Ubuntu so I can still run tuxracer when necessary.

TFA may be an advertorial, but I see Chromebooks as the evolution of the original netbook idea - a cheap PC that goes everywhere and is good enough for most online activities.
Heh, well I actually say "developer", because "artisan" sounds douchey, "engineer" is (imo) incorrect and "programmer" tends to be a very narrowly defined role. Design and operational sides of a "developer" are not really adequately covered by "programmer".

But that's semantics really. We're talking about what sort of techniques do you employ. It doesn't really help to say that programmers use "programming" techniques because it says nothing about the common attributes with other industries / professions.

Which is where "artisan" comes in. A good developer is, IMO, more like an great chef - excellent technique, a wealth of experience across many disciplines and the best tools are the (ahem) recipe for success, not "good process".
Me too! Thanks David.
I would like to have seen a couple more tests done with PHP rather than just the one.

I've been looking into Node.js lately and have wanted to see direct comparisons between the two - I currently use PHP mainly.
That's a totally fine approach. That said, there's something to be said for burning your bridges. Well, burning your ships, is the better but less known metaphor.

I left law school a couple of years ago with a lousy plan to post on American craigslist listings, advertising LSAT tutoring. American rates were far higher than what I could charge in Montreal, Canada.

That plan was a total failure. But I was determined not to go back on the path that I was on. I wrote blog posts about the LSAT, and stayed in touch with people in my field. Eventually, an opportunity to be listed on the major blog in the niche came up, and later a chance to write explanations for the LSAT in return for royalties. I also set up a relationship with a company to teach classes for them, something I could not have done if I had still been in school full time.

I'm still doing all the things I started in the first dismal 3-4 months after leaving school. I couldn't be happier with how things worked out. If I had just tried it on the side, I never would have gotten so deep into things, and would have missed the opportunities I got. I HAD to find opportunities, because I had left myself no easy road back.
Counterdote: I know a person who bought one and thinks it absolutely perfect for both entertainment and development, as he shells into other machines if he needs to and gets amazing battery life.
> If you were building a bridge or a skyscraper and you told me, before you began, that you knew exactly how it would look when it was finished – I would believe you. If you told me that you knew to some insane degree of accuracy how long it would take to get to ‘finished’ – I would believe you again. That’s how Engineers roll

Oh neat, maybe he can explain why the new Bay Bridge was practically a decade over schedule and billions over budget.

Or the Burj Khalifa was about 2 years overdue?

Or the California High Speed rail is projected to be twice the budget they thought, and they've barely broken ground on it?

So the idea that "Real Engineers" building bridges and railroads and skyscrapers get it right in plans and schedule is total bullshit. We've seen larger software projects, with more people working on them than these examples, hit their deadlines (Windows comes to mind -- except Vista).

And by the way, those "Engineering" disciplines have only been around for, what, hundreds, if not thousands of years. What they do for a living is mostly explored territory. Software, at least at a scale to be considered engineering at all, has been around for about 3-4 decades... maybe. And we're still hitting up against major unknowns all the time at every level of the practice, big and small.

edit: grammar
> Can you not write any program using either?

While you can make do with either, they have complementary strengths and weaknesses, which are useful in different situations. See "Expression Problem", and "Visitor Pattern".

> Why not?

"Single Dispatch Polymorphism" is a language feature. ADTs/pattern matching are a language feature. Subtyping is a type-system feature. "Structural Typing" is a type-system feature. Guaranteeing exhaustive pattern matching is a type-system feature. They are not "type systems", and different languages pick them and combine them a la carte.

> But case classes cannot be part of an inheritance hierarchy nor structural types (or inheritance types) be used as ADTs

Yes they can, and they do. You just can't extend case classes from other case classes. You can use any class as an ADT-like structure if you want, leaving the hierarchy open or closed, and defining pattern matching extractors as you please. It's all part of the same system; whether you call it an "ADT" or a "class hierarchy" is a design pattern thing more than a rigid systemic property.

> Obviously, and that is why some languages employ the one or the other

Er... that doesn't follow. What I said is that it's very useful having both together. If you don't think that's valuable, that's fine; Scala's not for you.
That's awesome! Good job with Silvrback, and thanks :)
It is far more than semantics, the term engineering denotes a rigid adherence to processes and protocols, whereas 90% of people that call themselves "software engineers" are just developers at best - they write code to do what they are told it should do with very little concern for the overall processes involved in an engineering discipline.
Programming classes for a 13yr old
My sister's middle school doesn't offer any code classes (frustrating). I think in this day and age students should have some sort of in-school option to learn the fundamentals of coding. Most people don't need to be a real coder, but even today I feel a bit naked with no real engineering know-how.

Can you suggest classes/courses or games that might be interesting for a middle school girl? As the big bro, I'm happy to do them with her.

Keep in mind that coding isn't perceived as "cool" by most younger girls. With this in mind, I'm also open to suggestions on the best way to approach her with this topic and encourage her to give it a good try.
It takes time to get used to see Bill Gates as the Gates Foundation man. I saw the TED talks both by him and his wife, and his contributions to different causes reported in different independant venues. But what's making it uncomfortable is the basic dishonesty his previous company was tainted with. Microsoft had a very noble stated mission and had a pretty good image in my teenager memories, Bill Gates inspired a generation of programmers and entrepreneurs...until it was very clear that they had profoundly damaging business practices for the ecosystem and very low company ethics.

Now we are talking about all of Bill Gates' energy and dedication to make the world better, but I'd think that his ethics may not have changed so much, nor his his way of thinking.

But he's doing good things, right ? Or do we really have a complete view on his activities ? Microsoft brought computing to the masses, the Gates Foundation is bringing vaccines to people in need. Will there be a day when we won't be so fond of the actions of the Gates Foundation ? Are there side effects to what is going on that Bill Gates is aware of, but won't be widly known until years from now ? For all the good we see now, will there be dirt coming out slowly that we won't be so OK with ?

I hope there is none of that, really. I just find the narrative of 'he did questionnable things in the past, but now that he's leading a charitable entity it can't be bad. Grow up and praise the man' a bit naive. Fighting polio is good, and the Gates Foundation seems to be doing seriously amazing things. Now I'd still keep a healthy distance, and I'll prefer pushing other entities that I could trust more easily.
tumblr! It just seems to slip under the radar for everyone, even though it has now, what, 50 million users?

Yep, Yahoo! has a lot of chances of screwing it up, but it's also the largest online pseudonymous social network I can think of.
Thanks. That would take too much time though. Currently priority is to get the app out of the door asap.
Engineering is about process, not about degrees. My CS degree did not at ALL prepare me to be a software engineer. It taught be to be a programmer. Engineering is more about the process than the technology. CS teaches theory and technology.
I have heard that Play store rejects apps that are just a web browser. Is it true or just a rumour?
Windows RT comes off as "Windows that you're familiar with" with the RT part as a huge asterisk that means "except you can't just install what you'd expect to be able to."

Chrome OS comes off as "Chrome, the browser on your computer"

The former is underwhelming whereas the latter meets expectations.
We should all be so lucky to make a mistake like that.
right - but then he would've framed the question as "what are the cases where mapreduce really doesn't make sense".
I have to strongly disagree.
There have been quite innovative alt coins in this first wave, the most prominent ones being Namecoin, Litecoin, Peercoin, Primecoin, Freicoin and possibly Anoncoin as they have all found niches that they can cater to.
Litecoin has the second largest market cap and has the honour of being the first major Scrypt coin
Peercoin has the third largest cap, it introduced Proof of Stake as an alternative for Proof of Work and in the latest round of alt coin investment it did the best in terms of market cap increase to coins ratio.
Namecoin has a niche as a alt DNS
Primecoin allows Proof of Work to be useful rather than selfish to the network as is the case with Bitcoin
Anoncoin recently integrated i2p and Zerocoin to provide greater anonymity for users
Freicoin had a great idea with demurrage, very capitalist, but it failed because people want a currency that's either going to hold or appreciate in value and also because 80% of the funds were held by the Freicoin foundation rather than the community.

There's also a second wave of altcoins coming, ones not based on Satoshi's algorithms. The best example would be eMunie, which from what I hear is very close to release.
This is an amazing idea. Wish it would find widespread (global) use.

(Although this would potentially lead to a completely subsidized transport system... but then you could increase the barrier to getting the free ticket or have the barrier depend on the person's physical fitness... and you might get the cost for the tickets back from the decrease in healthcare costs... it's just got so much potential!)
I did read a fair few other peoples' approaches. Some people said, "enough for a year", others said, "enough for 6 months" and some people said "enough for 2 years".

To be honest, there's no one amount. I felt comfortable being riskier. My family was very supportive of my decision since they've all done similarly risky things in life. This made me feel comfortable going in knowing that if it all completely went tits-up, I'd probably have a branch to cling to. But this isn't something you should use as a motivator to chill out and be lazy. You need to find ways to support yourself, one way or the other, otherwise you've just moving from one dependence to another.

Freelancing is a good place to start because it doesn't require complete dependence on somebody, and you can work on your own terms, and it helps to have a bunch of stuff you can say, "I did this thing" in case the time comes to get a job.

Good luck in figuring out the right time for you :)
(I only read the very first function from the implementation, so I apologise for the overly-specific comment in advance.)

Simple and fast ways of calculating modular inverses are:

- Bézout's identity. That is, inverting p mod q can be done by adapting the Euclidean GCD algorithm to produce numbers x and y such that xp + yq = gcd(p, q). The adaptation is usually called the Extended Euclidean Algorithm, and it is simple: For the base case of the Euclidean algorithm, where p divides q, we can take x = 1 and y = 0. For the other cases, we can use recursion: if we have x', y' satisfying x' * p + y' * (q%p) = gcd(p, q%p) = gcd(p, q), then summing and subtracting y' * p * (q/p) (integer division here) allows q to reappear in the equation by some rearranging, since q = (q/p) * p + (q%p). This allows us to find x, y in terms of x', y'.

Since p is prime in this particular case, gcd(p, q) = 1 for all relevant values of q and thus y is the modular inverse of q: xp + yq = 1 (mod p) implies yq = 1 (mod p). Perhaps it's relevant to mention that this method works even for non-prime p, just as long as gcd(p, q) = 1.

- Fermat's little theorem. That is, the inverse of q (mod p) is q^(p-2) (mod p), since q^(p-2) * q = q^(p-1) = 1 (mod p) by Fermat's little theorem. You can compute q^(p-2) (mod p) in logarithmic time by doing binary exponentiation: a^b is 1 if b is zero; it equals (a^(b/2))^2 if b is even, and it equals a * (a^(b/2))^2 if b is odd (integer division again!).
Having not clicked through, I upvoted thinking this discussion was about what you mentioned.
What makes me bitter is not having this type of freedom as an H1B worker. For all intents and purposes, I'm a slave to my employer. Sure, I could quit at any time, but that would mean having to go back to my home country, which I have no intention of doing. The USA is just a better place for all sorts of things.

Will I be able to maintain my sanity until I get my green card? I have no idea. I've already become quite bitter and cynical about my job. I don't have anyone to look up to, the work is not challenging and the company is grossly mismanaged.

If anyone has any advice, I'm all ears...
OTOH, whenever somebody tries to tell me a story, I know (s)he's selling something and automatically get turned off.

I suspect that the story trick (as all tricks that appeal to anything other than critical thinking) will backfire soon enough.
According to the BBC coverage of this story(and what is actually shown in the video), it was squats rather than situps:

http://www.bbc.co.uk/news/world-europe-24873180
Also, consider why religious texts prefer to resort to stories rather than analytics.
>It even introduced new flaws like claiming to be GPU-hard even though it wasn't.

You think that's a flaw?
It's a claim you idiot, and it was bound to happen, just as PoW in Bitmessage was moved to the GPU by spammers so they could flood the network.
I can't think of one alt coin that hasn't been mined by GPUs
I like the functional paradigm and enjoy writing functional code, but personally, any time I look at Lisp or Clojure my eyes just completely glaze over. I understand how powerful S-expressions can be (source code can be data and vice versa), but reading them is a massive pain.

So, I've been learning Haskell and Scala instead. Is learning a Lisp-based language a necessity to be a robust, professional developer, do you think?