HNHacker News
TopNewBestAskShowJobs

exch

1,405 karma · joined November 17, 2010

submissionscomments
exch··on Factor 0.96 now available – over 1,100 commits
You don't have to learn it. It is probably mostly interesting to users of concatenative languages, or those who just want to broaden their horizons..

Personally, I've fallen in love with it a few years ago. Even though I don't use Factor for anything practical, the language itself (as well as Forth) has taught me a completely new way of thinking about problem solving. Something that I benefit from in other languages I use.

So if there is one reason you should at least check it out, it is that it will make you a better programmer. And I think anyone who's been writing code long enough, will know that there is always room for self-improvement.

exch··on Kerbal Space Program - space flight simulator game
daurnimator: It is on the last image.
exch··on Kerbal Space Program - space flight simulator game
This warrants the obligatory XKCD quote[1]: "Space is hard"

[1]: http://what-if.xkcd.com/38/

exch··on Kerbal Space Program - space flight simulator game
It is also mighty practical for interplanetary missions. Specially the ones that require landing and return trips.

You can't realistically get the entire contraption + all the required fuel and engines up into orbit in one go. It is just too heavy. It is considerably more practical to send the mission up into orbit in smaller chunks, then reassemble it and optionally refuel at an orbital station, before you begin the actual flight.

Of course, this hangs on the premise that you are capable of docking with orbiting vehicles, which does require practice. So far, I've managed to do it a few times, in order to build my space station/refueling depot. But I'm still losing missions left and right, because I messed up the approach to the target vehicle.

In the interest of saving lives, I've opted to just use remote controlled modules as much as possible. All the dead kerbals are not conductive to successful future funding requests.

exch··on Kerbal Space Program - space flight simulator game
Same here. While the wine approach worked, this seems to run just a bit smoother.
exch··on Kerbal Space Program - space flight simulator game
I bought it last week. This has replaced Minecraft for me. It is magnificent fun, even in its current alpha state. Then again, so was minecraft back in the day.
exch··on Show HN: 6 months ago I quit my job to pursue indie dev. Here is our first game
He/she probably can't. The concept is not new. Here's a flash version of the same game. it is a few years old.

[1]: http://www.addictinggames.com/puzzle-games/3dlogic2.jsp

exch··on CSS 3D Clouds
24.0.1312.69 on 64-bit Arch linux here. It all works super.
exch··on Now 0-for-3, SpaceX's Elon Musk Vows to Make Orbit (2008)
That's not what OP said.
exch··on Zip Bomb
> crazily enough my install of GoLang on a windows box has a file that gets flagged as a compression bomb every full system scan.

This may have something to do with Russ Cox's blog post on recursive zip-archives "Zip Files All The Way Down" in Go: http://research.swtch.com/zip

Baseless speculation mode: There is a possibility that the recursive zip file was part of the Go test cases for the gzip package at some point. If it lingers in the mercurial commit history, it may still trigger hits from your AV software.

exch··on Quantum physics at a distance
This subject has always caused me a great deal of headaches while trying to wrap my mind around it.

If I understand you correctly then, the term 'teleportation' is entirely misleading in this context.

I am also wondering about another issue: Heisenberg's uncertainty principle. How can you accurately gauge the state of a particle, in order to 'transport' it elsewhere, when Heisenberg seems to be convinced this is impossible to do?

Thirdly: 'teleportation' as you explained it, seems to me to be more of a game of "Let's see what's over there, then observe this spot here and wait until some particle randomly displays characteristics similar enough to consider it equal. We can then pretend we did it with science!". Is this the case, or do they actually 'do' something on the other end to create a new particle with a specific state?

Disclaimer: I am very much an arm-chair physicist with as much understanding of this subject matter as the average doormat.

exch··on "100% of our production system is now running Go"
Writing a (web)server in Go is not so much about reinventing the wheel, as it is about slapping together the existing building blocks into a server specifically tailored to your application.

These building blocks are very complete and are all available in the standard library. This means they are tested, debugged, tested again and have become pretty damn robust.

The point about Apache/NGinx being well established and battle hardened still stands, but Go's library is quickly following suit.

What Go offers over the others in this respect, is that you do not have to settle for a monolithic one-size-fits-all package. The code you write in Go does one thing (serve your application) and does it well without any compromises.

exch··on Things I do to be consistently happy
I think this also has to do with your own experiences in life so far.

I can identify with il's point in that regard. My life so far has had its share of downs. So now that everything is going well, I keep being reminded of the importance of having the simple things in life and how I am very lucky to have a roof over my head, a decent meal every day and close friends I care about and who care about me. As far as that goes, I do actually feel I have won the lottery. What else could I possibly want or need?

All this has completely done away with any sense of ambition I had years ago. back then, I had to have a high paying job, fancy gadgets and everything that came with 'being successful' (or so I thought). I have now realized that none of this matters even a tiny bit. To me at least it is all completely irrelevant. I learned to take nothing for granted and its the simple things I mentioned which make it all worth it for me.

exch··on Things I do to be consistently happy
At the risk of going completely off topic and being all philosophical:

Can someone explain to me what 'being happy' means?

I have consistently failed to answer anyone who asked me if I was happy or not. All I can say is that I am content or not. Which, for me, means that I am satisfied with the situation I am in. I can do what I want to do, when I want to do it and do not have to be bothered by things that do not interest me.

Happiness, on the other hand, is not something I understand. It feels like an utterly inappropriate term to use to describe this particular sensation. I have always regarded it as this magical state of being that would be used by people who also talk of 'achieving ultimate enlightenment'.

"The ultimate goal in life is to be happy" is what I hear regularly. And I have to keep wondering what could possibly be so wonderful about it that makes this worth being the sole focus of a person's life?

edit: Fixed some grammar.

exch··on Optimisation lessons learned (part 2)
Follow up on part 1: https://news.ycombinator.com/item?id=4209642
exch··on Actually using Ed

    If you’re using any Unix at all, then ed really will always be there,
    no matter how old or limited the system.
So as it turns out, my Arch Linux setup does not actually have ed.
exch··on A micro-manual for lisp implemented in go-lang
I've done some work on the read_token function. The implementation on the site has some problems.

* The string conversion to chstr is unnecessary. Rune comparisons can be done simple with `ch == '('`.

* The 128 byte buffer will cause a panic when you enter an atom that exceeds this size. The idiomatic way to do this, is to use a `bytes.Buffer` instance.

* There is also an extra error check in the rune reading loop. The original ignored possible EOF's. Not sure how relevant it was in this particular use case, but just ignoring errors outright is never a good idea.

https://gist.github.com/2551271

exch··on This is how graphics in games matter
The extreme drive for realism in game graphics have always put me off. My brain just doesn't work well with them it seems.

There is this uncanny valley thing where the scenery becomes so realistic that the very small incorrect details really start to jump out and become distracting. Sometimes even annoying to a point where I can't stand playing a game any longer.

It's strange really, but when a game goes for extreme realism, it feels as if my brain is expecting the game world to be a carbon copy of 'the great outside'. It's only in these situations that any tiny discrepancy really jumps out at you. This is not the case with art which is obviously stylized.

edit: What makes this even stranger is that I have very poor eyesight (congenital Glaucoma). I can't see the difference between DVD's of olden days and stuff made and displayed in 1020p HD. While this saves me from having to invest in preposterously expense TV's, it does give me a very skewed view of what 'realism' means.

exch··on Rethinking Programming Language Tutorials
I understand where the OP is coming from, but I will go one step further.

If you are teaching programming to someone who has never written a line of code, you need to do away with the programming language all together. When you start out, you are learning two distinctly different things at once:

    * General programming principles; abstract thought patterns.
    * The language it is being taught in, along with all of its oddities and quirks.
These two do not mix very well and can, in some cases, be counter intuitive. I believe that teaching someone to /think like a programmer/ and learning analytical and iterative problem solving are of primary importance. They apply to any language. Once you grasp these, the actual language of choice is considerably less difficult because patterns in the language are immediately familiar.

I'm fairly confident that you can effectively teach someone to /think like a programmer/ without ever showing them a single line of code.

exch··on Farbrausch (demoscene group) releases their tools and engine
I've always had a great deal of admiration for these kind of works. They elevate programming to an art form.
exch··on QArt codes, the better way to put picture in a QR code
Other discussion: https://news.ycombinator.com/item?id=3833850
exch··on QArt Codes: Applied Reed-Solomon coding
This is a continuation of the previous article "Finite Field Arithmetic and Reed-Solomon Coding"[1]

[1]: http://research.swtch.com/field

exch··on How a geek dad and his 3D printer aim to liberate Legos
TL;DR: Golan Levin designed printable pieces which can be used to connect previously incompatible toy types together (LEGO, Playmobil, DUPLO, etc). As a consequence, this raised a myriad of copyright infringement questions for the future of 3D printable content.
exch··on Notch's Specification for the In-Game DCPU-16
I strongly recommend you to read the course book "The Elements of Computing Systems" [1]. This explains the whole principle in very plain English. It has an extremely intuitive and easy to follow logic and set of exercises you can do.

It has completely demystified the whole low level world of computers for me.

If you can't get the book, a number of exercises and chapters are available for free at this website[2].

[1]: http://www1.idc.ac.il/tecs/ [2]: http://diycomputerscience.com/courses/course/the-elements-of...

exch··on Notch's Specification for the In-Game DCPU-16
Nice. With a bit of fiddling one could perhaps invert an enemy's shield polarity. That always seems to work miracles in any sci-fi show.
exch··on Poll: How long have you been programming?
I spent 2.5 years at home learning. To eat , I took part-time temp jobs. Anything that would keep me at home most of the time, while still enabling me to pay the bills. After that I got a job as a C# developer for a company.

Without any working experience (as a programmer) or paperwork, I knew this was going to be difficult. It turns out that some companies value enthusiasm and the ability to demonstrate you can and will learn fast, as more important. I had both of these on my side, so I got the job.

I did not have a Github profile at the time, but I made sure I showed them a CD with my most notable homebrew work. I would advise a Github profile instead though. Just put everything on there that you feel might be worth it. Even if it doesn't really have any use. It's about the way you write code and go about solving problems that is interesting to the interviewers.

exch··on Poll: What is your primary operating system
Linux warrants a distribution choice, I think. Not nearly every distro out there is worth my time. While under the hood, they are all pretty much identical, the way a given distribution sets itself apart is what makes or breaks the operating system. I've been an avid fan of Arch Linux for a few years now and I can't imagine wanting to switch to Debian or any other setup any time soon.
exch··on Poll: How long have you been programming?
I started out in 2001. Back then I was working for some company as a graphics designer -- I had been there for about 1 year (fresh out of school) -- building the layouts for their countless websites. Back then the whole internet industry was about to collapse and I could see the proverbial axe dangling over me come the end of my year contract.

A coworker of mine was responsible for the programming. Mostly perl and php. I had never touched a line of code. Not even HTML. I was doing everything a-la WYSIWYG. The mere thought of having to write code made me cringe but it was obvious that I had to adapt if I wanted to keep receiving pay checks. So I set out to teach myself everything I could about programming in the boss' time.

I scoured the internet and read every bit I could find. I started out with BlitzBasic[1] and C# (It was in beta back then). To my complete astonishment, I actually /really/ loved every bit of it. Since then I quit my job and went home to become a halfway decent programmer. I was adamant that this would be my new career path. And I succeeded!

Around 2008/2009, C# was into its 3rd iteration if memory serves. I had left Blitzbasic behind a long time ago. I was still enjoying every minute I could spend typing code. However, C# had some traits that really started to rub me the wrong way. The 'everything is an object' OOP mentality, coupled with the pretentious and obtuse habit of corporations to not give a shit about skills unless you can recite all design patterns by heart, really made me lose faith in the whole programming thing.

Fortunately, that's when Go[2] came into view and it allowed me to fall in love with programming all over again. I've never looked back to C# since that day. In the meantime, I've also picked up C, Scheme, Forth, Factor and a host of other languages I love working with.

I am very much a D.S.L. kind of guy but Go is definitely my primary go-to guy for most stuff.

[1]: http://www.blitzbasic.com

[2]: http://golang.org

exch··on Learn to read a binary font by reading a story
This reminds me of Elian Script[1]. It is not particularly optimized for reading but it is extremely easy to learn and become proficient in.

The usual habit to develop ones own handwriting style when using this, makes it something rather unique to each individual. This also improves writing speed because you optimize the letters to suit your own writing style. We both (friend and me) use it as a form of poor-man's-cryptography for diaries and stuff we write in public (trains, buses, etc).

My friend's Elian compared to mine is almost unrecognisable at first glance. But if you understand the few basic rules for the writing system, you can read either of our versions very effectively in only a short amount of time. And those rules are preposterously simple. You do not have to memorize different shapes for each letter of the alphabet. That's a definite plus.

[1]: http://www.ccelian.com/concepca.html

exch··on Go version 1 is released
Good question. And one I can't easily answer to be honest. In most respects I suppose this is very much a subjective matter.

For me it's the language's simplicity. There are no hidden surprises in the spec. It's short, clean and easy to memorize. The syntax is clear and (for the most part) un-intrusive. Some of it's idioms really force you to think about what you have learned in other languages. And then either forget any of that ever happened, or at the very least become a critical thinker about the usefulness of these things. For example: the standard inheritance based OOP model.

Go simply allows me to 'get shit done' fast and without having to jump through hoops. It's very much like a breath of fresh air in what was quickly becoming a stale and obnoxious development environment (for me at least).

Edit: I would add that I do not particularly like evangelising about anything; that includes Go. It is beautiful for what it is. but by no means should it be considered a silver bullet. If your current tool chain(s) and language(s) work for you, by all means continue to use them. Go has its strengths and its weaknesses that should always be considered at the same time.

The right tool for the right job and all that.

← PreviousPage 2 of 4Next →