skysight-inc/HackerNews huggingface dataset:
I agree. The hardest part of getting my CS degree was the Math and some of the fundamental CS classes. The actual programming classes I enjoyed quite a lot. I came into college with a lot of personal experience with computers, and programming, like you mention.

I figured most other classmates were the same. However, the amount of skill variation I witnesses as a lab assistant where intro course students would plead with me to basically complete their assignments after I helped them once was mind-opening. Horrifically formatted code. Unable to use copy-and-paste keyboard shortcuts--or any keyboard shortcuts, really. Unable to run and debug code. Unable to find where in the file system the compiler or their commands were running. Unable to understand file system permissions, etc.

There was a huge valley between those with no experience that just wanted the CS degree for a well-paying job, and those that already had CS experience and wanted CS for a well-paying job that they would enjoy*

*theoretically
First post-quantum cryptography on a contactless security chip
A list of few innovative AI Startups
What company has product management people work on architecture? Usually they focus on what the product should do, not how it should do it.
The mobile tablet is not just a personal computer but a downright intimate one.
Wikipedia editors are pretty strict about what gets to remain a page. Everyone knows they delete articles unless it has lots of sources and public interest.

With 6x the articles on baike I can't imagine that there is that level of quality control. Unless there are 6x as many things worth documenting in China vs rest of the world.

An interesting statistic none-the-less.
Exactly - The reason for security is a weak reason - my coworkers had the same access as I and everyone could see my screen or if there was someone unknown sitting there, they would have spotted them straight away. We were all shoulder to shoulder in a far corner of the company. There was not much secret stuff going on there either.

There are many more important security practices that should be followed, more important than desktop locking, yet they don't attract the same kind of vigilante attention.

In my situation, it was blatant bullying, especially considering the inappropriate content of the email that was sent. The desktop locking was just an excuse. There was no other way you could frame this.
Like physical keyboards.
So you've never posed for a photo? Waited until the giraffe was looking right at you before you took a picture at the zoo? You're comfortable just snapping a picture, any old picture, and calling it good enough? You just want a picture of your kid, it doesn't matter if they're in focus, or looking at you, or picking their nose. It'll go on the christmas card anyway, right?

You don't have to be a "tortured genius" to want to frame a picture and make it look nice. Nearly everyone wants to take a picture where things are in frame, in focus, and the setting is controlled.

360 photos can be achieved with normal cameras like they are today without a fad attachment. No one is limiting your choice, let's not be hyperbolic.
9 Home Appliances to make your life a lot easier
val field is a shorter way of saying getField, actually, not final field, and that's the point of the article. Kotlin just doesn't have fields in Java sense (though it uses them, of course), for programmer they are properties, AKA getter+setter with trivial getter/setter generated automatically.
That's totally why I have a phone with a simple black case. It's not because I went with the most pragmatic case in a color that matched the phone, but because I secretly want to be a special ops ninja, but because of dress code requirements, I'm only able to put my phone in a tuxedo.
It was odd as it played moves not normally seen at specific points in the game. The strategies ended up being unique, and thus recognizable.
Russian Roulette?
Yeah, I've done this. It's frustrating and easy to burn out doing it because progress seems so arbitrary. Legacy upgrades are usually driven by large problems or the desire to add new features. Getting a grip on the code base while deflecting those desires can be hard.

This type of situation is usually a red flag that the company's management doesn't understand the value of maintaining software until the absolutely have to. That, in itself, is an indicator of what they think of their employees.
You're creating a false dichotomy. AlphaGo plays both oddly (definition: "in a way that is different from what is usual or expected") and better.

The real point that I think hacker_9 missed is that AlphaGo was not trying to play like a human, it was trying to play better. If it tried to play like a human, it's quite likely that it would be indistinguishable.
Well I wasn't intending it as an argument. I was actually just interested to see what someone who had actually thought about it would say.
It'd be very cool to use this to take a video with hard subs, inpaint the hard subs (even naïvely, or maybe with a motion compensator), and replace them with SRT/ASS subs.
Could you explain why would I need to write two versions of methods? I always liked C++ const-ness, the only drawback that I see is that const-ness should be default and something like `sideeffect` modifier should be applied for non-const functions.
The Important Features and Fixes of Node.js Version 8 – RisingStack
I'd say that's a massive flaw in the curriculum. They've effectively written off the overwhelming majority of new college students. Outside of a high-school level CS course, where would one even encounter a *nix system (yes, I'm ignoring the dedicated geeks who spin up their own system for fun)?
This died on the vine when initially posted two months ago; main comments then were complaints it was "mac only". Yesterday's release (0.8.4) includes binaries and installers for macOS, Windows and Linux.
No, it does not appear to be (anymore?)
Hello HN. I revamped my website to better highlight my side projects and wanted to share it with you. I was going to make this a "Show HN" but the rules say it must be something you can "try out." Not sure you can "try out" a portfolio, although you can certainly try out the projects on it.

Hopefully you will find something interesting or inspirational! Let me know what you think.
> In retrospect it would've been much faster to just rewrite Knockout from scratch.

You're getting a bit of pushback on this sentiment, so I'll play devil's advocate a bit here.

I've tried gradual refactors in the past, with poor results, because unfocused technical teams and employee turnover can really kill velocity on long-term goals that take gradual but detailed work.

That is, replacing all those v1 API calls with the v2 API calls over five months seems fine, but there's risk that it actually takes several years after unexpected bugs and/or "urgent" feature releases come into play. And by that time, you might have employee turnover costs, retraining costs, etc.

I'm just saying the risk equation isn't as cut and dry as it seems. There's is survivor bias in play in both the "rewrite it" and the "gradually migrate it" camps.
That sounds interesting. Any links or a further description?
Counting Clojure Code
Improving TruffleRuby Performance
This is exactly the scheme from Office Space - minus a decimal shifted the wrong direction...

The problem is accumulating that inaccuracy when there are well-known, battle-tested libraries and data-types available specifically to avoid that problem. Except, maybe not as well-known as they ought to be...

People these days tend to have no idea how numbers are actually stored in bits and bytes. I'm more likely to find an English major who would be able to remember Big-Endian vs Little-Endian (albeit in the original Swiftian context) than a web developer who has any idea what that means. Forget about mantissas and exponents in floating point, or two's complement integers.
Ask HN: Hackers in South America?
Hi HN,

Just finished school and will be traveling to Colombia then Ecuador for the next six months. The plan is to do a lot of reading, programming, hiking, meditating and qigong. I've found a small cabin in the Ecuadorian mountains with wifi near Vilcabamba.

So two questions:

1. If you had a few months secluded in a small hut in the mountains, what STEM materials would you recommend reading/learning?

2. Anyone around Bogota or Loja that'd like to meet up or provide advice?

Thank you!
I'd like to know what their take is regarding what their product and all the other phone's (and by extension me...) "stand for".
Sure, that's the globalization ideal. But in the real world, there are a bunch of other non-market factors at play, which these kinds of policies attempt to account for:

- The low-cost remote industry may not be sustainable. It would be unwise to allow upheaval locally for what could turn out to be a short term gain (for example selling your city buses and firing the drivers because Uber is a thing).

- The industry may not be able to scale particularly well. This is why milk production is heavily regulated in Ontario—it keeps the price steady and avoids boom and bust cycles which would hurt both the consumer and producer.

- There's a non-zero cost to having the local industry fold; specialized machinery is written down and sold for scrap, entities (and sometime individuals) go bankrupt, people are out of work, etc.

- There can be sovereignty issues with being overly dependent on a foreign power for some critical resource, for example oil, food, energy.

- The cost of shipping is an unknown in the long term. Flying in produce from far away makes sense when airplanes and fossil fuel are cheap, but do we want to build our society on an assumption that that will be true indefinitely?
> This methodology doesn't make a lot of sense to me. If you allow yourself to make up (or "hand-label") 70 numbers, why not make up all 702?

Well, what is the science in that?? See, the headline will tell you that the X% of chance that Y% job will be automated, and we know we have to take that with a grain of salt.

However, the statistical models have some extra information, such as which of the 9 variables carries more information about how to predict the labels and etc.

Also, some model can also handle somewhat "bad" data, since even though it is crappy, some signal is still there.

All that said, we still need to take the prediction with a grain of salt... :D
The following responses are terse because I'm posting from my phone. Apologies in advance!

JS is not parallelized, so whether or not it's thread safe is a moot point.

Python is also compiled to a bytecode before interpretation; were still don't call it a compiled language.

In a JIT language, macros aren't significantly faster than runtime abstractions. In the latter case, you can always precompile your abstraction on program load at the expense of slower start times (think regex engines or precompile linq queries). The cost is negligible.

I can't seem to find anything on type documentation for Cursive. How can I ask it what type a function returns or what types it's arguments should take?
How does one create a machine with such untied hands? The problem I have here is that while you can run any formal system on a universal computer, you do so by embedding the semantics of your formal system into those of some machine, and you have to make changes from outside that embedding (writing a new interpreter) if you decide you want to shift formalisms. Meanwhile, humans can't step outside the computation their neurons run and reprogram their base method of thought (as far as we're aware, and distinguished from reprogramming one's set of premises), but can change the formal system they're simulating (as one does frequently in math and the sciences).

In short, I agree you entirely with except that I don't see how we can design a machine with hands as untied as ours. Given a mechanistic view of the brain one concludes that it must be possible, but I still don't understand what formal trick would enable this difference in power. It does seem to give up consistency somehow (humans make mistakes) but not entirely (humans can detect mistakes they've made). I'd love to hear more thoughts on this matter.
That happens because we fetishize specific educational goals for those secondary roles and filter out broad swaths of the educated population for no reason. You have to have a technical degree to not be deleted from the pile.

We should be hiring English and Sociology majors to be PMs and marketing people.
Show HN: FlynnAutoScale – A Rails Gem for Flynn Auto Scaling
JavaScript and WebGL terrain engine and GUI
The rewrite only works - in my experience, YMMV - if the team is already 100% familiar with the codebase as it is and the task is a relatively simple one and there is a nice set of tests and docs to go with the whole package.

Outside that boundary you're set up for failure.
The working mathematician is a Platonist on weekdays, a formalist on weekends. On weekdays, when doing mathematics, he’s a Platonist, convinced he’s dealing with an objective reality whose properties he’s trying to determine. On weekends, if challenged to give a philosophical account of this reality, it’s easiest to pretend he doesn’t believe in it. He plays formalist, and pretends mathematics is a meaningless game

Reuben Hersh
Neat acquisition channel possibility.
Exactly right. The unstated but important knowledge of Stupid Computer Shit We All Know was spun by the media as "Evil Bigot Paul Graham Says That Only Suburban White Kids Who Have Used Computers Since Age 6 Can Ever Be Successful Tech Entrepreneurs". Which was not at all what he was saying but ... media gonna media.
Yes, but those were mistakes that were not part of the operational attitude of those companies, they did not see them as 'normal' but rather as 'abnormal and to very much be avoided'.

It's the normalization of failure that's the problem here.
Build a Discussion Forum in Django: Building a Progressive Web Application
>sigh whereas ALT+0X gives you Unicode. So typing ALT+0163 will give you £.

This is incorrect. It gives you an ANSI codepage. On old Windows version it would be a default ANSI codepage, on modern Windows it's a codepage associated with your input language. So if I type ALT+0163 with English keyboard layout I get £ from Win-1252, but the same combo after switching to Russian gives me Ј from Win-1251.

Entering numbers bigger than 255 just causes wraparound. For example, ALT+0835 also will give you £ instead of ₣.
For you to perceive your thoughts doesn't require different properties to other people's thoughts. Just different values to common properties.

It's not clear why you would expect this to be inherently different from any other neurological response. For example, if I stub my toe, are you suggesting that science doesn't have an answer to why you don't feel it?
While starting out, knowing what not to do and precisely why is nearly as important as knowing what worked. In the case of good codebases and bad codebases though, you still need to be careful not to cargo-cult wholesale the architecture that worked before, and conversely not to do everything different from the last horror you worked in. View it as a learning opportunity as you debug: some things they will have gotten right, sounds like many things have been gotten wrong, but the process of reasoning them apart is still valuable.

All that being said, certainly do not hesistate to look around if you feel like you aren't growing as fast as you could be. Life is short and it's a sellers market for engineer labor in most places I have seen.
So, is this the bridge to Universal basic income?
#1 Please show how to program a Turing machine to use "axioms stronger than PA"

#2 Please show how to program a Turing machine so that it is not logically consistent at a fundamental level?

#3 Are you questioning the viability of objective collapse theories in general? To date we have no experimental evidence of said theories, but I don't think anyone has suggested they are inconsistent with QM. Are you? If so, please show how...

#4 Show where Penrose has said humans are only species to make use of microtubules and your claims regarding Penrose' theory of objective collapse and having staggering new computational speedups are ... without any evidence. Please provide some.

The tenor of your comment suggests you find Penrose to be an idiot and missing obvious problems. Consider that perhaps you are the one misunderstanding what he is proposing and that he is not, in fact, an idiot.
Couldn't agree more. It's a lesson in perceiving the largest range of possibilities.

Coming from a family with a less money than average North Americans, this is an especially good lesson. For countries with enormous possibility, but few open paths to achievement, the value of this kind of ability in thinking can not be overstated.
Overall, it's actually worked out very well for taxpayers. The program that provided the Solyndra loans has made billions of dollars for the government, with a very low loss ratio:

https://www.bloomberg.com/news/articles/2016-11-28/trump-can...
> What formalism, if any, is the human mind subject to?

Neurobiology. Chemistry. Physics. Of course, any machine will also be subject to the same formalism, so....

To start with, no physical entity has an unbounded memory available.
no, you'd call it a 5 by 10 by 200 piece of wood. Having '2 by four' as a common term is an american thing. Over here you just talk about the size of the wood. in any case you'd call it a 5-by-10. Wood from the store isn't properly dimensioned anyway, and the metric system has this neat thing where it goes in steps of 10 (mostly) so you can pick a unit that's scaled usefully.
I know not exactly what the author is discussing in his post, but as someone that did two years in CS before switching (to accountancy), one of the main reasons I switched was the stark contrast in interest in the field between myself and (seemingly) everyone else. In hindsight, I think I would have made a good project manager (instead of a developer), but that path was not really communicated to me in a way that resonated with me. So I just saw a bunch of people with a much greater zeal for coding than I had and decided I should try something different. Maybe in another life...
It is amazing how much of our profession's knowledge ends up as a odd if statement buried deep in the code to some method or stored procedure dealing with an edge case that gets missed in the big bang rewrite. Its also amazing how much money the failure to preserve that knowledge can cost.

I wonder if its time for professional software archeologists?
Well, this was a few years ago to be fair, and we probably had one of the largest and most intensive Lua deployments in production at that time, if I had to guess. I'm just reporting my experience then, which is just what I experienced. I'm glad to hear that maybe it's better now, and I very much appreciate the hard work and dedication of the developers behind it!
would love to know your path into it. part of my job now is to mitigate the frictions between views of devs and users but not nearly enough for me. instead i have to code a lot (which i am not too good at).
> This type of situation is usually a red flag that the company's management doesn't understand the value of maintaining software until the absolutely have to.

Recent conversation with the manager of a company: "I've yet to see anybody give me a good reason why we need to maintain the software we already built if it work."

No kidding.
Actually it is, at the end of the first section https://mapio.github.io/programming-with-escher/#Programming... the sentence reads: "The source notebook is available on GitHub (under GPL v3), feel free to use issues to point out errors, or to fork it to suggest edits.
Square Limit and tiles."
TheShadowBrokers Monthly Dump Service – June 2017
AIs may be easier to program than people.
I recently had this experience as well, it was a good reminder about the fundamental obstacles. Although after years, we're much better equipped to interpret error messages and search for answers than a novice. Also, google now vs pre-google. Answers are so easy to find now, it boggles the mind.
Nim and Scala are not homoiconic, yet they both have true macros
It was really not reasonable to do this stuff using 60's erra computing technology. So, it's more new tech enabling new and less efficient approaches than generally talked about.
Yes, the real reason C preprocessor syntax can't be described by a context-free grammar is that parsing and execution are interleaved. This requires the parser to carry the set of current macro definitions for each parsing decisions, which implies non-context-freeness.

However, see [0] for a way to parse C with preprocessor #ifdefs (but after expanding #includes and #defines).

[0] "SuperC : Parsing All of C by Taming the Preprocessor" http://cs.nyu.edu/rgrimm/papers/pldi12.pdf
Something like Golem might fall into this category. It's a project that allows you to use tokens to trade computation time on other people's machines. The software is open source and you could probably set up your own network that uses your own tokens, but likely most users will buy and sell computation at the network the founders set up.
That's an absurd generalisation, and you should probably stop thinking Dilbert is a useful guide to most workplaces.

Some companies work that way, but they are bad companies to work for, IME.

Other companies, managers have got where they are because they know more than anybody else and have the personal skills to marshal a team into solving bigger problems than what is on the board for this sprint alone.

Source: ex-CTO, now Senior Engineer again, done every level of management you can think of, choose to be where I am for a reason, but do not think managers are idiots.
I've come to the conclusion that neither I, nor the majority of HN, have any clue what sorts of consumer electronics will actually succeed.

I was annoyed when Google killed the Nexus line and replaced them with Pixels and hoped it would fail so that we would get the Nexus line back, but they've been unable to keep up with demand.

Similarly this page spends a lot of time talking about cameras, which I have zero interest in, but seems to be important to a lot of people, yet everyone on HN is talking about everything but the camera stuff.
I'm more of a "Person of Interest" Samaritan kinda guy.
A bunch dropped out because the programme was an engineering programme, and they failed the math parts

There are solutions to this problem as well.

JMU and GMU (high quality, but not top-tier, state schools) both offer pure CS degrees, but also a spectrum of multidisciplinary programs in "IT". One of my current summer interns is wrapping up a degree in info security, with a heavy dose of programming. The other intern is a straight-up CS major. Both appear to have the programming chops to join the workforce as typical application developers.
Amazon Shares Hit $1,000, Showing Dominance of E-Commerce, Cloud
Cli for downloading songs by just typing its name
Exactly. And the UI of a phone has become increasingly elementary and unsophisticated compared to even a keyboard and mouse. Being an end user of mobile games or Snapchat or Tinder (swipe-swipe-tap-swipe) simply doesn't prepare you for Emacs or vim.
The correct dataset (with gzip compression) is here: https://ipfs.io/ipfs/QmcvfB6pAqUfTnuAK8zFKVxbdhopnBPveJrDcy1...
a 2 by 4 would be a 5 by 10 in metric wouldn't it? you're not calling it a "2 by four inches" just the same as you wouldn't call it a "5 by 10 centimeters".

In fact I find in practice I hardly ever mention units. Being off by a factor 10 is usually obvious enough that people know what unit you're using.
Any IDEs you think are better than this?
At the very least, write a doc that explains how to build the product, including where to find the parts in source control, what the dependencies are, what servers it'll get installed on, and so on.

The goal being to increase your shop's "Bus Factor"

https://en.wikipedia.org/wiki/Bus_factor