Jump to content
Sign in to follow this  
Zeffolia

Programming

Recommended Posts

 

I don't understand anything (and I wish I would), but this is hella fascinating, interesting and beautifully visualized.

  • Like 1

Share this post


Link to post
Share on other sites

https://www.thejakartapost.com/life/2019/11/28/go-grandmaster-says-computers-cannot-be-defeated.html

SEOUL

The only human ever to beat Google's computer algorithm at the ancient Chinese strategy game Go decided to retire because he is convinced machines "cannot be defeated", a report said Wednesday.

South Korean Lee Se-Dol's five-match showdown with Google's artificial intelligence program AlphaGo in 2016 raised both the game's profile and fears of computer intelligence's seemingly limitless learning capability.

The 18-time world Go champion lost all but one encounter in the series, but remains the only person to have won a game against AlphaGo.

The machines have since developed much further -- an updated self-teaching version of the algorithm beat its predecessor 100 games to none.

"Even if I become the number one, there is an entity that cannot be defeated," Lee, 36, told South Korea's Yonhap news agency.

"With the debut of AI in Go games, I've realized that I'm not at the top even if I become the number one," added Lee, who retired from professional Go competition last week.

Go originated in China 3,000 years ago and has been played for centuries -- mostly in China, Japan and South Korea.

The rules are simple -- two players take turns placing black or white stones on a square board with a 19x19 grid. Whoever captures the most territory wins.

But the strategies needed to secure victory are complex, and there are said to be more possible move configurations than atoms in the universe.

Considered one of the greatest Go players of the modern era, Lee started playing at the age of five and turned pro just seven years later.

But he attributed his AlphaGo win to a "bug" in the program's response to his "tricky" play. "My white 78 was not a move that should be countered straightforwardly," he said.

  • Sad 1

Share this post


Link to post
Share on other sites

edit: wrong thread

Edited by Zeffolia

Share this post


Link to post
Share on other sites

^ Nah ... neural networks and AI is programming.

Soon it will be the only kind of programming

Share this post


Link to post
Share on other sites
6 hours ago, rhmilo said:

^ Nah ... neural networks and AI is programming.

Soon it will be the only kind of programming

Definitely not true, there are many problems they can't solve well.  Drivers will never be automatically written using neural networks, nor cryptographic algorithms.  Non-NN AI though maybe.

Edited by Zeffolia

Share this post


Link to post
Share on other sites
4 hours ago, Zeffolia said:

Definitely not true, there are many problems they can't solve well.  Drivers will never be automatically written using neural networks, nor cryptographic algorithms.  Non-NN AI though maybe.

True, I was exaggerating. But only a little. Most of the software that’s being written is fairly dumb business processing stuff. For that “AI” (with or without NN) will end up being good enough (and much cheaper than having code written by humans).

We’re fast moving in this direction. Case in point: Amazon CodeGuru.

https://aws.amazon.com/codeguru/

Share this post


Link to post
Share on other sites

Do any of you guys have any recommendations for refactoring best practices?

I've never had to do it before, but I'm getting to a point with my scripts at work where it would be far better to have the experience.

  • Like 1

Share this post


Link to post
Share on other sites

https://refactoring.com
 

We teach this at my school. 
 

Alongside Robert Martin’s book “Clean Code”, in fact, which as it happens is not only a very good book but fun to read as well.

  • Like 2

Share this post


Link to post
Share on other sites

Thanks @rhmilo!

  • Like 1

Share this post


Link to post
Share on other sites

A book with "Clean Code" as its title... Please tell me it uses some form of C (++, *, regular) throughout the book. As there's some kind of poetic justice in using C to explain how to Code Clean. 😉 

Share this post


Link to post
Share on other sites
3 hours ago, goDel said:

A book with "Clean Code" as its title... Please tell me it uses some form of C (++, *, regular) throughout the book. As there's some kind of poetic justice in using C to explain how to Code Clean. 😉 

Haha. No, it uses pseudo code that happens to be Java, except in one part where it actually is Java. Doesn’t matter, though, most principles hold true for all programming languages, even non-oo ones sometimes.

  • Sad 2

Share this post


Link to post
Share on other sites

I usually code in emacs but have been really falling in love with spacemacs lately. Well, it runs on top of emacs, but anyway. This is some good shit. It also has a vim mode for you vim bastards out there.

  • Like 1

Share this post


Link to post
Share on other sites

Looks interesting. I may waste some time looking into this. Text editing in vim is far, far superior to anything else, but as an ide it’s quite lacking. That, and the idea of programming an editor with Lisp appeals to me immensely.

Update: @zkom : so thanks very much. Guess what I installed today ...

First impressions: vim emulation is really, really good. Much better than in IntelliJ, for example. It actually feels like vim itself. Weird: the terminal window can be edited using vim commands as well. Not sure what to think about that. What little IDE stuff I played around with is quite good. Probably not at the level of IntelliJ, but good enough for the coding I do these days, which is not a lot. 

The joke used to run that Emacs was a fine operating system that was only lacking a decent editor. From the looks of it, it's now got one. 👍

 

 

Edited by rhmilo
  • Like 1

Share this post


Link to post
Share on other sites

Just came back to say: f. you @zkom for drawing my attention to this.

Spacemacs was the perfect gateway drug to get a taste of an editor with working vi keys that *can* do things like auto complete, spell check, auto fill without it feeling like it was hacked on with brittle tape adhesive. And org mode: oh my god that is fantastic.

It is, however, insanely slow to start up. Understanding everything it's doing is probably impossible. And for my minimalist-because-years-of-using-vim-makes-you-that-way tastes it attempts to do far, far too much. I really don't have any need for things like Helm and the gazillions of space bar based shortcuts.

So I have now spent at least three evenings (and who knows how much of my boss's time) creating my own Emacs config from scratch. Pretty fun little project and I now have an editor that does everything I need, can be easily extended if I decide I need more. Which I'm sure to do because, as it turns out, futzing with your editor config is really, really addictive.

Thank you for ruining my life 👍

  • Like 1
  • Haha 1

Share this post


Link to post
Share on other sites
On 1/17/2020 at 12:04 PM, rhmilo said:

Just came back to say: f. you @zkom for drawing my attention to this.

Spacemacs was the perfect gateway drug to get a taste of an editor with working vi keys that *can* do things like auto complete, spell check, auto fill without it feeling like it was hacked on with brittle tape adhesive. And org mode: oh my god that is fantastic.

It is, however, insanely slow to start up. Understanding everything it's doing is probably impossible. And for my minimalist-because-years-of-using-vim-makes-you-that-way tastes it attempts to do far, far too much. I really don't have any need for things like Helm and the gazillions of space bar based shortcuts.

So I have now spent at least three evenings (and who knows how much of my boss's time) creating my own Emacs config from scratch. Pretty fun little project and I now have an editor that does everything I need, can be easily extended if I decide I need more. Which I'm sure to do because, as it turns out, futzing with your editor config is really, really addictive.

Thank you for ruining my life 👍

You're welcome 😎

I just recommended spacemacs also to one of my colleagues at work who was using just vanilla emacs.

Share this post


Link to post
Share on other sites

The software industry has an "interesting" feature that the skill levels of people working with software vary so wildly. And sometimes it seems like it doesn't even correlate that well on the years of experience. Sometimes the trainee working on his first job is much more skilled and productive than the "software architect" that has 20+ years of experience. Just blows my mind

Share this post


Link to post
Share on other sites
2 hours ago, zkom said:

The software industry has an "interesting" feature that the skill levels of people working with software vary so wildly. And sometimes it seems like it doesn't even correlate that well on the years of experience. Sometimes the trainee working on his first job is much more skilled and productive than the "software architect" that has 20+ years of experience. Just blows my mind

Yeah. I see it in my students as well (I teach software development for a living). They all come in at roughly the same level and some of them just soar while others, soldierly and diligently, but nonetheless slowly, plod on.

Only thing these "Gods Walking Among Mere Mortals" (as their fellow students call them) are not very good at is planning their work, modelling their software beforehand and explaining their work afterwards, which unfortunately is an important skill to have when working in a corporate setting. They're also often, but not always, algorithmically weak.

Share this post


Link to post
Share on other sites
49 minutes ago, rhmilo said:

Only thing these "Gods Walking Among Mere Mortals" (as their fellow students call them) are not very good at is planning their work, modelling their software beforehand and explaining their work afterwards, which unfortunately is an important skill to have when working in a corporate setting. They're also often, but not always, algorithmically weak.

Having worked in some start-ups these kind of people sometimes gravitate to them, and they are really useful when coming up with the prototype or proof-of-concept but the productization then might cause problems when you need to actually document the whole thing, set up test automation and generally co-operate with others. F.e. there are some mathematically brilliant people that are doing software who have no idea how to work in a software project but are invaluable to the company.

Anyway, I also like it better to work in a startup than in a big corporation. Corporate jobs are cushy but can be so fucking tedious with all the bureaucracy and endless meetings. In my experience startup work is generally chaotic mess and more stressful but everything is very hands on and you don't need to ask much permissions to do things as long as it's taking the project forward.

Share this post


Link to post
Share on other sites
1 hour ago, zkom said:

Having worked in some start-ups these kind of people sometimes gravitate to them, and they are really useful when coming up with the prototype or proof-of-concept but the productization then might cause problems when you need to actually document the whole thing, set up test automation and generally co-operate with others. F.e. there are some mathematically brilliant people that are doing software who have no idea how to work in a software project but are invaluable to the company.

 

Spot on.

 

Quote

Anyway, I also like it better to work in a startup than in a big corporation. Corporate jobs are cushy but can be so fucking tedious with all the bureaucracy and endless meetings. In my experience startup work is generally chaotic mess and more stressful but everything is very hands on and you don't need to ask much permissions to do things as long as it's taking the project forward.

Never worked at a big corp, but at the startup type places I've worked after a while I got really, really tired of constantly having to fix the same crap that could've been prevented with just a little bit of the corporate thing.

And then when I started working with students, I quickly lost whatever disdain I had for corporate ways (quite a lot, at the time). When you're working with idiots, or rather, people who aren't very competent yet, all that up front design and documentation is god send. It may not reflect what's actually in the code, but at least it documents what it was originally intended to do.

So, yeah, testing is very useful. Separating out the design phase from the implementation phase is, too, because it makes your designs so much better (but it makes the coding itself boring). Only problem is it makes you easily replace, which is good for your boss but not quite so good for you. 

Share this post


Link to post
Share on other sites

TBH, software engineering in itself isn't really my field but applied mathematics, which just usually ends up in writing a ton python code so it's basically a form programming. Because I don't normally write code directly for the product itself but for test and measurement automation and analysis instead the kind of strict quality control and following software development strategies isn't so important, just get the data out and analyzed in the best possible accuracy, reliability and efficiency. How the code looks like is secondary and sometimes anyway I'm the only developer and also the only user.

I did write embedded code for products in a huge-ass international corporation for four years and I can tell you never again. I also dipped my foot into the academic world and nope, not for me. The kind of niche I've found for myself is RF signal analysis and setting up test environments and automation for RF devices.

Share this post


Link to post
Share on other sites

I ❤️ Golang

  • Like 2

Share this post


Link to post
Share on other sites

^ Interesting and very accessible article

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...