Hacker Newsnew | past | comments | ask | show | jobs | submit | maximexx's commentslogin

I never had financial success without being lucky. Without luck my talent is not worth a dime.


> Not having a PIA is not an option.

Nice one for the indie developer. It looks like the PIA can take more time to get right than your actual program..


Every living being on this planet should have the basic right for a house. It's a primary need. Houses should not be part of the "free" economy and should not be allowed to be traded for profit. If this pyramid scheme continues the future will look very grim for billions of people.


But does that house need to be near the beach? Why not Kansas?


Perhaps if you said "home", I'd agree with you. Not everyone needs, or even should have a house. But everyone should have housing.


I strongly disagree with everything you just said. (Except the overall notion that all people should get to their rights.)


Can the house be mobile?


This can be true for a beginner, for a developer who never hit that wall before or for a developer without enough talent to learn how to do it right after all. But once you start using the right methodologies, making things highly modular and as much as possible independent from each other, you can go quite a distance before new "walls" arise.

Sometimes I take more time to think of a proper and scalable name for variables and methods than the time it actually took to write the implementation. While refactoring I might do another round of thinking about naming and make sure there are no or an absolute minimum of possible side effects for the implementation, etc..

I'm coding almost 30 years now. I'm still learning and make my mistakes of course, but most of the time they occur because I rush for some reason. Writing good code takes time, especially to rethink what you're doing, refactoring, making the right adjustments so it completes the codebase. Before I complete the beta release of a codebase I've made thousands and thousands of decisions, where only 1 wrong decision can cause a terrible amount of trouble later on.

For me it's a creative process. It goes in waves. I cannot always be a top performer, I've accepted that. When I recognise I was in a low during some implementation I might do a total rewrite of it or apply some serious refactoring(and force myself to take the time for that).

I still experience coding to be much harder to get right than I ever expected it to be. For me a codebase is a highly complex system of maybe hundreds of files with API's working together, not just a bunch of algorithms.


That would be great news if their government was more humane and noble. But hey, at least it sounds less terrifying than: "North Korea's great leap forward in science".


And this is one of the major points of cryptocurrency as a replacement for the current payment systems. In the end we don't want Banks, Visa, Coinbase, etc.. because they F* with our money.


That's right. If you can pay and get paid with cryptocurrencies, you don't have to use an exchange.


Are you for real? There’s major headlines about screw ups with crypto codebases and exchanges constantly.


The headlines are practically always either about centralized bank-like exchanges that hold crypto on behalf of others losing it, or about people losing money they put into a badly-written Ethereum contract. The number of situations that people lost properly-handled cryptocurrency (they didn't send it to the wrong address, they had a backup, and they used a hardware wallet or malware-free computer) with a mainstream client have been practically non-existent.


You realize the user hostile nature of basically all crypto currencies is not a feature right?


"You should have a backup and double-check the address you send to" is a user-hostile high bar? I mean, maybe for non-technical people, but I'm not exactly recommending bitcoin or any cryptocurrency to them. Something can have its uses without having to be everything to everyone.


The comment I was replying to was saying we need to replace banks with crypto. The user hostility is one reason why that's nowhere near happening.


What a fallacy of equivocation, cryptocurrency codebases and the exchanges they trade on are not the same thing. It would be like saying: marijuana and the cartels and killing any people every year!


I didn't equivocate them, I listed them both individually. Didn't seem like a hard sentence to parse to me?


There is a reason why most people hate math.

IMAO the current system of teaching math is ancient and above all deprecated. We should not punish our kids with it. I mean, what's the point of drilling stupid sums if you'll hardly ever need it in your life? I think it is totally stupid and irresponsible if anyone does calculations without a calculator for almost any application, not excluding: store checkout, health care, aviation, etc.. The current educational methods are way pre-computer era, it desperately needs an upgrade.

So why not start teaching kids concepts and let them use the technologies we create to solve problems that our minds are not wired for? Ever seen a teacher without a cheat sheet checking the answers? Guess why? Because their own calculations are too slow and above all not to be trusted! And should I not use a debugger because theoretically we can write proper code without it? Come on..

Please stop teaching our kids deprecated workflows. Teach them the best practice, the best way we know and can do now, because: "As the twig is bent the tree is inclined".


You want us to teach them best practice? Then we need to teach them maths, without relying on calculators. I teach secondary maths (specifically Algebra II), and they can't understand what I'm supposed to be teaching them because they have no clue how numbers work. Why don't they know this, if they're 15/16? Because they were given calculators at too young of an age and know "just push the button". What you're arguing is for a complete removal of teaching math, period. Also, why would you want to pull out a calculator every time when it's often quicker to do some mental calculations in your head? For instance, I've seen my students multiply by two in the calculator. Then be amazed when I can just say it.

Over-reliance on the calculators is already a huge issue, and we don't need to make it worse.


> What you're arguing is for a complete removal of teaching math, period.

No. I suggest focussing on explaining concepts, not drilling sums. And explain them why in ancient times the teacher used to use a cheat sheet because drilling didn't work because science found out our minds are not wired for that.

Besides, from over 7 billion people on Earth, how many need Algebra 2? Please try to be honest and give us here an estimate teacher. In your life Math is important apparently, but in most lives it's not. Teach it to those interested please and don't push it through the throat of those not interested.


> I suggest focussing on explaining concepts, not drilling sums.

The research I've seen suggests that having a bunch of stuff at your finger tips then makes it easier to have the concepts crystallise. Trying to start with just the concepts doesn't work.

So what's needed is both, significant practice to help embed the simple underlying facts, with extensive exploration of the links between the facts to help the concepts emerge, be identified, and then distilled.

To me, it seems that almost everyone goes full extreme: "Must do this", "Must do that", whereas, as in game theory, it seems obvious that a mixed strategy is likely the best option.


I mean, what's the point of drilling stupid sums if you'll hardly ever need it in your life?

"Hardly ever"? So when checking the restaurant bill, the change at the grocery shop, the tax return, a bank investment proposal, the costs of building/renovating a house, the time left for a mortgage, do you always use a calculator?


If I need to be sure? Yes!


Haha, I do not trust machines -- I check the calculator by doing the math by hand.


The idea is to give them "number sense." Kids trained on calculators don't bat an eye at 12+6=72. "The calculator said so." "What do you mean I pressed the wrong button?"


> They force some behaviors to always happen even when it doesn’t make sense. That’s okay

No, it's not. Promises suck, that's all, no need to spend more words on it.


> JavaScript Promises Discussion: Make Them Monadic?

No, just totally ditch them!

I can't help to hate Promises. Sometimes I have to work on a code base that is completely baked with them, it's just a nightmare. With the stupid async await implementation things haven't got any better.. Now they expect me to write async calls in a try-catch block!?!

With JS I prefer to use simple callbacks until they come up with a proper async await without try-catch and Promises bullshit. Callback hell happens not because of the callback principle itself. It exists because it's too easy to keep nesting functions. Most devs simply don't know how, or are too lazy, to apply good patterns for using callbacks.


Having seen several codebases go from using arbitrary callbacks (two? One with an error arg? Why not both?) To promises/asynchronous/await it's hard to see your point. The code is cleaner, there is no callback hell with await, in fact no callbacks at all. And yes, you do need to use a try/catch block where appropriate.

Stop trying to emulate a try/catch with ridiculous nested callback passing that inevitably leads to the function not being called and data being lost. Just stop.


> Now they expect me to write async calls in a try-catch block!?!

What do you mean? In my experience, the use of async/await leads to much cleaner code for I/O driven tasks like querying APIs and databases. Yes, I do have a try/catch at the top of the callstack to catch and log unexpected errors.


async/await worries me, not for abstract language reasons but because it hides complexity in a way not friendly for junior engineers.

I imagine a lot of code that should be thought out and made parallel being forced into a synchronous flow.

Note that promises aren't a ton better in this regard, and come with a ton of confusion themselves. In short, async is hard.


Promise.all() does a pretty good job of parallelizing tasks while maintaining readability.


I'm not sure how it works in all languages, but in Python you have to deal with errors in a try/except block. In general the way you handle errors that happen on "blocking" async calls is by wrapping in a try-catch style syntax and handle the error. How would you handle the error otherwise?

You can handle asynchronous code in JS in four ways: callbacks, Promises, generators, and async/await. In the former two, errors are dealt with in a non try-catch way, to the programmer, because either you pass the error as the first callback parameter, or the VM handles error passing for you and you deal with it in a catch block. The latter two you must wrap code that may fail in a try-catch block (or just not handle the exception). You can stick with callbacks, but it's generally easier to read well written Promises, and in a lot of cases async/await make it even clearer. The only time that it can be confusing or difficult is if you want to do multiple await calls simultaneously.


This. Every time I try and get up to speed on those things it's like, "wtf? this is actually better?"


I think you'll find that the proper solution to this problem is : threads. (or actors, goroutines, CSP if you want to call them that instead). Promises and callbacks are something you'd do if you have an execution environment lacking threads (which is true of Javascript).


I have a number of criticisms of Promises, but I think your point is utterly wrong.


Not to mention promises swallow programming errors that should fail loudly (TypeErrors, ReferenceErrors, etc), and treat them the same as you would treat an HTTP 500 error.


This is almost nothing compared to what Microsoft with Windows 10 collects. And beyond that, Canonical is honest and presents an opt out, while Microsoft does waaaay more without even telling, and hides all the many opt-out's in loads of hidden setting dialogs.

Still, it's good to keep a sharp eye on Canonical. I have not forgotten about the "lens" sending your local query to 3d parties like amazon by default..


Canonical is no saint,

https://www.eff.org/deeplinks/2012/10/privacy-ubuntu-1210-am... (Amazon Ads and Data Leaks in ubuntu 12.10)

https://arstechnica.com/information-technology/2012/12/richa... (Richard Stallman calls Ubuntu “spyware” )

https://www.wired.com/2013/11/fixubuntu/ (Linux Outfit Canonical Launches Campaign to Silence Privacy Critic)


That was shitty but they stopped doing it years ago (in 16.04 specifically), and it was easily disabled when it was there.

Meanwhile Windows 10 just keeps getting more and more invasive, and make it more and more difficult to turn off. Disabling web search in the start menu requires using either the registry editor or group policy now! And when you search for how to disable things everything you find is out of date because they keep changing it every 6 months. The trend has been going from actual option in settings menu -> require registry edit or group policy -> system ignores the registry and it becomes completely impossible to disable. I was pretty mad when they did this to the lock screen and it continues to be a mild annoyance to me every day.


Nobody is a saint; not even the saints. But making an effort to do the right thing, no matter their history, should be respected.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: