HNHacker News
TopNewBestAskShowJobs

andreasgonewild

548 karma · joined September 2, 2014

submissionscomments
andreasgonewild··on Goodbye, Lua (2016)
Hello Snabel? JavaScript is far from the answer to every question.

https://github.com/andreas-gone-wild/snackis/blob/master/sna...

andreasgonewild··on Ask HN: If you were better at programming, what program would you write?
This: https://github.com/andreas-gone-wild/snackis

But then I grew tired of waiting and just did it already :)

andreasgonewild··on Let's Remove the Global Interpreter Lock
I just can't stop thinking that somewhere along the line one of the Guidos should have reacted to handing out global locks left and right. I mean, as long as its only you and your friends using it. But once it starts spreading, these are the kind of issues that need to be kicked out of the way asap. Lock granularity affects the entire design of client code, reducing it basically means rewriting everything.

Ah well, at least it serves as a warning sign for budding language composers as myself. Snabel did full threading before it walked or talked:

https://github.com/andreas-gone-wild/snackis/blob/master/sna...

And to any Pythoneers with sore toes out there: pick a better language or learn to live with it, down-voting me will do nothing to solve your problems. It's a tool, we're supposed to pick the best one for the job; not decide on one for life and defend it to death. Imagine what could happen if language communities started working together rather than competing. There is no price to be won, we're all being taken for a ride.

andreasgonewild··on Disruption is over – and Facebook won
Like hell they did, Facebook will sound like Myspace before you know what happened.
andreasgonewild··on Side Project Marketing Checklist
I just find that whenever I optimize for money; I start making weird decisions; decisions meant to please others, who may not share the passion. I'm all for people paying me to create and share the stuff that I already am; but then it needs to come without conditions, otherwise we're back to square one.
andreasgonewild··on An Intro to Compilers
Compiler design depends a lot on the language being compiled though, this would be a typical design for a C-style language.

When doing Forth-style languages for example; I've found that it's not very helpful to parse to trees, since I can't tell the structure of function calls before seeing the actual running stack anyway. Which in turn affects the compiler, since all it has to work with is a sequential stream of tokens.

And not all languages are stand-alone, or compile all the way down to machine code. Compiling to byte-code for running immediately, with the backup of a runtime library; is an attractive option for more specialized languages; and this means that it's possible to carry more information straight over from compilation to runtime.

I've been working on a scripting language that raised some of these questions lately:

https://github.com/andreas-gone-wild/snackis/blob/master/sna...

andreasgonewild··on Big brother is here, and his name is Facebook
There are plenty of superior alternatives; but this one is mine, and free; and secure:

https://github.com/andreas-gone-wild/snackis

Whatever you do, opt out before it's too late...

andreasgonewild··on Side Project Marketing Checklist
Monetizing, check, your, check, passion, check, kills it, period.
andreasgonewild··on A year with Notmuch mail (2016)
I like it that way, looks better than in the pictures if you ask me. It is, however completely CSS-themeable; the theme you saw in the README is included as an example. If someone else is willing to put their time into an alternative theme, I'd be happy to include it. To summarize; if that's your only issue I suggest another look.
andreasgonewild··on A year with Notmuch mail (2016)
Speaking of hacker-friendly email clients. Snackis offers editable threads, full-text search and encryption in a single, convenient package with a GTK GUI on top.

https://github.com/andreas-gone-wild/snackis

andreasgonewild··on Developers, confess why you don't TDD
I'm sure the world learned a thing or two from the agile movement. But like all movements it got twisted into semi-religious caricatures of the original message, like this post.

Event Kent Beck admits skipping tests when he feels like it, no big deal.

I hereby confess; I don't give a shit about icons, worship and obedience; I am creating.

andreasgonewild··on Tell HN: Help I'm scared to released my new project
You can't have it both ways, either no-one cares or someone will find an issue or ten. But that's just a consequence of code(?) seeing wider use, the only way around that is to not share the code at all. Which unfortunately means stagnation and wasted life in the long run. I know you're not the only one who's torn between the urge to share and the issues involved. But then I remind myself that I mostly regret things I didn't do and get on with it. Speaking of: https://github.com/andreas-gone-wild/snackis.
andreasgonewild··on Outraged about the Google diversity memo?
You can't fix inequality by discriminating; discrimination is part of the problem, not the solution.

It's about time we started considering other, more constructive ways of cleaning up our collective mess.

andreasgonewild··on A polyglot's guide to multiple dispatch (2016)
That is another example of how to make C++ taste like Java from my perspective, I don't care how famous he is.
andreasgonewild··on A polyglot's guide to multiple dispatch (2016)
No one said a recompile wasn't allowed, plenty of things aren't possible in C++ without a recompile. All I'm saying here is that when you don't need polymorphism, which should be most of the time; overloaded functions do the same thing.
andreasgonewild··on A polyglot's guide to multiple dispatch (2016)
Overloading is dispatching based on types of multiple arguments. If someone adds a more specialized overload, it will be called instead of the existing. The problem is dispatching on polymorphic types. As long as you still have your Squares and Circles intact, the right function will be called. And in C++, keeping the concrete types intact as far as possible is a solid strategy.

For your collection example, at some point you need to introduce some kind of polymorphism to get back to concrete types; but once you're back, overloading works just fine again. The best strategy to recover types depends too much on specifics to be formalized.

andreasgonewild··on Google Fires Employee Behind Controversial Diversity Memo
I read the whole thing out of curiosity since I'm often a target for witch-hunts myself after expressing unrelated unpopular views. I can't really see any reasons for being fired in the memo, except for the shame-and-punish-culture around these issues that he mentions. Not that I agree with everything, empathy is essential and a big part of adjusting towards a more humane and feminine world. But then he gets that part spot on, that becoming more feminine as a whole is a superior strategy to fitting more women inside a masculine framework by discrimination. The society we build has to provide space for all of us as individuals, not by making us all the same. You can't fix inequality by discrimination, why is this so difficult to understand?
andreasgonewild··on Ask HN: Fear?
Just do it.

The more you give, the more you get; might not be awesome profits, might be even better. The secret with giving is to not expect anything in return, the very definition of Karma Yoga; real Yogis practice that all the time.

There's nothing wrong with you, we're being carefully programmed to reason just like this; to mistrust and compete with everyone but our fabulous authorities. Cut down on the mainstream media and social networking if you want the power over your mind back.

andreasgonewild··on A polyglot's guide to multiple dispatch (2016)
That's not what multiple dispatch used to mean, it used to be about dispatching on multiple arguments. Like I said, it doesn't cover all bases; but when it works it beats over-engineered bullshit like this.
andreasgonewild··on Best practices for naming things in your code
The only useful heuristic I've come across for naming things is huffman-coding by frequency and locality. Things that are used more often get shorter names, and the more public a name is the more space it's allowed to take. I kind of, sort of have Perl to thank for that insight; as weird as that may sound. In the end it's about finding the right balance for any piece of code, which depends on everything and requires experience.
andreasgonewild··on A polyglot's guide to multiple dispatch (2016)
Multiple dispatch is trivial in C++ using overloaded functions, the compiler will select the most specialized version for the supplied parameters without any visitor tricks. The "problem" is that it doesn't play well with polymorphism since it can't trigger specialized overloads for base class pointers/references, I think the real problem is polymorphism.
andreasgonewild··on Ask HN: Are ORMs overkill for using SQL databases?
I would go one step further and claim that SQL-databases are overkill for most purposes. Relational logic is very useful, as is transacted storage and indexing; but the SQL-standard is clearly overkill in many cases.

An ORM is a simplification; it offers a single, convenient, but ultimately limiting perspective with most complexity swept under the rug. Anyone who's actually tried migrating between different databases or spent a week or so chasing down nasty coherency/performance-problems in their chosen framework knows what I'm talking about.

A more constructive approach that's rarely taken is providing storage/indexing as first class abstractions within the language to build your storage logic on top of.

Embedding raw SQL in a piece of software makes it much harder to reason about and maintain. Since storage/indexing are often fundamental, they deserve a more sophisticated interface than simply passing written notes back and forth on cocktail napkins.

Lately, I've been implementing my own, special purpose storage/indexing (https://github.com/andreas-gone-wild/snackis/tree/master/src...) to cut down on the complexity and get a tighter fit with the application.

andreasgonewild··on A Hacker Turned an Amazon Echo into a 'Wiretap'
No shit. Hackers who didn't see that one coming would be wise to consider alternative hobbies.
andreasgonewild··on “Ping” – A Social Network That Keeps You Safe Is RELEASED
I'm not looking for someone to keep me safe anymore, I figured out that what I really need is the power to keep myself as safe as I feel like. Which is why I wrote Snackis:

https://github.com/andreas-gone-wild/snackis

andreasgonewild··on Ask HN: What made you fall in love with programming again?
I got burnt writing brain-dead code for awesome profits in startups, these days I write awesome code for free instead. Profit corrupts, it's a shame it's so damn difficult to find a sustainable middle road in this world.

https://github.com/andreas-gone-wild/snackis

andreasgonewild··on Message encryption a 'problem' – UK home secretary
It's only a problem if you insist on knowing everything, leave people alone to mind their own business and the problem magically disappears. We all know who the "real" terrorists are.

https://github.com/andreas-gone-wild/snackis

andreasgonewild··on How I doubled the speed of my game by giving up on C++
Languages are tool-boxes, the whole point of the exercise is to use the best tools for the job. People who tell you otherwise, who insist on this language being written exactly like that; may be safely ignored. I would guess that my C++ style breaks most rules in most books by now, the thing to realize is that there are no rules.
andreasgonewild··on Ask HN: What are you working on right now?
An effective tool for most secure communication needs using any regular email-account as transport. Calling it a job is overdoing it, but it's the only thing I have patience for right now and it needs to be done. I have no idea if anyone out there even got it running yet, it's been very quiet so far; but that's ok, timing is everything and the universe moves in unpredictable ways. I'm already using it on a daily basis with friends and family, so at least that's one less itch.

https://github.com/andreas-gone-wild/snackis

andreasgonewild··on Show HN: Snackis – post-modern communication
I prefer my backgrounds muted, but a simple search and replace in gui.css is all it takes to change the color. What's not post-modern about a distributed, encrypted social network built on plain old email? I have nothing to sell, I'm just sharing.
andreasgonewild··on You Can’t Dig Upwards (Why You Should Learn C)
Credit where credit is due; PG never said anything bad about C, quite the opposite. It may be at the bottom of the abstraction pyramid, but it's right up there with Lisp in the power pyramid. They choose different ways to get there, which makes them orthogonal; knowing both means you'll find your way around most languages/problems.
← PreviousPage 4 of 8Next →