skysight-inc/HackerNews huggingface dataset:
After reading the presentation, I'm imagining the presenter has an obnoxious loudmouth voice and totally misses the point.

He goes on and on to put down C++ and the four book authors as if he holds a personal grudge against both. He makes it seem as if C++ programs were written by code monkeys pasting examples from books in order to make it work while other programming languages are god's word. It does not occur to me why he thinks that in C++ there should be a general solution for an iterator over any kind of collection^1. Yet C++ allows to implement data structures on the lowest level and only the programmer may know how to iterate over a certain multiply linked structure (if possible at all). The Perl counterexample looks like a straw-man to me.

I agree with you, the core of the talk comes after the talk and is not presented properly.

1: For standard collections in C++ there are iterators predefined and you can iterate over the collection easily.
I think this whole thread has already been covered elsewhere.
The W3C document may be relevant to some small minority but the majority of people developing using HTML5 are targeting a set of clients that mostly or entirely follow the WHATWG's version in their actual implementations, and this is what defines relevance.

The creation of the WHATWG was obviously a bad day for web standards, but at this point one has to be pragmatic. The existence of the W3C spec only adds confusion, and little to no value.
First there was NaCl which was a subset of x86 code leveraging x86 features to sandbox the execution. This x86 subset was produced by a special toolchain and could be verified before running.

Then PNaCl came along with a platform-independent bitcode format based on LLVM IR, which was translated to host's native code in the browser.

Then WASM (also platform-independent) came along striving to be a multi-vendor solution. Unlike the other two WASM directly targets the JavaScript engine. It started out as a serialization format for JavaScript AST.
Location: Currently NY, but actively looking to relocate

Remote: Yes, preferred

Willing to relocate: Looking to move to Portland, OR, or Europe. Would consider SF for the right opportunity.

Technologies: Generalist. Most experience with native iOS (Obj-C + Swift) and single-page web apps (React/Redux/etc frontend, Node or Rails backend), but I've done everything from PCB design and hardware fabrication to product management and UX design.

Résumé/CV: http://lazerwalker.com

Email: hn@lazerwalker.com

I'm an experienced developer and designer. Within the iOS world, I've done a lot of community work, writing for publications like NSHipster and objc.io (you might have used my site fuckingblocksyntax.com). Right now, I'm splitting my time between my own experimental game design practice and contract work. I wouldn't say I'm actively looking for full-time work, but I'm interested in exploring it if the right offer comes along.

I'm interested in working on tools that help other programmers be more productive. Maybe you sell hosted services (PaaS, CI, version control, etc); maybe you're a support company around productized OSS; maybe you help educate developers, or something else entirely.
> We don't often understand what we are building most of the time.

Indeed. Programming is a process of constant discovery and reframing of the problems ahead.

> Most of the code is really a translation from input to some kind of command or process and outputting the result.

I disagree. This may be true in a general form, but a general form like this is of little utility. There are many types of programs for which the focus is state manipulation, and what you care about is that state - whether in its final form (e.g. 3D modelling software) or in its evolution (video games). The classical output here is just a snapshot of state. I don't think trying to squeeze everything into a "dataflow" paradigm of input -> processing -> output is a good idea.

Also, in context of design patterns - the problem is that even if we take "input -> processing -> output" assumption, the space of possible outputs is huge, and the criterion for acceptable outputs is very complex. It is this complexity that makes our code complicated, and the reason we have to build layers of abstraction is because our minds are pretty limited and we can't handle much complexity directly.
​New round of HPE software layoffs begins
And in the world of TLS, this is called a downgrade attack and treated as a serious problem...
Yeah I'm not thrilled. Turns out I got bit by this bug in the new 12" MB http://iphone.appleinsider.com/articles/16/10/20/owners-of-a...
Tear-down reports indicate that the big problem is way overrated current ratings. Real SSRs start at 5A, which isn't too expensive, and prices go up with the current rating. Fake SSRs start at 25A, and have maybe 10A components inside. Past 10A or so, you have to add a heat sink, which a lot of the fake vendors don't mention.

If you want cheap SSRs, it may be better to order them directly from, say, LIRRD in China.[1] They make solid-state and mechanical relays under their own name, and have UL certification in their own name. There's a minimum order (40 units), but they will send samples. The prices are about as good as the fakes.

[1] https://www.alibaba.com/product-detail/UL-ROHS-dc-to-ac-sing...
I feel like Event Horizon was this in one form or another.
I'll welcome TB 3.0 ports, in addition to what I have. Expanded functionality is always nice.
> Alexander's central question is "How can you distribute responsibility for design through all levels of a large hierarchy, while still maintaining consistency and harmony of overall design?"

To the degree I understand Alexander's central answer, it is "Put the needs and wants of humans who are the users of the design at the center of all design, planning, and building (and heve them do the design, planning and building, where possible.)" If that's close to true, then making things that are programmable is more important than 'getting it right the first time'. One can always take a chainsaw or an editor to a bad decision.
I remember reading this some time after reading "Notes on the Synthesis of Form". He's absolutely right.
Abusing GDI for ring0 exploit primitives [pdf]
Christopher Alexander's books:

https://archive.org/details/TheTimelessWayOfBuilding
https://archive.org/details/APatternLanguage

It's also worth reading Patterns of Software by Richard Gabriel:

http://www.dreamsongs.com/Files/PatternsOfSoftware.pdf

who draws heavily on Alexander's work.
>Unlike Yelp — they have several thousand people who dial the pizzeria and the bar to try and get them to pay each month. Our ratings are really neutral.

WTH kind of punctuation is that?
"ABSTRACT
Estonia was the first country in the world to use Internet
voting nationally, and today more than 30% of its ballots
are cast online. In this paper, we analyze the security of
the Estonian I-voting system based on a combination of
in-person election observation, code review, and adversarial
testing. Adopting a threat model that considers the advanced
threats faced by a national election system—including dishonest insiders and state-sponsored attacks—we find that
the I-voting system has serious architectural limitations and
procedural gaps that potentially jeopardize the integrity of
elections. In experimental attacks on a reproduction of the
system, we demonstrate how such attackers could target
the election servers or voters’ clients to alter election results or undermine the legitimacy of the system. Our findings illustrate the practical obstacles to Internet voting in the modern world, and they carry lessons for Estonia, for other countries considering adopting such systems, and for the
security research community."

Cf. E-Voting Refuses to Die Even Though It's Neither Secure nor Secret: More than two dozen states offer some form of internet voting, but it often means waiving the right to a secret ballot https://www.scientificamerican.com/article/e-voting-refuses-...
It's a thing! They don't use parantheses! Like savages!
Very interesting, a lot a truth, many design patterns have become useless in some languages as the language itself solves the problems.
Well, then stop using curl, cause that’s not compliant with the WHATWG standards.

> Not for the web. You can't break the web, so you can't be stricter that what has already shipped. Sorry.

Yes, you can, and yes, you have to.

You’re doing a dangerous tradeoff, sacrificing long-term usability for your marketshare numbers in the next 3 months.

If you want to allow everyone to write a parser able to parse websites, or allow everyone to be able to write websites, then you have to replace and deprecate parts of the web.

In fact, Google does that all the time with Chrome. "HTMLMediaElement can not be controlled on Chrome Mobile, unless your code is running in a click handler, to prevent autoplay".

"GeoLocation API will not be available through HTTP"

"We will not support HTTP sites in the future"

"We will not allow websites to connect to ports that are on our blacklist, including any port below 1024 that’s not 80 or 443, or any port used for IRC or other services"

So, yes, you can be stricter than what has already shipped.

So when can we finally fix all the other issues in the web?
I'm not sure you're aware but Garry was (for many years) a partner at YC, so he's in a pretty good position to offer advice.

Also, per the HN guidelines (https://news.ycombinator.com/newsguidelines.html), could you please resist saying things like "Downvotes already"
Ask HN: Whenever flying cars are mentioned is it a weak grab at publicity?
In many old sci Fi movies it seems like it is about this time in "the future" that we have flying cars buzzing about. But there's never any real explanation of how they'll fly, safety, integrating into "airway regulation".

So with the whole "Uber flying cars" thing what's the reality on that?

Lately it's been "We'll make car-sized drones!" Just bigger engines/motors!

It's like that sleek-red, ducted fan "flying car" attempt back then.

Now we're trying to make electric vehicles and the problem becomes batteries. Unlike gasoline, batteries don't decrease in weight and maintain the same power output.

So, how realistic are flying cars anytime soon.

I suppose a VTOL aircraft is a possible solution.
"The Code Book" by Simon Singh is the non-fiction book to read if codes and codebreaking interest you.
It wouldn't take more than a few weeks to learn how to use those newfangled bits of tech. In fact, a very large portion of the world gets along just fine without them.

There are far worse consequences to being jailed for 10 years or more than not to be able to use a cell phone or the latest social media fad.

https://en.wikipedia.org/wiki/Institutional_syndrome
"at the heart of the cloud is its backbone and its beating heart – it’s APIs" Good point
We were discussing current touch technology, not future haptic what-ifs.

Bandwidth is information transferred over time. Whether you are discussing input (push/gesture max) or output (can't see the screen because hand is in the way), current-era touch is inferior to traditional input systems.

You failed to provide even one example of a creative use of touchscreens, except a vague music reference. I've seen those apps too, they are frustrating to work with and any serious musician would use a (musical) keyboard with real velocity support in preference.

I agree UIs need to move forward, I simply disagree that current-era touch is creative or high enough bandwidth to get us anywhere useful.
That's why I use Foursquare.
Personally I think Steam is one of the best game platform (for a lack of a better word). It is fast, easy to use, nice sales/cheap in general, downloads are quick. While on the other side Playstation store is the exact oposite of what I just wrote.
Google Brain's Magenta: Multi-Style Image Transfer with Code
Amazon Lab126 is hiring Concept Software development Engineer in Sunnyvale CA

https://www.amazon.jobs/en/jobs/434825

Amazon Lab126 is an inventive research and development company that designs and engineers high-profile consumer electronics. Lab126 began in 2004 as a subsidiary of Amazon.com, Inc., originally creating the best-selling Kindle family of products. Since then, we have produced groundbreaking devices like Fire tablets, Fire TV and Amazon Echo. What will you help us create?

If interested please contact me at sjambula@lab126.com
I suspect that you're probably correct but I wasn't able to find cloud providers by market share in China. Do you know of any studies?
Yeah that's it thanks.

Good filler text there
Or, indeed, to look at Alexander's work since this book, which has gone in a direction very similar to the programming world. In "The Nature of Order", Alexander shows how the idea of "good design" is actually best analyzed as just the output of "good process": design is about how a thing unfolds over time and becomes more itself through gradual refinements and responding to its environment.

The bigger complaint about software patterns is that, unlike Alexander's original patterns, they are merely tools useful to build any kind of program. Alexander's patterns were meant to only be useful in building humane places with humane processes. You literally could not build a mass prison with the construction methods he describes, because they aren't amenable to mass production, design from afar, or economies of scale.

Exactly the opposite is true of our usual application of "software patterns". They are often used to produce software that is inherently immoral. Alexander's patterns describe an environment of decentralization of decision-making about both architecture and the community it inhabits. Meanwhile, our "software patterns" embed a centralized power structure both in the code (architect->team lead->junior programmer) and in the world now increasingly controlled by the whims of Silicon Valley founders.

I wonder what it would look like to describe low-level primitives of computation, similar to Alexander's new low-level architectural methods, which actually made decentralization of power a reality and resisted economies of scale. They certainly wouldn't look like the Gang of Four patterns.
So we can look forward to them creating another 20 test frameworks over the next 10 years? Wonderful...
Design patterns are just a way to convey an idea. If I name something a factory, everybody knows its purpose. If I name something a prototype then people who are familiar with patterns know it will have some "clone" method. So it's a bit like UML redux. But one only need iterators if the language one uses doesn't allow you to naturally express custom iteration without requiring you to write a class or some other boilerplate.

The article demonstrates that fact pretty well.

It's also a good way to judge how practical a language is. I don't need to write iterators in a language that has generators for instance. I don't need to write factories in a language that supports closures... But then people selling all these expensive modelling tools would be out of business ...
Engage | Paid Internship (Part or Full time) | Onsite (Alexandria, VA -- Washington, DC metro area) | Foreign Visas welcome | http://enga.ge | Apply at http://engagedc.theresumator.com/apply/Zla9Rw/Web-Developmen...

About Engage:

We are a full-service digital agency that is dedicated to impacting the world around us through bold strategy and innovative technology. With clients that range from political campaigns to top level associations and advocacy groups, we use cutting-edge technology to tell the most compelling story for our clients.

About the Internship:

Engage is looking for a web development intern. The ideal candidate is a highly motivated student or recently graduated student interested in pursuing a career in web development and is excited to work with our in-house development team.

++++

Back-end focused internship: PHP, SQL (MySQL or similar), Wordpress theme or plugin development, or equivalent Drupal experience (Bonus: PHP framework—Laravel, Symphony, CakePHP, Zend, or CodeIgniter--REST APIs, mobile development, LAMP stack

++++

And/or, front-end focused internship: Semantic HTML5 markup, CSS, web accessibility standards, cross browser compatibility, Javascript and jQuery, responsive layouts
(Bonus: Vue.js, Angular, or ReactJS, Photoshop, Bootstrap, Wordpress themes)

++++

In order to be considered, you must submit work samples. Please link to your GitHub profile or portfolio/website.

About Our Work Culture:

We love being able to provide interns hands-on experience that allows them to try new things, learn new skills, and grow. Our goal is to create an environment that will hone your skills based on your interests. Our interns are extremely important to our operations and quickly become integrated into our team. We take pride in producing high quality and award winning work, but we always find time for Nerf gun fights and team lunches. We love coming to work and think that you will too!
That's exactly right. The GoF patterns were identified from experience and then formalized, not created from whole cloth. Programmers that don't know anything about design patterns use many of them, often without realizing they are doing it.

The GoF patterns give everyone a common vocabulary to reason about the patterns.
Awesome stuff. Can you comment of the actual production of the book, how it was written, marketed, etc? Seems like a nice content marketing case study.
Having learned ruby in Seattle coffeeshop meetups, I never realized this. I also never realized that the weirdness that pervaded Seattle hacker meetups wasn't normal everywhere else, until I attended meetups in SF. NW rubyists are... weird.

Also, totally agree with the end this video.
Well, there’s another solution.

You write a standard, and get everyone to agree on it, before implementing it.

But that waterfall concept is considered bad taste in the web world, and so we get websites only running in Chrome because they require a specific non-standard implementation of an experimental feature that will only be standardized in a few months (See: WhatsApp Web when it launched, Google Inbox when it launched).

> Many browser bugs can no longer be fixed because too many web developers have come to rely on them.

As said in a sibling comment, Google Chrome has broken lots of existing websites nonetheless.

So why can’t they do these breaking changes, too?
I like his point about Alexander going after delegation of design decisions, though I don't necessarily think that's the only point he was driving at. From "The Timeless Way of Building" I got that he's also driving at this:

1. Modern (not necessarily just modernist) architects are generally terrible at achieving what Alexander refers to as "living space" because they're solving for the wrong things.

2. Small-scale patterns and large-scale patterns can constructively or destructively interfere with each other from urban planning right down to construction details of a room.

3. If you've really mastered design, you can leave behind the pattern language and cookie-cutter implementations: your solutions will organically develop with these large-scale/small-scale synergies.

I'd suggest that GoF is a little closer to Alexander in these respects than the presenter gives credit for, particularly for point #3. The book studiously makes the point that its implementation of these patterns is not meant to be the only way to implement them. It also makes no attempt to be an exhaustive catalog. The fact that some of these patterns have standard and different implementations in other languages (e.g. iterator method hooks and generators in Python) doesn't necessarily mean that the pattern itself is useless outside of its OOP niche.

I'm glad WikiWikiWeb is back up so we can debate all of this on the one true forum for debating design patterns. :-)
> He's mad that women can vote because they don't vote libertarian.

I don't see the problem with this unless he's proposing a constitutional amendment to have their right to vote removed.
The Different Stakes of Male and Female Birth Control
Are you maybe thinking of something else? APFS is officially "experimental" right now. Allegedly it'll be released in 2017. https://en.wikipedia.org/wiki/Apple_File_System
China's market is fragmented through regulation, so there are small-scale providers in all provinces. I guess the largest player is Alibaba's Aliyun ("Ali cloud") @ https://intl.aliyun.com/ who also have a startup support program @ https://intl.aliyun.com/startup
See also:

https://news.ycombinator.com/item?id=12838243

Abstract:

http://www.nature.com/nature/journal/vaop/ncurrent/full/natu...
Experience with US fantasy sports is a strong requirement for the PM position.
hey man can u explain to me what is this place (website)
Well, I think that OSes could do a lot more (and kernels a lot less … but that's a different story). Why _shouldn't_ an operating _system_ do an awful lot to ensure user safety, resource utilisation &c.?
Sendwithus (YC W14) Hiring Junior Sales Dev Representative (SDR) Intern in SFO
> Why?

Because you can also easily transform an AST back into code to reverse engineer?

Reverse engineering code for a stack machine is quite a bit more annoying.
Connect Mattermost to 21 Messengers, Including Slack, Skype, and HipChat
The Power of Meeting People
No. If you are going to develop professionally with a language then you should know how to install the environment. But that's a huge ask for people just learning.

I have fought through issues of setting up a development environment for modern web development for the last ten years in boot camps and classrooms. When everyone brings their own device, you run into tons of issues you can't control. Students get confused by differences in terminals, text editors, and many other factors. The instructor's environment must match what the students have. And these allow for that.

And if you think "well, if they can't bother to set up their own evironment, they shouldn't be writing code cos they're not smart enough," I'll offer this. While I agree that it's important to know your tools as a professional, we are not talking about professionals here. We are often not even talking about people who want to be professional software developers. There are many people who have studied their field for years and are probably much smarter than many of us here are now getting into code because it's a tool for them to do their work better. It is in my opinion arrogant to insist they set up their own tools before they can learn what we do.
I work from home and drop my 8-month-old off at daycare in the morning.

Because I'm a bit of a night-owl, though, and daycare ends, I end up working for about 30-60 minutes with her in the room. It's a little unpredictable, but people understand.
We absolutely hire based on merit. People are living in rural areas making a great salary because we pay mostly fixed to Chicago market.

We don't downsize your salary. But sometimes we can't upsize it. There's a few companies we can't compete with on salary like Google. Most of those employers seem to be in the bay area. Sometimes we lose out. A lot of times we don't. The world isn't quite so black and white here.