skysight-inc/HackerNews huggingface dataset:
I came to the same crossroads and agonized over my decision for a few months. For context - I am an engineer with over 10 years of work experience currently working in a well-known small company. I am currently working on our Java/Scala services.

Every company I have worked at has been very appreciative of my communication skills and my focus on operations. So I was evaluating product management as a serious choice - as a PM who could also code reasonably well.

These were the questions I asked myself -

1. Is the new career going to give more control over my time or less (courtesy: Scott Adams's advice in his book)

With PM, I have noticed that your schedule is controlled by the customers you talk to and the deluge of meetings either with engineering stakeholders or the sales/marketing parts of the company

By continuing as an engineer, you get to dictate your hours to a large extent. There are still those meetings that you don't like, standups where people drone endlessly, but you can control most of the time and how it gets spent.

I have also noticed that people tend to forgive you if you don't want to/ care about socializing. They chalk it up to the engineer stereotype and let you be.

2. Are my skills transferable?

As an engineer, if you care about honing your skills and learning all the time, you'll do well. Mostly have transferable skills that you can take to other jobs

As a PM, this is not entirely true. Say you specialize in medical devices, you are unlikely to get hired by a ride sharing service. The vast domain knowledge you might have built about the market for medical devices might not be useful for ride sharing. Even though engineering problems tend to be similar (scaling, availability), it is not a guarantee.

So I decided to stick to being an engineer while also trying to be someone that is more empathetic to the product org. I will make a genuine effort to slip into the customer's shoes, think from the product perspective regardless of how cliched it sounds when I say that :)
I feel sorry for the press, it is going to take a lot of effort to explain why this is "no big deal".
Most people in the implementation community also missed this paper (eg. zlib, JPEG, etc. people who make important use of huffman decodes have missed these techniques).

Actually, ITU T.81 (the JPEG standard), published in 1992, contains a flowchart that appears to implement the same algorithm, so I think Moffat and Turpin were a few years "late to the party".

However, that's still not the fastest way to decode Huffman, since it involves a loop --- the fastest is a single table lookup, which is practical for smaller maximum code lengths (such a commonly encountered in JPEG.)
How do these shallow articles get upvoted so much ?
they don't have much specific information except very generic "developer productivity".

Let me give a specific example where moving to Go really helped our tooling:

Go has some great interfaces, specifically their net & ssh client. In order to perform operations against some machines, we have to tunnel through bastions, however we'd also like the tool to work when an operator has already ssh'd within the region (the tool is installed on hosts as well -- so that long running tasks can be performed).

It was easy to create HTTP clients that easily tunnel through an SSH connection via Go's Dialer interface (present in the net & ssh package) or just directly if no tunnel was needed.
Andrew Turpin's implementation of a minimum-redundancy code (a.k.a. "Huffman code") is here: https://github.com/turpinandrew/shuff
Try a few methods in this link[1]. I’ve had great success with fresh fish using the water glaze. Lemon gelatin is supposedly the best method but I haven’t tried it myself.

Go Dawgs![1]http://nchfp.uga.edu/how/freeze/fish.html
The same things wrong with a wealthy person doing so. There is much more than is on exams. Exams are easy to pass, experience is hard to fake. Much, much more is covered than exams cover. That stuff is also important.
An index fund is really the best option.
I think that’s a big part of it. Getting a cert petition accepted puts you in a small pool of lawyers. Doing it from prison, more than once, without a SCOTUS clerkship or a stint at the SG’s office to give you insight into the unique dynamics of that process, shows some talent and also puts him in a niche that could be valuable to a university like Georgetown.
Despite the headline, social media isn't the privacy issue or the main story. It's just that we have evidence that social media makes up one of the Bulk Personal Datasets (BPDs) [1].

The actual story is that the oversight body wasn't informed that BPDs were being shared with foreign governments, law enforcement and industry partners. There is no oversight of the process. Partners don't have to meet any standards on use of the data. There are no penalties for misuse of the data. This makes it possible to circumvent UK regulations. These are the privacy issues.

[1] https://techcrunch.com/2015/03/12/isc-report-privacy-and-sec...
I did too! All the way until I read this comment
You might also enjoy wgo: https://github.com/skelterjohn/wgo (I am skelterjohn)
I think this is where social safety nets (or the lack of them) come into play. The market can be short sighted when it comes to training and typically focus on younger generations where they do (large orgs sponsoring university courses etc).

A good adult education scheme in conjunction with social welfare to allow people to make use of it makes a world of difference when it comes to re-tooling older people once jobs are automated. Not to find jobs at google but at the legion of smaller traditional enterprises that now have technology components due to automation.
Oh yeah, it is certainly possible.

you have build_requires which you can list dependencies that you require at build time (e.g: gcc-3 vs gcc-4) but not at runtime.

So you can have things that were built with gcc-3 and gcc-4 running side by side in a same shell environment without issues.

gcc itself, in this case, would be a rez package that can have multiple versions installed in the system.
Having worked at Microsoft and now at Apple (and a startup before these two), in my opinion

The overall distribution of proficiencies and talent across engineering teams (both hardware and software teams) in my opinion were about equal across the three.

(One major difference though is finding engineers who don’t mind doing nitty gritty dirty work like Dev ops and/or setting up test automation stuff is harder in big companies because somehow many of the senior engineers at big companies feel that if the setup isn’t given to them by someone else, it’s not their job to set it up for their team, so they just use what’s available/existing even if it’s insufficent for good quality.

(Not trying to bash on any oldies on my existing or previous teams of course there were few exceptions)

At startups though engineers don’t have this “that’s below me” Attitude and will put in the time to set up automation if it makes the team more agile.

In fact setting up developer automation was one of the first things I set up for my team before getting to my feature development tasks and team has acknowledged it made huge difference in the overall team agility and reduction in regressions found by the QA folks every time code was checked in
)

Anyway this made me realize the importance of good marketing which Microsoft lacked a lot imo and also engineering leadership product vision

Since generally I’ve noticed you’ll get about the same distribution of engineering talent

And what really makes the difference are a good marketing team and good engineering management team

who believes in the importance of code quality (ensuring things like checkstyle and findbugs are enabled as required to pass for check in and having required code review approvals for check in) and automation in tests (ensuring some set of unit, integration, and functional tests are run to be passed before check in), and automation in deployment.
A thing that REALLY turned me off in go...

The fact that go's Math functions only work with floats. Idiotic.

You have so many packages that have to add the same freaking min(int a, int b) function.
Keep in mind diminishing returns:
http://www.nature.com/news/irreproducible-biology-research-c...
And presumably Turpin's PhD examiners weren't aware of the flowchart in the JPEG standard either.
> conflicting system level packages

In Python, if you have control over the target system, this is solved with virtualenv. You can install whatever versions of libraries you want in there with pip without causing conflicts with system level packages.

If you intend to ship to end-users, yeah, you are kinda screwed. You are stuck using one of the various "freeze" methods, which, in my experience, kinda blow.
Well, I would interpret that as "With something so horrible, people want to make sure it never, ever happens again and they don't really believe that someone who would do something like that can ever be trusted."

Compassion is one thing. Giving people a second shot at doing something heinous is another.

We don't really know how to cure more prosaic mental health issues, like depression or social anxiety. If they are wrong about him having been successfully treated, we will likely find that out the hard way: When we discover he has done it again. Only, possibly, multiple times and covered it up successfully for some time, what with being older and savvier.
Because then you are compromising the utility of your url-as-search semantics, complicating your implementation, and probably distorting your data and/or schema. A better solution is to make the distinction between "display" and "permanent" url a first class concept.
Is Go even memory-safe in the presence of data races? Don't get me wrong, “memory safety” isn't a hard requirement in my book, but “memory safety or a formal semantics” is.
Leave a note, send a letter, send an email, leave a comment anonymously
Responsible backdoor is an oxymoron.
Agreed completely. We're in the process of porting our Python 'shim' (aka agent, at https://Userify.com - plug SSH/sudo key management) to Nim right now, so that we can provide a fully static shim for CoreOS and other minimal distros, and eventually Windows; there are a few languages that can do this cleanly, such as Go, Ocaml, and Lua, but Nim is just blindingly fast and actually pretty fun to code in. Great stuff.
Why is that needed for this particular field though? I don't have to have a license to be hired as a software developer or manager. I'd go to a bootcamp because their graduates get good jobs and I've heard good things about the experience, not because they got a license from someone.
Was that too high of a rating? We could call them tier 4 I guess. There isn't really any definition of how many tiers there are, so I didn't want to be too specific.
I’ve seen them recruit for a second Haskell team, I believe doing internal analytics or machine learning.
Image processing tools (Part 1)
> I appreciate that Go places a premium price on simplicity, however with languages like Rust make some big steps towards static guarantees at compile time the guarantees that Go makes seem pretty weak.

Rust's static guarantees come at a price: You have to learn Rust to take advantage of them, which is apparently no mean feat.

> I am hoping Go delivers a bulletproof abstraction for concurrency.

Don't hold your breath. Go has always been and will always be about “good enough”, not “bulletproof”.
Photo of butchered rhino is this year's Wildlife Photographer of the Year winner
OMG that drives me crazy at work. I believe it is the only application I use that doesn't honor it as a search function.
Solved as long as there aren't native dependencies not managed by pip, which there often are.
What is commercial kit? I didn't find anything when I looked it up. Are you taking about stuff meant for hotels?
Executable Modules in the Python Standard Library
An unwanted email from Pingpad CEO
Where can I find out if this applies to founder stocks as well? And as a founder what can I do to qualify for this?
Did you actually get through the entire story? This guy got 2 cases in front of the Supreme Court WHILE IN PRISON! That in itself would be a career maker for any lawyer...he did it before he went to law school....WHILE IN PRISON!
If anyone is looking for a modern 2d file system visualizer for *nix. I highly recommend duc http://duc.zevv.nl/

If you want searching and visualization check out https://github.com/shirosaidev/diskover
It does, generally. (Not legal advice, talk to a lawyer, but it's basically the default when a natural person buys founder shares for a pittance, and a good reason to offer restricted stock rather than options (or at least, to offer early exercise) up to seed and Series A and possibly a little longer.)
> but it will also create new jobs managing the automation

No, that's bullshit. New jobs will be created that way but far less: there would be no incentive to automation otherwise. This month I visited a warehouse with a team tasked to automate it. If we succeed, phase I should put ~10 people out of job and we don't expect to have to do more than occasional monthly interventions (and that's assuming that we have a high failure rate).

The thing that is different in this cycle is that we may very well manage to 100% automate some industries. At this point, there will be a genuine question: why do we need to work to benefit from the goods of these industries?

At the core of the pact that makes our society is the idea of specialization: we have varied needs that we ask specialists to fill (farmers, car makers, fridge makers, power plant workers, etc...) while we, too, fill one small niche. The less people work we need to fulfill our daily needs, the less work we should be asked daily.

But this transition will only happen if we are conscious that it is possible and desirable.
I don't see how you need to wait. It's still an eventually consistent system. Any client can build up their own replica of operations and synchronize with the central server at any time.

I'm not sure I see the additional complexity. With a central server, you get to enforce a total ordering automatically across all operations.

In any case, what I'm looking for is actual data. I implicitly understand that a central server won't scale as well, but that's not particularly interesting to me. For example, what if my requirements on throughput are very low? I want to know the breaking point. So I guess I'm looking for an experience report from someone who has actually gone through this process.
> Isn't this considered destruction of evidence and already illegal

See "spoliation of evidence". Encryption provides the same recourse -- judges can hold defendants in contempt for not turning over their private keys.
WePay's (YC S09) next chapter
More than 10, less than 100. We're b2b.

Revenue is nice, wouldn't mind more of it.
IANAL, but I think that even fear of their being a future case can be enough. But not if it's just routine records management policy.
“Stock prices have reached what looks like a permanently high plateau” - Yale economist Irving Fisher, 1929
There was a fun game when the window on this was first closing -- open a bunch of corporations, let them age a bit ("while actively doing business" of some kind -- just not too much), and then use them for projects later. Part of the 5y clock would already be run down, but at the time, it seemed very likely QSBS with this kind of favorable treatment wouldn't be offered again.

The other way these got used was for existing business -- it's 10x the basis OR $10mm, whichever was larger, so there were deals where people would try to structure a $500mm deal using $50mm of buy-in as QSBS. I'm not sure about the details, but I remember seeing tax attorneys working on them.
Google got unprecedented concessions in Fiber markets: https://arstechnica.com/tech-policy/2012/09/how-kansas-city-... (“Google received stunning regulatory concessions and incentives from local governments, including free access to virtually everything the city owns or controls: rights of way, central office space, power, interconnections with anchor institutions, marketing and direct mail, and office space for Google employees. City officials also expedited the permitting process and assigned staff specifically to help Google. One county even offered to allow Google to hang its wires on parts of utility poles—for free—that are usually off-limits to communications companies.”).
The guy didn't even mention type checking. Guess it's not a big deal to him. Zero type errors during runtime is a big deal.
@thdxr, which realtime database do you work on? I know some people at Riak/Basho who are now at MIT, they are helping us formalize our CRDT ( https://github.com/amark/gun/wiki/Conflict-Resolution-with-G... ). We were chatting just last night and he said that Riak actually lacked proper CRDT in many settings (for example, secondary indices would produce non-deterministic results depending on order).
Functional Decision Theory: A New Theory of Instrumental Rationality [MIRI]
Why Wall Street Isn't Celebrating Record Market Highs
Interesting study -- dated 1991, this sounds like part of the inspiration behind the Nike Breaking2 attempt [1]. The current world record is now 2:02:57, no longer 2:06:50 as mentioned in the document.

[1] https://m.youtube.com/watch?v=V2ZLG-Fij_4
There is no market for ideas for the simple reason that I have to tell you the idea before you can decide to buy it. But once you know the idea I no longer have anything to sell you. If I tell you my amazing idea right now and you decide it is good and go ahead to develop it. Well, you no longer need me and I cannot sue you for not paying for the idea. Not to mention that execution is just as important, probably more so, than the quality of the idea.
Python Circular Imports
The police in Australia have been sharing private information about members of community groups with private companies to "manage" future activities and potential "security threats".

Since 2009. That's before the Snowden leaks.

https://en.wikipedia.org/wiki/Victorian_Desalination_Plant#S...

One might assume that the information about members of these groups was gleaned from social media sites. I feel like this is an example of "guilty until proven innocent".
> He was 21. People calm down and mellow out as they get older; violent crime is the purview of young people.

This is one thing that is so often overlooked. Someone who is violent at 21 and gets a long sentence doesn't come back out at age 21.

> and all of us harbor the potential for violence under the right circumstances.

My mother said she could never hurt someone, in response to some article or other on the news. I said "yes you would - if I was about to be killed by an assailant, you wouldn't hold back". She then amended her position to outside of that situation, she could never hurt someone... :)
Pervasive Open Redirect in GitLab
>5) Intuitive leaps. e.g. Rubics cube.

I'm not sure what a Rubics cube has to do with intuition. But solving a Rubics cube is so firmly within the realm of doable that no one is going to call it AI anymore.
I don't disagree but how are you going to pay for social welfare if no one is making money? So what do you tax? do you do something else? These are the questions that are really relevant to figure out IMO.
Get the robot! We got a sentient one here, folks!
> They called the event GW170817, after the date it was detected.

I am horrified by the date format in that naming convention.
So.. I noticed the huge latency difference between (Alt+Ctrl+F1) tty1 and Gnome with X11. After some tests using "Is it snappy?" app and my das keyboard I decided to check if Wayland had similar latency problems. After switching to Wayland I cut 40ms off my keyboard latency.. hmm. I don't know why that is but I assume there's some sort of frame buffer latency. The only thing I miss now is Plank :[
In that video he just said that operator overloading was good for math operations. That's not a counter example.
I have audit tables in my relational database though...but its auditing is better?
> What happens in your scenario if operation B arrives hours later? It's hard to provide reliable ordering in practice because networks aren't dependable and things that happened earlier may show up later.

I guess I'm trying to figure out why this is a problem. If operation B shows up hours later, then the client simply doesn't know about B until then. But since my stated design requires that dependent operations are delivered in order, we have that any other operations are necessarily concurrent with B, so it shouldn't matter when B is "evaluated."

> I work on a realtime database and we heavily rely on CRDTs for communication. We can't have a central server because our goals are fault tolerance and high throughout.

> If you're more curious about the subject look into Riak. Afaik that is the biggest project built with CRDTs

Yeah, I'm definitely aware of Riak. I guess I'm more interested in the systems layered on top of these components. i.e., What problems are they trying to solve?

For instance, what if you could relax your requirements? Maybe: throughput/latency only need to be good enough for web response time to end users.
Is there any reason not to do this for a startup that qualifies? Specifically are there any drawbacks if the gain exceeds the $10M maximum?

I noticed that it uses the old 28% capital gains rate, which is higher than what it is now (15-20%). Does that mean if your startup "goes unicorn" you get a tax break on the first $10M but you end up paying an extra 8% or more on the rest? And therefore this is only a good structure for startups aiming for smaller exits (hence the "small business" stock)?
Unlike how Verizon pocketed the Universal Service Fund subsidies and then only deployed FIOS for rich white people?
I don't know. Fry did once claim on QI that the fins on rockets provide aerodynamic lift, and that's why rockets work.
> High-performance garbage-collected language
Compiles to C, C++ or JavaScript
Produces dependency-free binaries
Runs on Windows, macOS, Linux, and more

Wow. That's cool. I'll have to look into this.
That actually IS the point. The point is that I convince myself to do the hassle by saying "It's only for five minutes," but obviously after five minutes, you've already done the hard part, so you might as well do the rest. It's just a psychological trick to actually start doing the thing I don't want to do.
>AI writing software will just get me another flavour of the wrong software. AI working out what people want the software to do would be useful.

Maybe we can deliver that wrong software in 100ms instead of 100 days.
Actually moving to Go was a very thorough and long process. We did small example projects and tried out many of the libraries we needed. The blogpost is more of a high level summary of why Go is such a great language.