HNHacker News
TopNewBestAskShowJobs

nercht12

272 karma · joined June 18, 2016

submissionscomments
nercht12··on Show HN: I created instruments for people who have no idea how to play one
Cool! The mouse mode was great! The keys, of course, still required alittle skill to sound melodious XD I love your visualizations. What are you using for your 3D? three.js?
nercht12··on Ask HN: Does anyone else just want to disconnect from everything?
The classic response of an introvert to growing problems in the world is to become a recluse. Not saying you are an introvert, but it's a common response. The best thing to do is the opposite: Go out and live as the kind of nice, unselfish, non-greedy, proactive person that you wish other people to be. Thereby doing so, you will provide a little bit of sunshine to make the world a better place, and you'll subtly influence other people to be the same. You may feel like one tiny piece in the puzzle, but 1000 piece puzzles still require each individual piece to complete. Don't retreat. Face your fears: Be the driving force for good, not the one that's forced. May you be blessed in this!
nercht12··on Corporate Linux
It would be interesting to read Torvalds' response to this article as it paints a very one-sided picture. If we presume the article is at least in the right direction, from what I know about some devs, I presume he sees Linux as "his" baby that he just happens to be sharing with the world. If you like it, great. If you don't, idc. This seems to fit his character of harsh criticism of bad code. On the bright side, it has always meant that Linux has had a critical eye examining it, ensuring that it works. On the flip side, some feelings are hurt. But that's ok. You can't always appease people's feelings if you want something done right.

In a way, Torvalds is more true to liberty than Stallman: Do what you want with the code. Stallman is more "Let's all share freely." They form contrasting camps to the FOSS community, which is one of the many reasons the community can't just all agree.

nercht12··on Did I just spent 6 months building a product that no one wants
Certainly for the introvert who designed the thing. It always helps to find a good-communicator salesman to help you sell your product.
nercht12··on Why Windows 11 still ships with Windows 95's memory manager hidden inside it
We're passed reddit bots. Now we're onto mysteriously sourced AI summaries.
nercht12··on Why Windows 11 still ships with Windows 95's memory manager hidden inside it
Yeah, it makes no sense. The standard is OpenGL, Vulkan, but Apple ditches it just to be different or something. At least some big game engines support it, e.g. OGRE, so if you do want cross-platform dev, it's possible.
nercht12··on Why Windows 11 still ships with Windows 95's memory manager hidden inside it
On behalf of those of us who play old Windows games on newer PCs, esp Vista, thank you!
nercht12··on No more icons in every menu by default
Does anyone have a list of guidelines for good UI design that they would recommend? As I have to design UI myself, I'd be quite interested. Personally, I do favor a mix in my UI: icons for obvious-or-frequently-used stuff (like Save, Undo, Help, Sort A-Z, etc, all of which usually have standard icons (except for Save now)) and plain text for things that can't be expressed by icon (like "Refactor XYZ").
nercht12··on India's surprise baby bust
The downvotes explain why the world is declining in population. Most people fail to see this is the problem.
nercht12··on India's surprise baby bust
The problem with society is that people are commonly selfish, so the majority of people only do things that benefit them. Children benefited ancient societies.

The problem with industrialized societies is that people lost all markers of adulthood. Everything became about worshiping convenience, and once convenience (for short-term pleasure) became "god", people wanted to avoid things they saw as unnecessarily difficult.

To reverse the trend, we need people to understand that the difficulty of life isn't a bad thing, that struggle and suffering aren't bad, they are essential for growth in becoming a better, happier person in the long run.

Would you rather be an ever-weakening wimp? Most people unconsciously say "yes", afraid of the world. Kids are afraid of the chaos in life - suffering that happens when life throws you curve balls, like "what would I do without monetary support?". Even "adults" now are really kids are heart - afraid of losing social security, medicare, etc. "Welfare" programs don't end the dilemma - they only reinforce the childishness and dependency on gov for support.

We need more bold people, people who aren't afraid to suffer because they see the light at the end of the road. Courage separates the men from the boys.

nercht12··on Maryland becomes first state in the nation to tax digital advertising
What if it's through ad networks? Do the ad-networks pay or do they bill their users? Do they start offering the option, "exclude Maryland"? It seems to me this would be really, really difficult to enforce. So much of what is digital doesn't come with tags. Ads may be relabeled "suggestions" to avoid laws.
nercht12··on The Fall of Silicon Valley
Dubious. They're doing all they can to kill it with censorship. It takes more than just new tech to keep something afloat - you also have to treat your userbase well.
nercht12··on Copper: A statically-typed, loose syntax programming language
Copper does not distinguish between function and object. An object-function has two parts: the member part and the executable body. In C++, it's analogous to:

class FunctionObject {

FunctionObject* members[];

void* operator() { /* executable body */ }

};

nercht12··on Pinocchio Dies, Bambi Gets Shot, and Other Changes to Disney Movies (2018)
Hey, I thought Episode 1 was good. It was the only prequel that could stand on its own as a complete story. The others were "Oops, I forgot to plan this out better so let's just add a ton of fighting and action to hide that fact".
nercht12··on Copper: A statically-typed, loose syntax programming language
a's type didn't change. The trap was that the wrapping function returned its nested function instead of itself. You can do the same thing in other languages, it's just easier to slip into code in Copper. Let me illustrate with pseudo C code:

[code]

class F {

int mydata;

F( int a ) : mydata(a) {}

F* operator( int p ) { a=p; return new Function(0); }

};

myF = new F(10);

doSomething( &myFunc );

doSomething( myFunc() );

[/code]

This is a basic formula for how things appear "under the hood" in the VM. Notice that doSomething() accepts F*, but in the first case, the F instance passed has a different mydata value. In Copper, the above code corresponds to:

[code]

doSomething( myF )

doSomething( myF: ) or doSomething( myF() )

[/code]

nercht12··on Copper: A statically-typed, loose syntax programming language
x = foo()

bar(x.a: x.b:)

Functions can return data. So say, a=5, then to get the value of 5 out, all you have to do is call the function a.

Edit: I'm assuming foo() here returns an object with members "a" and "b". An example of such a function-object would be:

foo = [] { ret( [a=5, b=10] ) }

nercht12··on Copper: A statically-typed, loose syntax programming language
The colon is a shorthand for (). Incidentally, it also makes for lots of little smiley faces everywhere.
nercht12··on Copper: A statically-typed, loose syntax programming language
The dropping of semicolons and commas isn't what makes it simple, I'll agree. I was referring to the simplicity of the parse tree as a whole. It's easier to figure out what a Copper statement does because there are very few types of statements. Yes, there are a couple of traps [1]. Try reading this example [2] and see how you like it.

[1] When passing either an object or data to a function, the parameter is stored as a function. e.g. if f=[p]{}, then f(a) and f(5) have p=a and p=5 respectively. If a=5, then the results are identical. The trap is that if a={ret({ret(5)})}, which is a wrapping function, and you call "a" before passing it to "f", then you get the nested function {ret(5)} instead of the wrapping function {ret({ret(5)})}. Having worked with Copper in practice, it's not too hard to spot the error, but it is one of those things that will catch beginners off guard.

[2] https://github.com/chronologicaldot/CupricBridge/blob/master...

nercht12··on Copper: A statically-typed, loose syntax programming language
Actually, it can take multiple. gte(a: b: c: d:) is equivalent to (in C) a >= b && a >= c && a >= d. By making operators like functions, you can group like-operations and simplify code. Admittedly, it's not as readable for someone accustomed to seeing C style.

Last note: gte(a=100) would produce an error in Copper because a=100 is an assignment statement that returns "a" (a function), and gte( function ) means nothing.

Edit: I see you're referring to Python, but I figured I'd keep the note of comparison.

nercht12··on Copper: A statically-typed, loose syntax programming language
You are correct. "object-function" is basically like in Javascript: It's an object (having members) and an executable body. The colons are a shorthand for function call. ie myfunc()

In Copper, variables only store functions. This separates routine from data so you never end up with null pointer errors like in languages that have Any Types or pointers. Functions can return data, so you end up having function calls everywhere. a=5 is basically a={ret(5)}

In your above example the correct first line would be: adder = [a b] { ret(+(a: b:)) }

Parameters to a function are those that are not assigned data, whereas members are: add = [Param, Member=10) { ret(+(Param: this.Member:)) }

Now you can probably see what's wrong with your third line.

nercht12··on Copper: A statically-typed, loose syntax programming language
An article on the blog explains the parse tree.

https://copperlang.wordpress.com/2016/11/18/printsyntax/

Edit: The design of the parse tree is such that there is no need for things like statement termination, parameter separation, among other things. By its simplicity, the code focuses on what really matters. Complex syntax is mentally taxing and distracts the programmer from focusing his energy on problem solving.

nercht12··on Copper: A statically-typed, loose syntax programming language
I see what you're getting at. Yes, a ) is needed... eventually. I think the key with "loose" is that it's forgiving. You won't encounter many syntax errors in average programming because the syntax has few rules. In that case, "very simple" would be better said than "loose".
nercht12··on Copper: A statically-typed, loose syntax programming language
No semicolons are ever required. It is loose syntax in that most anything, including this paragraph, is valid and readable code
nercht12··on Copper: A statically-typed, loose syntax programming language
The guy who wrote it isn't a lawyer either.
nercht12··on Ask HN: A New Decade. Any Predictions?
I think being off social media is very healthy. It's sad that people don't interact in person as much anymore, but maybe we'll get more social media that encourages meeting offline (e.g. meetup.com). Anyone want to make an app? It would be nice of there was an app that would help you identify locals and neighbors with common interests. auto-matching maybe? I can see an app getting really invasive (like checking your search-engine queries), but it doesn't need to be this intense... or maybe that depends on how badly you want to meet people.

... Then again, you could just go knock on your neighbor's door and say hello, but that's too easy, too natural. ;)

nercht12··on Ask HN: How do I understand the results of my job search?
Have a look at this advice: https://www.busymonk.com/how-to-get-a-software-job/ While it's intended for new grads, there are a number of items on it that we often miss/forget/neglect.
nercht12··on Electron 7.0
Come on, guys. Don't downvote him. He was being funny. X) Along those lines, we can say anything made for ChristOS is definitely cross-platform. XD (There's a double pun in that one if you know Greek.)
nercht12··on Software Engineering Grads Lack the Skills Startups Need
On the right track, but even moreso of a factor is the personal relations in one's life. A kid straight out of school being told constantly to "go get a job" has trouble trying new things and getting a startup going. They end up trying to please these other naysayers and at the same time trying to pursue their dreams, thereby splitting their efforts and cutting their productivity of both in half, resulting in fewer successes over a longer period of time, further demoralizing them.
nercht12··on Thunderbird 68.0
I wish Thunderbird would show me the email address of the sender without requiring that I open the email. That way I could check for spammers and fakes posing as friends. I've searched for such a feature and haven't found it yet.
nercht12··on The student loan crisis is really an underemployment catastrophe
If companies didn't require "higher education" degrees for entry, then schools would be forced to start appealing more to the masses. In an information age such as we live in, we can access virtually all the info we could get from universities for a mere fraction of the cost (just the books + supplemental material if we need it).

There's no need for government subsidized education or broadening the job market. There's need of ditching bureaucrats and "Because we've-always-done-it-this-way" morons. Reward people for studying on their own, building their own businesses, networking, etc. rather than following the stupid system just to get two letters next to their name.

Page 1 of 9Next →