HN user

10-6

128 karma
Posts35
Comments27
View on HN
medium.com 5y ago

How to create a coding interview that developers won’t hate

10-6
6pts0
medium.com 5y ago

My startups journey to 1k customers

10-6
3pts1
redis.io 5y ago

Redis Lolwut

10-6
2pts0
github.com 6y ago

Vue.js founders response to removing Black Lives Matter banner

10-6
3pts3
medium.com 6y ago

How the Covid-19 pandemic is impacting software development hiring

10-6
2pts0
mailchi.mp 7y ago

The problem with Compile-to-JS languages

10-6
1pts0
medium.com 7y ago

On Learning to Code (for 2019)

10-6
1pts0
blog.evjang.com 7y ago

Dijkstra's in Disguise

10-6
9pts0
techcrunch.com 8y ago

PayPal Checkout can now be personalized to each shopper

10-6
1pts0
hbr.org 8y ago

How to Hire

10-6
1pts0
medium.com 8y ago

A Tricky JavaScript Interview Question Asked by Google and Amazon

10-6
2pts0
varun.ca 8y ago

JavaScript Frameworks: The Year of Convergence

10-6
3pts0
towardsdatascience.com 8y ago

How to Find Waldo with a Neural Network

10-6
1pts0
johnhcochrane.blogspot.com 8y ago

Bitcoin and Bubbles

10-6
3pts0
webglfundamentals.org 8y ago

WebGL Fundamentals

10-6
3pts0
engineering.linkedin.com 8y ago

LinkedIn engineering team use Glimmer bytecode to speed up load time

10-6
1pts0
medium.com 8y ago

The Future of JavaScript Will Be Less JavaScript

10-6
22pts7
danluu.com 8y ago

A quick tutorial on implementing and debugging malloc, free, calloc, and realloc

10-6
4pts0
work.qz.com 8y ago

Learning to code will eventually be as useful as learning Ancient Greek

10-6
5pts2
www.scientificamerican.com 8y ago

When Will Computers Have Common Sense?

10-6
2pts0
www.startupgrind.com 8y ago

Five Signs You've Become a Complacent Founder

10-6
3pts0
danielborowski.github.io 8y ago

Tricky puzzle game where your move is mirrored

10-6
2pts0
www.wired.com 8y ago

The Drone Company That Fell to Earth

10-6
2pts0
www.nytimes.com 8y ago

The Words Men and Women Use When They Write About Love

10-6
1pts0
medium.com 8y ago

I interviewed at five top companies in Silicon Valley and got five job offers

10-6
2pts1
www.sitepen.com 8y ago

Web Frameworks: Conclusions

10-6
1pts0
www.wired.com 8y ago

The end of the cult of the founder

10-6
13pts0
danielborowski.github.io 8y ago

Simple JavaScript natural language program inspired by SHRDLU

10-6
3pts0
jeremykun.com 8y ago

Why There Is No Hitchhiker’s Guide to Mathematics for Programmers

10-6
4pts0
github.com 8y ago

TC39 September Notes: What proposals are being dropped

10-6
1pts0

This is exactly right. A lot of posts regarding loading times or bundle sizes for frameworks/libraries forget that there are trade-offs when it comes to building an application.

The correct way to frame this is: use a slow/clunky/large/etc framework vs. build everything from scratch (which comes with its own costs).

Sure, you can optimize parts of your application to speed up the JS portion or even remote it completely [1], but it's not always as simple as "your framework is making your application slow so you should think about ditching it."

This article actually ends with a very reasonable conclusion in the section "Are Frameworks Evil?" but I've seen plenty of articles where the author doesn't offer an alternative to some library/framework [2].

[1] https://twitter.com/netflixuie/status/923374215041912833?lan...

[2] https://dev.to/gypsydave5/why-you-shouldnt-use-a-web-framewo...

The author explains a few problems with the current state of the Web under the section The Five Lacks:

- "On the closed social web... We lack freedom, innovation, trust, respect, and transparency."

- "Innovation on these platforms is dying."

- "And there’s little transparency. All of the data is locked up or rate limited to a prohibitive degree."

While some of these may or not even be true (innovation dying, really?), I think the author makes a large leap from his premises to the conclusion. So just because the author claims there are issues with the current state of the web, that doesn't mean the solution is to completely ditch "the tech giants in control suppress our freedom" and remove yourself from the current web platform and applications (e.g. fb, google, etc.)

The best way to determine whether this is a viable and useful solution, and whether or not some of the apps are actually something people want and find useful is to see how many people ditch applications from the "tech giants" start using these new apps built for the social web.

A lot of ideas sounds great in theory, but then don't hold up years down the line. Plenty of new applications and social networks have been created over the years with great explanations and a "Our Philosophy" section, but what actually matters is whether or not people change their habits and start using these new applications.

The problems the author listed in The Five Lacks section are completely real problems on a lot of the applications on the Web, but I don't think any of these social web apps listed in the article are the solution.

So for beginner/intermediate alg/data structures challenges with explanations and solutions I would recommend the following resources:

1. Read the Algorithm Design Manual.

2. Practice coding simple and then more advanced algorithms on sites like Coderbyte (aimed at beginners -> intermediate) and HackerRank (a bit more mathy).

3. Read as many algorithm explanations and code examples as you can on GeeksforGeeks.

4. Try and implement basic algorithms yourself like: shortest path, minimum spanning tree, DFS/BFS, tree traversals, different sorting algs, min/max heap, etc. and learn their running times.

* Also this article may be helpful for you: https://medium.com/coderbyte/how-to-get-good-at-algorithms-d...

This report by IEEE is actually a very good collection of topics and research currently being done in this field. They discuss specific problems and topics like the neocortex, IIF [1], neuromorphic engineering [2], pose cells, SLAM [3], and more.

For anyone interested in research being done in AI, ML, consciousness, etc., these are great articles written by actual scientists and researchers who are doing the work (as opposed to the hyperbolic articles or tweets you see online these days about AI).

[1] https://en.wikipedia.org/wiki/Integrated_information_theory

[2] https://spectrum.ieee.org/semiconductors/design/neuromorphic...

[3] https://spectrum.ieee.org/robotics/robotics-software/why-rat...

this is great, the docs/tutorial are pretty clear as well. shameless plug: I made a js library [0] for creating and playing board games a while ago. It allows you to focus on gameplay and logic without worrying about the user interface so much. It allows you to create games like chess [1] and simulations like game of life [2] pretty easily.

[0] https://github.com/danielborowski/jsboard

[1] https://danielborowski.github.io/site/jsboard/demo/demo8/

[2] https://danielborowski.github.io/site/jsboard/demo/demo9/

Project Euler 9 years ago

shameless plug: I loved project euler and topcoder when I in high school. In 2011, there weren't really any nice, easy-to-use, interactive websites that allowed me to solve coding/algorithms challenges online easily, so that winter break my first year of college I made coderbyte.com for people to solve challenges online. Been running it ever since, but now there are like 20 similar websites as well.

I agree with what you said at the beginning of your comment, and what I think you're getting at is something like panpsychism [1], where consciousness is an inherent property in the universe, as opposed to an emergent view where at some point there is no consciousness in a given system and once it becomes complex enough consciousness emerges or develops.

I don't necessarily have an argument for either of them right now. But you asked me "why believe in the line at all?" -- I'm not making an argument for what consciousness is, I'm only claiming that the current state of the art algorithms we have developed and AI we currently build have nothing to do with topics like self-awareness, consciousness, theory of mind, etc. One day we'll get there I'm sure.

[1] https://en.wikipedia.org/wiki/Panpsychism

I'm not arguing for a soul or any sort of emergent properties of self-awareness or consciousness even, I just believe that in our current state of AI/ML/neural networks/deep learning, all of these techniques and algorithms simply optimize for some goal (or reward function like the author stated). Maybe one day we'll build a self-aware AI within a "hard metal-machine" but in my opinion we're far off from that.

If we build something one day that acts like a philosophical zombie [1] for example, then yes topics like self-awareness, consciousness, theory of mind will all be at the forefront of conversations regarding AI. But right now all we have are algorithms that optimize towards a goal and we have journalists jumping in on the hype talking about robots inventing languages, the desires these robots have, and robots teaming up to destroy humans [2].

[1] https://en.wikipedia.org/wiki/Philosophical_zombie

[2] https://www.maxim.com/news/elon-musk-artificial-intelligence...

"I understand that a machine could kill people. But will a machine want to kill people? That seems to go back to that philosophical notion of consciousness."

This is exactly the issue with a lot of journalists and people talking about AI/ML. There is no WANT or DESIRES from the programs, there is no self-awareness where the programs ask themselves if what they are doing is right or wrong. They are doing exactly what they were programmed to do.

With his example of adversarial networks, one network is learning to detect fake news and other other is generating fake news--they are working towards their reward functions and optimizing the weights to reach the goal. It's math, that's all it is. It's so silly to bring up consciousness, desires, awareness, fears, etc. in these AI programs.

I agree, a lot of chatbot projects seem to be built because of the hype + the team also gets to dabble with some "AI/ML." I think there are very few conversational agents or chatbots today that people use regularly, and of those I honestly don't think many people enjoy using them.

"Your chatbot should be purposeful, reflective of your product’s voice, and simpatico with your users. One helpful design exercise is to produce an assistant persona and personality:"

For a business, a "chatbot" or any feature similar to it needs to do one thing and that is solve the users problem(s). If the user wants to do X within the app or learn about Y, the chatbot needs to help the user with that efficiently and better than a human can for the feature to be successful. The "chatbot having a personality" comes second to "solve the users problem."

If the users are completely happy with whatever chatbot they are using, then sure adding in some "personality" might be a good idea and increase engagement slightly, but a poorly-performing chatbot that can't help the user but has a personality isn't going to help the business at all.

"it can freeze its Go-playing part and learn to do something else to perfection"

People like Elon Musk will write sentences like this but hidden away in it is a subtle reference to an AI program understanding what it's doing. An AI program cannot jump from mastery of Go (with its neural networks and weighted matrices) to all of a sudden decide to figure out what the best course of action is to stop global warming or find a cure for cancer.

Humans write AI programs to learn how to perform a specific task via optimization, neural networks, deep learning, and all sorts of other algorithms. One of the authors main arguments is that "learning and optimization" that AI programs do today does not mean they are close to achieving "general AI" which the author also thinks is not possible:

"Decades later, the concept of an “intelligence explosion” — leading to the sudden rise of “superintelligence” and the accidental end of the human race — has taken hold in the AI community. Famous business leaders are casting it as a major risk, greater than nuclear war or climate change."

"The whole statement is also wrong. Of course you can increase intelligence by optimizing the process of learning."

One of the author's main points is that "intelligence" in the way you mentioned, learning and optimization, is simply one aspect of the human mind. So we could optimize our minds (or an AI program) to beat anyone at the game of Go and play perfectly, but that's all it is optimized to do. It can understand "the given problem" but there is FAR MORE to our minds than optimizing and learning how to solve a task.

Proponents of "build a general AI system that will surpass humans at everything" don't seem to understand this.

The author makes several points about AI/intelligence and recursive systems that I think a lot of people who think "AI will take over the world and replace" humans [1][2][3] don't understand.

He argues that general intelligence by itself is not really something that exists, our brains exist within a broader system (environment, culture, bodies, etc.) which is something you can read more about in embodied cognition: https://blogs.scientificamerican.com/guest-blog/a-brief-guid...

He also argues that the public debate about "AI regulation" is misleading because it's impossible for a "seed AI" to start designing smarter AI's that will surpass the intelligence of humans which is what a lot of people today think will happen with AI. Automation of jobs and tasks is very real, but completely replacing humans and potentially destroying us all is a joke and only the people who no nothing about AI/brains think this.

[1] https://www.vanityfair.com/news/2017/03/elon-musk-billion-do...

[2] https://www.cnbc.com/2017/07/17/elon-musk-robots-will-be-abl...

[3] https://www.npr.org/sections/thetwo-way/2017/07/17/537686649...

This article was written in 2011, and I think since then with the "learn to code" movement becoming so popular and coding bootcamps promising to help people get software development jobs, things have changed a bit--at least for edtech companies teaching programming skills.

There are a ton of popular websites that teach people coding/software development/design skills online now that have grown incredibly over the last few years, but still not really getting to mainstream status. Treehouse, Code School, DataCamp, Udemy, Frontend Masters, Udacity, Thinkful, Codecademy are just a few popular websites where people can learn to code today and all of them have a subscription plan. I don't think any of these have reached "mainstream" status, but there are definitely a lot more websites and applications today teaching people to code via subscription plans than there were 6 years ago.

Whatever your thoughts are on the whole "learn to code" movement, it's clear that the landscape for edtech companies teaching programming/software development has changed since 2011. Will any of these companies teaching people to code ever reach "mainstream" status, I don't know.

For those of you who like solving coding challenges online either for fun, practice, or to prepare for interviews, here's a list of popular sites:

https://medium.freecodecamp.org/the-10-most-popular-coding-c...

I also recently put this list of resources together about Algorithms practice which I think can help out anyone who's preparing for an interview soon:

https://medium.com/coderbyte/how-to-get-good-at-algorithms-d...