Introducing Fresco: a new image library for Android - <AUTHOR> https://code.facebook.com/posts/366199913563917/introducing-fresco-a-new-image-library-for-android/ <comment><USER2> I wrote a painting app with layer support a while ago for Android that had to use similar tricks (the app is coincidentally called Fresco: [https://play.google.com/store/apps/details?id=org.seanw.fres...](https://play.google.com/store/apps/details?id=org.seanw.fresco.lite)).

Each image layer (like you would have in GIMP or Photoshop) takes a couple of MB to store in Java and given the roughly 16MB Java app memory limit you didn't have much memory left to play with after creating 5 layers. I found that apps that used C and the NDK had no such limit; you could allocate huge amounts of memory compared to Java without any issues.

To take advantage of this, I wrote code that would let me allocate C memory, copy a Java bitmap into it then free the Java memory. To make all the app features work without crashes due to Java hitting the memory limit, I would shuffle bitmap memory between Java and C as needed, while having to implement several algorithms in C that I would rather have done in Java. For example, the undo/redo feature needed to store bitmaps of what changed when edits were made so this was mostly kept in C. One tricky issue was I couldn't find a way to get the Java APIs to render image data that was stored in memory used by C; you had to copy the data back into Java first.

I found the above frustrating in that if you're writing an image manipulation app, it means there is a massive incentive to avoid the native Java UI libraries and write your app entirely in C as you don't have the same memory limitations for some reason.

<comment><USER3> "you could allocate huge amounts of memory compared to Java without any issues". No sir. It still comes under the process memory account. It works in practice because coincidentally other processes were not using that memory.

<comment><USER2> Well, I meant that if you hit the Java memory limit your app was guaranteed to crash but C allowed you to use an order of magnitude more memory without noticeable consequences when your app was in the foreground. Your app was probably more likely to be closed when it went in the background but that wasn't an issue.

</comment></comment></comment><comment><USER4> The mandatory link to Facebook's stance on patents that make their "open source" a no-go for many:

[https://github.com/facebook/fresco/blob/master/PATENTS](https://github.com/facebook/fresco/blob/master/PATENTS)

<comment><USER5> so what's the layman description of this? Don't sue us and we won't sue you? That seems like a pretty good way of applying MAD to the patent space

<comment><USER6> It goes a step beyond and says not to even think about challenging one of their patents. So if facebook patents something stupid, and you call bullshit, you can't use their software.

</comment></comment></comment><comment><USER7> I'm an engineer on the project. Would be happy to take questions.

<comment><USER3> Hey. Quote,

"Our breakthrough came when we realized we didn't have to do that. If we called lockPixels without a matching unlockPixels, we created an image that lived safely off the Java heap and yet never slowed down the UI thread. A few lines of C++ code, and we were home free."

That doesn't sound complete. It's off the Java heap, true but doesn't mean it's either safe or won't slow down the UI or is even home free. Allocation in ashmem will still count towards the PSS[1] of the app. The image data won't be unpinned right until it throws an OutofMemory exception. And if you have handled the exception, the UI thread will wait around for the unpin/unlock of data. This would be ok if you could make an educated guess of how much ashmem can be allocated to your app. You can't make that guess easily as it depends a lot on OEM implementation of Gralloc/HWComposer and the GPU. But since you are Facebook, :), you can probably test this on all device/gpu variants. And when you do please publish the results. And while you are doing that, please test this too: [http://developer.android.com/reference/android/os/MemoryFile...](http://developer.android.com/reference/android/os/MemoryFile.html)

[1][https://developer.android.com/tools/debugging/debugging- memo...](https://developer.android.com/tools/debugging/debugging- memory.html#ViewingAllocations)

Thoughts?

Edit: Incorrect link

<comment><USER8> As someone who has written a lot of code (including driver level) in the DirectX realm, that line (about not unlocking surfaces) gave me a minor aneurysm though I admittedly do not know enough about the Android ashmem internals to know if the reaction is actually warranted or not on the Android platform.

<comment><USER3> Well allocating on ashmen does reduce the UI lag since its just a memory pool and espaces GC reprimand but it's definitely not safe. Such operations are better handled at Gralloc/HWComposer Layer where you have a better handle on what's going on. Someone's gotta unlock that surface!

</comment></comment></comment></comment><comment><AUTHOR> Better: [https://github.com/facebook/fresco](https://github.com/facebook/fresco) [http://frescolib.org/](http://frescolib.org/)

<comment> TD-Linux ... and the good ol' Facebook PATENTS file.

</comment></comment><comment><USER9> I wonder if this work has any link to what Carmack and the Oculus Rift crew are doing with Android?</comment>


CareerPal.co - <AUTHOR>

http://www.careerpal.co
Hi folks, I launched this after my own frustration in finding a job. My team and I want to make it easier for job seekers and students to network with company employees and get resume or interview help from people who've already walked the walk.
I'd love to hear your feedback on the concept, design or anything.
Thank you CareerPal Team <comment><USER2> This is a pretty small thing, but you should really be using SSL ("[https://..."](https://..."))

There's just no reason to use unencrypted connections anymore. The cost of a SSL cert is minimal, the installation isn't difficult, and it's a big benefit down the road, because the HTTPS version will be canonical to search engines.

<comment><AUTHOR> Thank you, that's a great point!</comment></comment>


Show HN: Stateful Serverless Apps Using FaunaDB with Next.js on ZEIT - <AUTHOR> https://zeit.co/guides/deploying-nextjs-nodejs-and-faunadb-with-zeit-now <comment><USER2> I'm Dan (from Fauna), a co-author of this guide. If you've got any further questions or feedback, you can ask me here!</comment>


Radical Honesty: I Think You're Fat (2007) - <AUTHOR> http://www.esquire.com/features/honesty0707

<comment><USER2> I can say, w\o hyperbole, that radical honesty ruined my life. Do not, I repeat do not believe that people are generally good, want to help you, will appreciate your honesty.

Now, I didn't do anything stupid like telling my boss that I'd like to sleep with his daughter, but, when he asked me where I saw myself in 5 years I did say that I wanted to start my own business.

Our relationship went from great to icy.

Over the next seven months my work life became a living hell. I went from "valued team contributor" to "does not function as part of the unit." My dedication was called into question and eventually I was told that the company had changed and that I was no longer useful.

I wasn't fired, but, I was left alone in my office, no new tasks were assigned, my medical condition was not accommodated, etc.

I eventually left my position, lost my gf because of it, ruined my credit after I couldn't find a new job, and have been unable to get loans to return to school (after leaving to help out my former employer.)

I often wonder what my life would be like if I had just said: "In five years I see myself working for you with only a slight raise!"

Don't try this at home.

<comment><USER3> To play devil's advocate, I would say that perhaps the benefits of being radically honest haven't been made apparent to you yet.

I don't know anything about you but let's have a little thought experiment here:

Sure it has seemingly destroyed your life in the short term, but I would argue that having a less kitschy life might be good for you.

Let's take your situation claim by claim. By being open and honest with your boss, you indirectly put an end to your career. But had you lied and remained there, would you have always been happy? Surely your dreams were to start your own business.

Now your gf. Again, I don't know anything about your relationship. But if your gf left due to financial reasons, wasn't it better to learn that lesson sooner rather than later?

Your credit. With the same disclaimers as above, perhaps having your credit destroyed was a forceful way of telling you to refocus your priorities in life. no?

You can always wonder what your life might have been like if you made a different decision. I do that all the time. But I'd like to think that honesty opens doors, not closes them. You might disagree with everything I just wrote, but I would like to see your response a year (or 5) from now how your life has changed.

<comment><USER4> Over and over people here on HN tell each other the same old advice: "Execution is everything."

By being radically honest with your boss, you executed a career change poorly. Nothing else needs to be said. We could speculate that had he executed his career aspirations better, he would've ended up founding his own businessa, on his own terms, with his former boss on board as a character reference or angel investor.

Likewise, the girlfriend might not have left for a financial reason: It might have been a combination of money and his medical condition going un-addressed.

Having your credit destroyed makes it _harder_ , not easier to start your own business. "Focusing on your priorities" doesn't mean shit. Realistically $10k in debt, or poor credit, sets you back 7 years compared to most of your peers. "Get used to living on less -- like always within your meager means" might be a better mantra.

Also, he might've also been a dreamer with no intention of working for himself. In my approximation, that's 80% of the people here on HN. To them, the grass is greener, but they won't ever dare try climbing the fence.

</comment></comment></comment><comment><USER5> I think in some sense that Blanton is advocating an intellectually lazy kind of radical honesty. It's not communicating to excrete whatever verbalizations come to mind because there is no one thing on your mind. You are forced to censor, or at least edit, what you say, by the limitations of the channel.

The real value, I think, in honesty, is that it brings one's thoughts out in the open to work with, instead of sapping one's energy and directing it towards the construction of some facade.

<comment><USER6> Radical honesty isn't a presently effective means of communication. It's an attempt to reform the channel and move towards a new protocol. Radical honesty guarantees being misunderstood in the short run, because if you say something more honest than expected, you're communicating -- according to the prevailing protocol -- "I'm desperate" or "Fuck you" or both or something worse. You have to accept the cost of the miscommunication you cause by speaking your own niche language to people who only speak the prevailing language (and probably speak it more fluently than you do, simply because they specialize.)

Frankly, I don't see the point. Most people _are_ pretty honest already, if you understand the language they speak. White lies are designed to be transparent; people who expect them to deceive don't get it, and people who are deceived by white lies deceive themselves. "You're not fat" can mean so many things depending on how you say it:

1\. You're not fat.

2\. You're worried about being fat? Really?

3\. Why are you asking that when we're all twenty pounds heavier than you? What kind of bitch are you? Fish for your compliments somewhere else.

4\. You're fat, but I don't want to hear about your problems.

5\. A better question is, are you hot? And the answer is yes.

Et cetera. There's no point in being dissatisfied with the channel and the protocol because you can actually communicate whatever you want on it. I'd rather just get better at speaking and understanding the language that everybody else speaks. The only problem is that sometimes honesty is unexpected, and the protocol is not optimized for unexpected honesty. If you want to say something completely honest, you might have to spend some time setting it up to avoid it being interpereted as "Fuck you."

<comment><USER7> I think that part of the success of "Radical Honesty" is not directly about honesty, but about taking risks. So many people live a bland life because they cannot fathom "making waves". This is normal. However, "Radical Honesty" forces us to break these laws. I think life is meant for excitement, and this is one way of achieving it. (As Tim Ferriss and others have pointed out) Happiness and Sadness are two sides of the same coin. Its boredom that makes life miserable.

<comment><USER4> Yeah. When you've realized the phrase "shit settles on the bottom of the pool" sticks in your mind, alongside the phrase "my co-workers are settling" then you're on the path to misery.

</comment></comment></comment></comment><comment><USER8> AJ Jacobs writes really cool 'project' pieces: he dedicates himself to an idea and writes articles and books about it. I loved "A year of living biblically" and am hoping to read "Know it all" sometime soon.

</comment><comment><USER9> Print Link -- One page, mostly text: <http://www.esquire.com/print- this/honesty0707>

</comment><comment><AUTHOR> Funny video about this guy's attempt to run for congress.

<http://www.youtube.com/watch?v=Gx-OVdTkwvA>

<comment><USER10> I've often wished that our cultural values would reverse when it comes to gaffes and skeletons in the closet: that we would _only_ trust politicians who are insultingly blunt and who wear their failings on their sleeves. Any candidate who looks too squeaky-clean would be laughed out of the room as obviously trying to deceive and manipulate us.

I can dream, right?

</comment></comment><comment><USER11> I hope someone else can remember this, but wasn't there a link around here recently (possibly elsewhere) about how it was speculated that the ability to lie was thought to distinguish us from other animals? That is, lying is a concept associated with intelligence?

Of course, I could be wrong, and am merely trying to make a point without standing behind it, so that I can avoid the humiliation of being called out on it.

<comment><USER12> Dogs and cats can and do lie, by trying to cover up things they've done (literally, usually), and by trying to direct your attention away from where it's covered up.

<comment><USER13> How do you define lying, though? Does the animal have intent to deceive, or does he just have a cause/effect memory that makes it behave in ways we anthropomorphize as lying?

I've seen some dogs do some pretty clever things, and I think they have more brains than most people give them credit for, but I don't think they intentionally deceive.

<comment><USER12> If you're asking if I think the dog is _consciously_ lying, then no, because that presupposes consciousness (that is, that the dog is a person). Do I believe that the dog is engaging in the same behavior that in a person we would call "lying"? Yup. Intent only matters if there's someone to do the intending. Deception, however, is an activity that needs no intention -- it evolved before consciousness.

<comment><USER13> If it doesn't require intent, would you consider Batesian mimicry (<http://en.wikipedia.org/wiki/Batesian_mimicry> ) "lying"? Or does it have to be in the form of behaviour to be a lie?

(I'm not trying to argue a point here, just being curious. I'm not sure how I'd answer these myself, but I find this interesting to think about. Thanks for making me think :) )

<comment><USER12> I dunno. I'm not sure there's a bright line between Batesian mimicry and behavioral lying, but I haven't thought about it much.

</comment></comment></comment></comment></comment></comment><comment><USER14> My hunch is that this is a charismatic (evidence: he's fucked 500 women) guy telling everybody "be more like me." That reminds me of somebody I used to work for who would say things to people that would have gotten me fired or beaten up in the parking lot, but he got away with it because he was charming.

So what happens when somebody with average or sub-average charisma tries it?

<comment><USER4> You get fired. And beaten up in the parking lot.

The real trick is to be more charismatic. Charisma can be learned. Your image can be polished. Its a question of time, drive, and priorities. Every "I've fucked 500 women, be more like me" guy on the planet states that their skills are teachable.

So learn the skills. The smarmy, stuck-up, get-away-with-the-most- inconsiderate-things part is just something that you learn you can get away with AFTER you've learned to be charismatic.

</comment></comment><comment><USER15> I don't think so. I view people around me as animals, a part of natural environment (like trees, rocks, water).

I am dedicated to _always_ play a role. Just like I wouldn't go and jump from a bridge to defy gravity I wouldn't say "God doesn't exist" to my mother, who is a fundamental Christian. I am not particularly scared of consequences of saying "fuck you, pig" to a policeman but I'm also not scared of banging my head against the wall. Yet, I don't see any particular reason why I should bang my head against the wall.

I like PG's essay "Things you can't say" since it describes me so perfectly. Inside my mind anything is allowed, even the most perverse and horrible fantasies -- ANYTHING. Yet, not much of this goes outside :)

</comment><comment><USER16> "when he [your boss] asked me where I saw myself in 5 years I did say that I wanted to start my own business... Our relationship went from great to icy."

hmm... if you're in Silicon Valley, it's assumed that everyone wants to start his/her own business.</comment>


Browser as an Interactive Disassembler (2015) - <AUTHOR> http://mrale.ph/blog/2015/03/29/browser-as-an-interactive-disassembler.html <comment><USER2> _The code produced by a compiler is usually well-behaved: it uses well-defined calling conventions, keeps the stack balanced, does not self-modify at all or limits self-modification to certain sites._

Incidentally, this is one of the ways in which you can distinguish between compiler output and human-written Asm... and likewise, why compilers just "aren't quite there" in terms of "extreme" optimisation. Calling conventions are pretty much the first thing to go; it's common to have functions that return as many values as there are registers, use a per-function combination of registers for arguments/return values, or access its _caller_ 's "local variables" directly --- all of which compilers would find very difficult to produce via optimisation even if it could be expressed in the higher-level language.

<comment><USER3> Wouldn't the compiler achieve hat by inlining?

<comment><USER4> You want the advantages of multiple returns without the disadvantage of copying the code in multiple places.

</comment></comment></comment><comment><USER5> TLDR; Compilers break a for loop into three distinct loop portions -- a main loop where special invariants are satisfied (and thus less checks are required), and pre/post loops with additional bounds checks.</comment>


Taylor Swift Shuns 'Grand Experiment' of Streaming Music - <AUTHOR> http://www.rollingstone.com/music/news/taylor-swift-shuns-grand-experiment-of-streaming-music-20141106 <comment><USER2> I'm not sure what one artist's action will do to close Pandora's box. While I love streaming services, I know they pay next to nothing to artists especially small indie ones.</comment>


Show HN: One Degree - Find a Photographer - <AUTHOR> https://itunes.apple.com/ca/app/one-degree/id859592137?mt=8

<comment><USER2> Nice App. I wanted to do something similar in another vertical. Can you sell/share source code?

<comment><AUTHOR> How do I contact you? Nothing in your profile. Is this Kari or Richard? PM me. My info is in my profile. Cheers!</comment></comment>


CCC frees German Constitution from Print Media [Google translation] - <AUTHOR> http://translate.google.com/translate?sl=auto&tl=en&js=n&prev=_t&hl=en&ie=UTF-8&eotf=1&u=http%3A%2F%2Fgg.docpatch.org%2F&act=url

<comment><USER2> Short addendum, since this is probably the term from that page that is mangled the most by the automatic translation: The "Basic Law" is in fact the "Grundgesetz", the German constitution.

(Aside note: Some people from outside the law studies often claim that it isn't a "constitution" because the "Grundgesetz" refers to a "constitution" as a different entity, but this opinion is not shared by any reputable law scientist. Functionally, it's the constitution.)

<comment><AUTHOR> Good point. I was hesitant to say "constitution" on the grounds that the official translation is Basic Law. But I'll take your word on it. Changed the title (not that I see this getting any traction here with 0 votes).</comment></comment>


The Mandelwat Set - <AUTHOR> https://medium.com/dailyjs/the-mandelwat-set-c3037204bf83 <comment><USER2> A little more than eight years ago, I came across a nice documentary: "Fractals - The Colors of Inifnity", narrated by Arthur C. Clarke (yes, THE Arthur C. Clarke!), with music provided by Dave Gilmour of Pink Floyd; to top it off, I was tripping on LSD for the first time when I saw it, and I had to rewind at least once to check if something I had seen was actually on the screen or just in my head (to my disappointment at the time, it was actually on the screen).

It's a nice documentary, though. Highly recommend it. They even have an interview with Benoit Mandelbrot himself, may he rest in peace.

Two years after that, I wrote my first Mandelbrot-renderer. First in Python, but that was waaaay too slow, then in C, which was a lot faster (duh!), and then I made it even faster by telling the compiler to use SSE. (To some, that sounds trivial, but it was something I had never done before.)

I have always suspected that it is like a rite of passage, building at least one simple-minded Mandelbrot renderer. I rewrote mine after two more years to take advantage of multiple threads and wrote another one to render the Buddhabrot[1]. Then I remembered an article I had read years before, about the Parallel Virtual Machine, PVM. So, the next weekend, I turned my Mandelbrot renderer into a distributed application.

So Kudos to the author. Tackling the Mandelbrot set has the dual advantage of being interesting _and_ you can make pretty pictures along the way. It is great fun, and I learned a few things along the way. What more could I ask for?

[1] [https://en.wikipedia.org/wiki/Buddhabrot](https://en.wikipedia.org/wiki/Buddhabrot)

<comment><USER3> I wrote my first Mandelbrot renderer around 1990. I've been a graphics programmer for almost 30 years, and it still absolutely blows my mind. I understand the math, but I still watch ultra-mega-zooms on YouTube and marvel that such an object exists.

<comment><USER4> My high school science fair project in 1989 was the Mandelbrot set, and I was using my Amiga to generate them, then some funky dot-matrix printer voodoo to get even grayscaling for the prints. I barely made the cutoff time, even though I'd spent weeks working on the project, because each possible render took at least a day, and my code had a lot of hiccups. (IIRC, everything was written in Modula-2. I need to see if I can find those old disks somewhere.)

It's funny that of all the things I'm 'jealous' of in modern tech, the thing that still blows me away is just how fast I can generate/zoom around fractal sets, just for the hell of it, on my phone. This much computing power in the palm of one's hand was inconceivable to me at the time!

<comment><USER5> One of my most enjoyable projects was writing a Mandelbrot generator for the Gameboy. It was so slow that if you wanted to fill the very low res screen you'd be the better part through your battery life. Great fun though.

</comment></comment></comment></comment><comment><USER6> This brings back memories of my being in high school; I'd get there in the morning, run over to our Computer Programming classroom, and load a floppy into the one Apple IIe that was connected to a color TV.

I load and run a Applesoft BASIC program that plotted the Mandelbrot set - oh...so...slowly. It's one saving grace was that it used a special ML program (something I found in Byte magazine or somewhere) which - on a machine equipped with an 80 column card (and the extra memory it afforded) would enable a high-resolution mode with access to all 16 colors.

So I'd run it - and let it plot...

By the time lunchtime came around, it would be finished, and it saved the image to the floppy. I'd then manually pick some new coordinates, and run it again to "zoom" in to an interesting area.

My last period was in that class (it was an elective, and one year I took it twice per day just to pass the time and gain an easy "A") - and by that time the new plot would be done and saved.

The next day I'd repeat it again. After about four iterations, though, it would be running too slow to finish a plot in time. So - I'd start again, and zoom in somewhere else. The teacher enjoyed it, and the other students liked seeing the pretty pictures.

Nobody really understood the math, though.

<comment><USER7> what does ML stand for here?

<comment><USER8> Presumably "Machine Language" which is what we called Assembly, back when the translation between what you wrote and what the CPU actually did was pretty transparent.

<comment><USER7> huh, i've always seen it as "machine code" or "assembly language"; "machine language" is new to me.

</comment></comment></comment></comment><comment><USER9> This style of writing that has a flavor of "omg I'm so random xD" and "I'm not sure why this works but it does lol" is always irritating.

<comment><USER10> 100% agree: "Sets wtf is a set

        I'm not really going to get into set theory because I don't know anything about it tbqh, but maybe it's worth a mention? Wonder what would be a really good succinct but not wrong explanation of set theory…"

"Sets wtf is a set", I don't know Bob, what is grammar, and why doesn't your article have any? "lol, sets? one of the fundamental sections of mathematics? Wut r those lel? who cares I do js, fuck learning about what's going on when you're here to write a trite, subpar blog post on the subject".

"...but maybe it's worth a mention?" I don't know, is literally one of the fundamental parts of the underlying mathematics important? "...Wonder what would be a really good succinct but not wrong explanation of set theory…" Here's an idea, take literally 3 seconds, or the minimal amount of effort you have and search 'introduction to set theory'. I can almost guarantee that there is a plethora of fantastic resources out there. Hell, Wikipedia is often more than adequate for mathematics topics. Also, unless you're a James Joyce tier writer, this stream of consciousness style writing is exceedingly poor form and should be avoided. It adds nothing and really only serves to tell the reader how little you know.

<comment><USER11> Maybe this is how kids talk these days. There is going to be some Millenial who is a math genius an order of magnitude beyond Terry Tao, and what if they talk like this? Such things are going to happen. I find it amusing.

<comment><USER12> This is not how kids talk these days. Source: I have a kid.

<comment><USER13> It seems to be how 20something frontend developers talk though (source: work with a few of them and saw their talk slides).

</comment></comment></comment></comment></comment><comment><USER14> A while back I wrote a similar post that focuses more on the math, and how one might discover this organically (well, maybe)

[https://jeremykun.com/2014/05/26/learning-to-love-complex- nu...](https://jeremykun.com/2014/05/26/learning-to-love-complex-numbers/)

<comment><USER15> This is beautiful. Thank you for sharing the link.

<comment><USER14> Oh that's so kind of you! I'm interested to hear what aspect or sections you particularly liked?

</comment></comment></comment><comment><USER16> One of the first programs I ever wrote was a Mandelbrot renderer in GW-BASIC, on an 8086 PC with a CGA card running DOS 3.3. This wasn't in the '80s when this would have made sense, rather this was circa 1994 because this was literally the only computer that was available to me. Nonetheless it was mind- blowing to me.

CGA had a 320x200 4-color mode. My program had a hardcoded bounding box that it would evaluate, and generate a 320x200 rendering of. I had to leave it running overnight for it to run to completion. I would set up the bounding box in the source file, start running the program, then wait until the next day for it to complete. It was awesome. Modern hardware could probably do the same thing in a few milliseconds. I'm sure it being written in GW-BASIC didn't help. :) Still, good times. That was the first thing I ever did that sort of resembled graphics programming.

<comment><USER17> Actually I don't think this is as ridiculous as you might think.

I spent quite a bit of time with a mate of mine over the summer of 1992 writing compression algorithms in GW-BASIC on his dad's 8086 powered PC, equipped with CGA graphics. Another friend had a computer with EGA (gasp!) graphics. Almost no-one had a "decent" (i.e., even remotely current) spec PC back then, and I was on an Amiga 500.

When, just after we'd finished our A-level exams in 1994, first friend's dad upgraded to a 486SX33 with some sort of SVGA card that was capable of running DOOM - and doing so smoothly - minds were duly blown. And that's where that summer went.

</comment></comment><comment><USER18> A bit unrelated, but it's weird that Medium doesn't seem to support embedded code, and instead only seems to work with gists.

It made the mobile experience pretty bad (all I get are links to the gists) and it would definitely "pollute" my gist history with a lot of little code snippets.

On the note of the topic itself, though, this was a fun read for building fractals in JavaScript!

<comment><USER19> It can, but it wouldn't be syntax highlighted: [https://help.medium.com/hc/en- us/articles/224550008-Code-blo...](https://help.medium.com/hc/en- us/articles/224550008-Code-blocks-inline-code)

</comment></comment><comment><USER20> > Hey, I'm a Web Developer™! I should use JavaScript for this because > JavaScript is the best lol!

I understand this is meant as a joke, but I also think that's part of the reason why Node became so big.

<comment><USER21> As a web developer, node feels like a joke that's gotten out of hand and by this point people are just rolling with it.

</comment></comment><comment><USER10> "I thought, "Hey, I'm a Web Developer™! I should use JavaScript for this because JavaScript is the best lol!" "

While that's clearly meant to be somewhat of a joke (from a medium account called dailyjs as well), it's this kind of annoying attitude that has lead to js being forced into lots of other avenues.

Also, is js really even the best tool for this? I feel like you're going to get far better pictures and faster results from language closer to the metal like C/Rust/Java(???).

<comment><USER22> Sure, you'll be able to render faster. But how much time will you spend building a UI? And you still won't have anything to inline in the web page. Part of the appeal of doing this kind of stuff in JS is to be able to share it without requiring people download and install something.

Realistically speaking, any toy fractal renderer like this will be an order of magnitude or two away from a heavily tuned one employing every trick in the book anyway, regardless of language.

<comment><USER23> > _you still won 't have anything to inline in the web page._

How about a good old-fashioned image that doesn't require the viewer have JS enabled?

</comment></comment></comment><comment><USER24> Some very pretty pictures there!

I often write fractal renderers when I'm bored, usually batch rather than interactive ones. My most recent was able to parallel draw using several hundred servers, it was great fun.

Next steps for me after mandelbrot, on my most recent run, were the burning ship fractal, then fractals using floating point (Glynn Trees) and imaginary exponents, then Pickover Biomorphs (which I love to look at) Never quite got my phoenixes working....

And then I got some real work to do !

</comment><comment><USER25> I really enjoyed this video with Dr Holly Krieger of Numberphile. [https://youtu.be/NGMRB4O922I](https://youtu.be/NGMRB4O922I)

There are a few more videos related to PI and The Mandelbrot set, Julia, etc. All nice to watch. [https://youtu.be/d0vY0CKYhPY](https://youtu.be/d0vY0CKYhPY)

</comment><comment><USER26> Does it bother nobody else that the title says mandelwat and not Mandelbrot?

<comment><USER17> It's sort of a JavaScript in-joke. The originaly "Wat?" talk was somewhat entertaining but it's now become ubiquitous enough that I'd probably throttle its progenitor given half a chance.

</comment></comment><comment><USER27> In case anyone's interested in the webgl implementation (with explanation), here's my post on the same topic from a while back: [http://gpfault.net/posts/mandelbrot- webgl.txt.html](http://gpfault.net/posts/mandelbrot-webgl.txt.html)

</comment><comment><USER28> If you want others coloring algorithm check out this one : [https://www.shadertoy.com/view/MttXz8](https://www.shadertoy.com/view/MttXz8) (Mandelbrot Filaments & Lightning on ShaderToy)

</comment><comment><USER29> I remember reading an article from Shawn Hargreaves from the days of XNA (gamedev framework):

[https://blogs.msdn.microsoft.com/shawnhar/2006/12/11/sixty-f...](https://blogs.msdn.microsoft.com/shawnhar/2006/12/11/sixty- fractals-per-second/)

I took the code from that article and combined it with the normalized iteration count algorithm:

[https://en.wikipedia.org/wiki/Mandelbrot_set#Continuous_.28s...](https://en.wikipedia.org/wiki/Mandelbrot_set#Continuous_.28smooth.29_coloring)

Running the result at 60FPS on a huge 1080p TV was a lot of fun!

</comment><comment><USER30> This site has an excellent series of in-depth interviews with Mandelbrot; profiling his early life, his capacity to think mathematically "in pictures", and goal to link seemingly disparate fields such as "social" and "natural" sciences through fractal mathematics.

EDIT: forgot the link godammit [https://www.webofstories.com/play/benoit.mandelbrot/6](https://www.webofstories.com/play/benoit.mandelbrot/6)

</comment><comment><USER31> Some time ago, I made a toy web app that creates fractals like the Julia set via functional iteration:

[http://notmatthancock.github.io/software/func- iter/](http://notmatthancock.github.io/software/func-iter/)

There's more on how it works and so forth if you go to the explanation link.

Edit: it's computationally intensive to create the fractals, so it's not very suitable for mobile (although, there's a progress indicator).

</comment><comment><USER32> Many don't seem to realise that the black circles in the middle of spirals and other smooth curves are due to the iteration count being too low. The spirals don't stop and the only filled shapes in the mandelbrot set look very much like the zoomed out view.

</comment><comment><USER33> This is great! I more or less majored in fractals from being really interested as a kid, so I love seeing people find it and break it down.

As mentioned elsewhere, the Colors of Infinity doc is pretty good, if you've never gone beyond the T-shirts and trippy colors.

</comment><comment><USER34> Am I the only one that was a bit disappointed to find it's a beginner introduction to the Mandelbrot set? The title led me to believe there was some modification or something new =/

</comment><comment><USER35> MandelBrot WebGL2 shader here! [https://github.com/fibo/mandelbrot- webgl2](https://github.com/fibo/mandelbrot-webgl2)

you need Canary.

</comment><comment><USER36> Original author here.

It's a real, real joy to read all these memories about the set, thank you all!

> Although I'm a huge fan of tech writing for beginners, in this case I could > have done with 0.6 as much whimsy.

Can I meet you in the middle somewhere?

No, but seriously, there are what I consider very good reasons to adopt this tone. It's easier to write in a loose conversational style, first of all, and it's much more approachable for a wider variety of readers. But most importantly, to me anyway, is that I want to avoid even the semblance of an authoritative voice derived solely from the tone of the writing. Case in point:

> It's just a way of saying: "Outside the scope of this textbook".

That's exactly right. I'm not going to explain such a huge branch of mathematics with any justice in a short blog post, so I'm not even going to try. The cursory definition of "what you probably think it is" is more than adequate to get to the point, and I want to be clear about what I do and do not actually understand. To me though, "Outside the scope of this post" bespeaks of an author's deep and abiding understanding of the subject, as if he or she doesn't feel it necessary to deign to share that understanding just yet. For me, for this subject, This is not accurate, and I don't want readers to feel like it is.

> only serves to tell the reader how little you know.

This is also exactly right. I don't know much about sets, at all. I could read about them! I'd love to read about them, and I probably will sometime. But I don't know much about them right now. I think it's _more_ important, not less, that I am clear about that. This post is written for someone who doesn't have a strong math background and is only just learning about the Mandelbrot set, in effect, me from a few months ago.

The authoritativeness of the post should come from the provable validity of the contents, not the airs of the author. I had this post vetted by JavaScript ~ninjas~ and a Math phd to avoid putting out bad information, that's much more important to me than proving that I know everything, because I don't.

That said, I want it to be an enjoyable read for anyone, so I'll keep the tonal crits in mind.

> A bit unrelated, but it's weird that Medium doesn't seem to support embedded > code, and instead only seems to work with gists. It made the mobile > experience pretty bad (all I get are links to the gists) and it would > definitely "pollute" my gist history with a lot of little code snippets

I agree.

> Am I the only one that was a bit disappointed to find it's a beginner > introduction to the Mandelbrot set? The title led me to believe there was > some modification or something new =/

I'm sorry; but if I had truly discovered a new fractal set, I probably wouldn't be publishing it on Medium first. :) Mandelwat was just too good a pun.

> Somebody introduce this guy to the Mandlebulb.

The Mandlebulb blows my mind.

> I understand this is meant as a joke, but I also think that's part of the > reason why Node became so big.

I agree.

> I feel like you're going to get far better pictures and faster results from > language closer to the metal like C/Rust/Java(???).

Yes, this is self evidently correct. Did you even open the post? One of the first hyperlinks goes to the widget that I finished the project with, which uses WebGL to render ~60fps interactive zooms up to the limits of 32 bit floats: [http://mandelbrot.jfo.click](http://mandelbrot.jfo.click)

Thank you all for reading, it is really awesome to be able to share something I just learned and am excited about with so many people!!

</comment><comment><USER37> Scrolling down, I was kind of afraid each time a new image scrolled into view that it would be The Parrot.

<comment><USER36> What is "The Parrot"? Like party parrot?

<comment><USER37> Langford's Basilisk: [http://www.infinityplus.co.uk/stories/blit.htm](http://www.infinityplus.co.uk/stories/blit.htm)

<comment><USER36> Wow cool, thanks!

</comment></comment></comment></comment><comment><USER38> Somebody introduce this guy to the Mandlebulb.</comment>


Linux Device Drivers, Third Edition - <AUTHOR> http://lwn.net/Kernel/LDD3/

<comment><USER2> While it's a fine (free) book, this was written in 2005.</comment>


Visual Studio 2015 Update 3 and .NET Core 1.0 Available Now - <AUTHOR> https://blogs.msdn.microsoft.com/visualstudio/2016/06/27/visual-studio-2015-update-3-and-net-core-1-0-available-now/ <comment><USER2> Was hoping to see that vcredist_xxx would install whatever was needed to get the CRT and the newer UCRT in place. That's a nightmare for an application developer because it can require one or more Windows Updates, which have been found to not always install as documented, and even possibly needing a service pack. VS2015 is cool, but unusable for shrinkwrap software because of the new UCRT dependencies.</comment>


Sign up for Blind and talk to employees from different companies - <AUTHOR> https://us.teamblind.com/invite/a5cKYNyj <comment><USER2> It seems interesting, but I don't immediately see why I should sign up. What's the benefit?

</comment><comment><USER3> Blind is a great app that adds a lot of value.

Man I sound like such a shill saying that, but it's just a great way for employees and "the underground" to test people's feelings on sensitive issues that might need to be addressed in the workspace.

Sexual harassment, stupid VP's, abusive bosses, etc.</comment>


To Anyone Who Thinks They're Falling Behind in Life - <AUTHOR> http://www.huffingtonpost.com/jamie-varon/to-anyone-who-thinks-theyre-falling-behind_b_9190758.html <comment><USER2> I wonder how many people will read this article, have a lightbulb go off in their head, feel warm and fuzzy about it all, then wake up tomorrow and do absolutely nothing about it. Probably most.

This article is unfortunately what it epitimizes the most -- a self-help conundrum. Advice given from the perspective of a workaholic. But alas, what tools does it actually provide to take action? Walk away from everything? Should I take up meditation or yoga? Relax by putting and put my mind at ease by playing a videogame or laying on the beach?

What most people won't see is the key line of advice burried in the middle, which I believe the rest of the article counters is: "We have to put in our best efforts and then give ourselves permission to let whatever happens to happen". Putting in our best efforts is what opens doors to adventures and opportunities. Putting in our best efforts is what drives us forward to find passion in what we do.

Sure, we all need to realize that we're not robots with unlimited capacity, but the next step is to stop reading self-articles and start doing things that actually matter, instead of filling our time with arbitrary tasks.

Want to not "fall behind in life"? Don't be a lemming by following other people around trying to find meaning and value in your life. Make meaning and value in your life by being creative, self-reflective, and getting outside your horse-blinders by actively trying to experience life in other people's shoes.

Falling behind in life is a synonym for running the hampster wheel. Get off the damn wheel and do something that scares you even just a little bit today. Then do it again tomorrow.

<comment><USER3> > "We have to put in our best efforts and then give ourselves permission to > let whatever happens to happen"

A friend once shared how surfing illustrates how having a process driven approach vs. a result driven approach is beneficial.

In surfing you start off knowing the basics of how to get on the water, standing up on the board, and riding the wave. You may know the basics, but until you actually go out in the water, you're not going to know about what will happen. The waves may not be the right size to your liking. You could be having an off day and keep falling. Or you may be having a great day on the water. All of this are factors to you actually enjoying surfing.

Instead of focusing on trying to catch a good wave or catching many waves, you can focus on the process that is surfing. This way you can make incremental improvements to how you surf. You'll then see each wave as a new opportunity to gather more experience/data for the next time you try. And you can replace "surfing" with entrepreneurship, science, and many other areas.

With this mindset, you'll be able to let whatever happens to happen. Life is too short to always be chasing after the end goal. From my experience, after you attain the goal, you'll always have another goal in mind. You will never be truly satisfied.

<comment><USER4> This is similar to rock climbing and skiing. The commonality that I see is that they all require taking what comes at you, a random natural environment, and handling it as well as you can. They require an outward focus and quick adaptability to varying conditions, which is not so much the case for other sports like road cycling, running, and anything on an artificial surface.

<comment><USER5> Too bad I'd much rather be skiing than doing any of the very real work I need to be doing.

</comment></comment></comment></comment><comment><USER6> Legally, "permission to be where you are" is a right reserved for the capital class. Even in my home my right to stay only lasts for 60 days and then I am subject to whatever forms of violence are necessary to remove me so that a pre-designated member of the capital class can be where I am.

From here it's miles to a place where I have the right to urinate, and tens of miles to a place where I have a right to sleep, and to my knowledge there is nowhere in my country where I have a right to do subsistence farming, or steward any kind of ancestral resource.

<comment><USER7> Agreed. We are manipulated by the system. Corporations force us to move to bigger cities where rent is more expensive, living space is smaller and quality of life is lower.

Humans are farmed like poultry - City humans are caged chickens, suburban humans are the "free range" variety.

Corporations want to see more humans per square feet because that's more profitable for them. The energy savings we contribute to by living in big cities ultimately end up in the hands of corporate executives and shareholders as cash.

<comment><USER8> It strikes me as curious as to how you've taken his complaints, which seem largely based on government-imposed restrictions, and subverted the point to be anti-capitalist.

That said, how do corporations force you to live in cities? How do corporations then profit from you living in a city? How does either city or suburban living map to whether you are a member of the capital class or not.

</comment></comment></comment><comment><USER9> Excellent. In German there is a word for this trust in yourself and that things are happening when they are happening: "Gottvertrauen" (literally: "trust in god", although often used in a non-religious context)

<comment><USER10> Germans have a word for everything. :)

<comment><USER11> Yeah, more like Awordforeverything

<comment><USER12> You mean avordfuereveryzhing

</comment></comment></comment></comment><comment><USER13> This can be summarized with the serenity prayer:

Grant me the serenity to accept the things I cannot change,

Courage to change the things I can,

And wisdom to know the difference.

The author is a curious case of 'got the right idea, haven't internalized it fully'.

She seems to be coming from a place of trying to convince herself that she doesn't need to try so hard, etc.

Maybe it's frustration with the world she finds herself in, where everyone has a 'bunsen burner up their ass' as a buddy of mine put it :)

Good article overall though, I'm glad to see this on HN :)

</comment><comment><USER14> And another thing: most of us will be medicore, and it's probably better to be ok with it :)

maybe being happy, not successful is all it takes

<comment><USER15> This is a good point, but a very tough one for most people on this forum to swallow.

I think it's good to give everything your best effort, to strive for greatness, and constantly check yourself to make sure you're giving it your all.

But then, if you don't succeed, find peace in life's way. Be okay with yourself, your progress, and your place in life. When you step back and realize how truly random everything is, then just knowing that you played your cards to the best of your ability, should bring happiness and a sense of peace.

<comment><USER16> _There is nothing noble in being superior to your fellow man; true nobility is being superior to your former self._

Hemingway

<comment><USER17> I guess the realization, after his hey days, that his current self was markedly inferior to his former self, precipitated his suicide.

</comment></comment></comment></comment><comment><USER18> An article from an LA-based author telling you to "just chill"? You don't say...

It's best to be honest with yourself and come to terms with where you are in life and where you want to be. After that, unless you put action into your belief, you will be sad. Even if you fail, but put action into the belief, you'll be happy and have grown.

This article has utility for over-achievers who need to learn patience, but anyone else (especially anyone who struggles with motivation) should ignore it. It aims to make you feel good "you're doing the best you can" and has cute, but vapid lines like "let timing do what it needs to do" or "it's just not the fucking time if it's not the time."

If you need help with motivation, you probably don't need to be told you're already doing a great job and should just succumb to some external force of "timing". This is probably the thought that's actually holding you back. If you feel like you work hard and are never satisfied, it's true that you should just chill. The strongest people in my opinion are the ones who are able to keep a calm & humble mind while steadfastly pursuing their goals.

<comment><USER19> > Even if you fail, but put action into the belief, you'll be happy and have > grown.

Can we please admit that it is terrifying to be an economic failure?

If you try and fail, have police at your door because you can't pay rent, spouse leaves you, children are ashamed of you. You are going to feel intense anguish and shame.

</comment></comment><comment><USER20> This article doesn't cover the cost of making horrible mistakes. A series of them actually... over a couple of decades.

This article was more for the rats stuck in the "affluenza" maze, not the chronically depressed or others struggling with more fundamental issues than 'keeping up with the Joneses'

Yeah, I learned a whole lot about my blind spots (in being taken advantage of, ignoring issues, actively avoiding them...) and processed some really deep seated issues, but the cost right now still seems a bit too high. It is a bit disheartening. In another decade or 2, it certainly won't matter, but in terms of "falling behind", I am at the extreme of the bell curve, I'm afraid. But maybe that was my overall path, extreme self-knowledge... At least I am an exceptional special snowflake!

"The Wisdom of Insecurity" by Alan Watts is recommended reading if this article affected you in some way.

<comment><USER12> I can certainly relate. Good luck to us both then.

</comment></comment><comment><USER21> Wow, this article sounds like the perfect invite to not work too hard in life and just cruise by. Thanks! Thats just what more American's need, a reason not to work!

And yes, I read the comments here about working hard, then letting the chips fall where they may. But that was not the message of the article. It was just one line smashed between a bunch of crap about accepting where you are in life. WTF is this junk?

If your life sucks, make it better. No one will do it for you. Period.

<comment><USER22> People who don't want to work don't really need a reason not to work.

</comment></comment><comment><USER23> My own attempt to understand the complex relationship between will-power and "happiness" is laid out in this article which I wrote a while ago (2007): [http://thinkinghard.com/consciousness/advice.html](http://thinkinghard.com/consciousness/advice.html).

</comment><comment><USER24> This is a horrible article.

It seems to be emphasizing an external locus of control. Which is unuseful. Sometimes things won't turn out the way you want. But you still have to put the effort and time in.

The way she's writing she seems to dismiss effort and time as useless.

<comment><USER25> That was a horrible comment :)

The author is clearly saying " _We have to put in our best efforts_ and then give ourselves permission to let whatever happens to happen". And then that _after we 've put in our best effort_, we must accept that some things are out of our control and impossible to accurately predict: things like _timing!_

She doesn't dismiss effort or time: she just says that you can't rely on them to produce predictable results at specific times. You will work hard, and you will succeed most of the times you work hard at something. But probably not when you predicted you will succeed. And maybe not always at the thing that you initially wanted to succeed at. And accepting lack of control doesn't mean loosing motivation. Even her points about motivation I read them as saying something along the lines of: "don't try to pump up yourself with artificial willpower and motivation, just persist at working in your natural rhythm, and things will work out fine, even if you can't control _when_ they will work out fine".

It's very biased towards the "accept the lack of control" part, indeed. But _the bias is necessary_ to counterbalance the pov of people like you that keep throwing up the "work harder, work more" (or "just put more time, more effort") mantra to everyone they meet! This kind of advice is useful for some people. But _horrible_ for others! Some need more to find a "a natural rhythm" and "let things happen", and unfortunately you rarely see this advice. Others may indeed call what I would say it's "my natural rhythm", something like "extremely hard work and perseverence", and maybe these kinds of people need _your kind of advice._

...and there are also those that are simply "born to be lazy", and throwing the "work harder, work more" thing at them will only viciously turn them against whoever yelled that at them, transforming them from harmless slackers into people that will instead steal or kill or be corrupt and spread corruption, or otherwise sabotage the system just for the "fun" (read "revenge for being bothered") of making others suffer simply because some self- righteuous know-it-alls couldn't simply "let them be".

<comment><USER24> The article doesn't even mention personal responsibility until roughly halfway through it.

And you comment about "born to be lazy" holds no water. If you want to be lazy, you have to accept that you won't have opportunities non-lazy people will have.

If you're "born to be lazy", that's fine unless you want to be somewhere that non-lazy people are. If you're sitting on your butt cause the inspiration for your novel hasn't come along because it isn't time yet, you're not working hard enough.

<comment><USER25> > If you're sitting on your butt cause the inspiration for your novel hasn't > come along because it isn't time yet

I'm not a writer, but I assume that a writer can simply go on with his life, doing other useful things, and postpone writing that novel until true/natural inspiration comes to him/her. I've read enough crappy writings imbibed with the stench of "synthetic/forced-through-work inspiration" that the only advice I could give to writers is: wait until you have something to truly write about, and wait until you actually get the right perspective of things, and the "inspiration", and _only then_ go and work hard to inflict your literary masterpiece upon the world.

The world is full of "forced art", "forced architecture" and "forced industrial design" made through "working hard enough" instead of actually exploring around until you bump into a "good perspective".

And about:

> If you want to be lazy, you have to accept that you won't have opportunities > non-lazy people will have

In the real world things don't work like this at all. Maybe all I want is to sit around in my hut in the rainforest... maybe I'm even content and at peace with the fact the only one of my two children is statistically likely to reach adulthood because malaria or whatever... and being ok with this I just do the bare minimum hunting and enjoy living in nature... until some "hard workers" show up with chainsaws or mining equipment. I'm not a lazy person, but I sympathize with the people that just want to "live their life in their own natural rhythm", but end up being forced out of it by some who worked hard enough to buy the property of the land underneath them, or worked hard enough to make the money to fully "buy off" the government of their peaceful tropical country and then start exploiting it.

As an engineer I _love_ hard work. But when it comes to art or politics I think we need _less_ of it. Less bad art and literature. Less dehumanizing enterprises.

<comment><USER24> I think you're inferring something different from what I'm saying.

If you're a writer and you're not inspired to write, you're not going to write your magnum opus. However, you still have to write something or another - spend 3 hours writing uninspired writing just to practice your skills. If you're a musician and you're not inspired to compose, you'll still have to practice your scales and do little throwaway compositions to get better at it. Thinking that inspiration can flourish when you don't have practice with structure, realistic dialog is unrealistic. In fact, the more you force yourself to write the more easily you can recognize when real inspiration comes along, and the more you won't waste it.

As for your second example, we're seeing it all over the place in San Francico right now. A lot of people didn't optimize their financial situation, working as artists or painters and social workers, and now are being forced out by people who did optimize their financial situation, the programmers. Is that right? That is personal opinion, but the fact of the matter is had you been prepared with more money from savings or a more lucrative job or a cheap home somewhere else that you bought, you have options that you currently don't have.

</comment></comment></comment></comment></comment><comment> vhost- This article keeps opening the iOS App Store. It's frustrating and I don't know how to stop it.

<comment><USER26> Try installing an adblocking content blocker.

</comment></comment><comment> r-w _Transcendentalism!_</comment>


JGrowl - jQuery plug-in to create pop-up notifications like OS X's Growl Framework - <AUTHOR> http://www.dreamcss.com/2009/05/jgrowl-jquery-plug-in-to-create-pop-up.html

<comment><USER2> jGrowl is surprisingly robust and well crafted. I've used it for a while. Though... its been out a while, too.

<comment><USER3> Not sure why anyone would want to replicate growl.

<comment><USER4> What do you mean? Growl is not good? Why?</comment></comment></comment>


Is it worth paying 5$/month for the ad-free social network App.net? I think yes. - <AUTHOR> http://digitalsirocco.tumblr.com/post/42601800495/app-net-zahlen-sich-3-70-euro-monat-fuer-das-werbefreie

<comment><USER2> Is it spam free?

<comment><AUTHOR> since you choose the accounts you follow: yes and no :) I didn´t notice any @reply-spam by now. Main problem is, that a lot of users are crossposting from Twitter, so you hardly find exclusive content.</comment></comment>


Venezuela Breaks Bitcoin Trading Records with 500M Bolivars per Week - <AUTHOR> https://247cryptonews.com/venezuela-breaks-bitcoin-trading-records-with-500000000-bolivars-per-week/ <comment><USER2> I was having a conversation yesterday with someone from Venezuela.

The new Soverign Bolivar is a weak desperate attempt at the Venezeulan government to combat runaway inflation with its normal currency, the Bolivar. Its inflation is just as bad as Zimbabawe, although devaluation isn't occuring due to moneyprinting, but rather low oil prices in 2015, which the Venezula economy mostly relied on. Its cheaper to use Bolivars as toilet paper than actual toiletpaper most likely.

Venezula is currently making an attempt at introducing a cryptocurrency of its own, but without the technical infrastructure or trust to back it.

I have been told that US dollars are treated as the formalized currency over there. But its illegal to trade US dollars to bollivards and can only be done in the black market, getting caught lands you in jail. Resorting to cryptocurrency/black markets makes more sense, as transactions are more secure and less volatile. IIRC mostly everyone still has access to smartphones/computers and potentially VPN's so trading makes more sense. Potentially as well local P2P wallet trading as well

I have known friend's families who have had lost everything due to government takeovers on their small businesses when Chavez originally took over. Maduro isn't doing the country any favors either

<comment><USER3> Hyperinflation cannot, although inflation can, be the result of a change in commodity prices. Commodity prices are (to much less than an order of magnitude) constant worldwide, and Venezuela is far from the only economy overwhelmingly dependent on oil, but those others are not seeing triple-digit inflation rates.

Hyperinflation is the result of printing money.

</comment></comment><comment><USER4> That appears to be about 2000USD a week. A volume of two iPhones.

edit: O.K. Apparently, that's not VEF but VES, so it should be about 8K iPhones or a volume of about 8 Million USD.

<comment><USER5> 1143 BTC != 2000 USD

From [1]:

> They changed the color of the bank notes and increased their denomination. > Then they said they would lop off three zeros. And when that didn't seem > enough, they announced they would cut off two more.

[1] [https://www.nytimes.com/2018/08/16/world/americas/inflation-...](https://www.nytimes.com/2018/08/16/world/americas/inflation- venezuela-currency.html)

<comment><USER4> 500,000,000 Bolivars == 2012USD

[https://ibb.co/cDcbCp](https://ibb.co/cDcbCp)

<comment><USER5> The amount cited is 500,000,000 VES, not 500,000,000 VEF.

From [1]:

> The bolívar soberano (... ISO 4217 code: VES) is the main currency of > Venezuela since 20 August 2018. Since that date, it has been due to replace > the bolívar fuerte (strong bolívar, sign: Bs.F., ISO 4217 code: VEF) after a > transition period.

[1] [https://en.wikipedia.org/wiki/Venezuelan_bol%C3%ADvar](https://en.wikipedia.org/wiki/Venezuelan_bol%C3%ADvar)

<comment><USER4> noted.</comment></comment></comment></comment></comment>


New website with a complete list of all USA events. Feedback highly appreciated. - <AUTHOR> http://www.wikido.com

<comment><AUTHOR> Hi to all. Anyone can help us? We are looking for feedbacks about: \- feedbacks about the quality of events in your city \- feedbacks about the user experience of the interface \- suggestions for a marketing strategy for creating a WikiDo brand: how to manage/populate facebook fan page, how to tweet etc.

Thanks a lot. Giuseppe

<comment><USER2> Cool! How do you collect data?</comment></comment>


Only 0.6% of Android devices use Android 3.0 or 3.1 - <AUTHOR> http://developer.android.com/resources/dashboard/platform-versions.html

<comment><USER2> With 3.0 and 3.1 being developed chiefly with tablets in mind, I don't find that too surprising given the popularity of phones:tablets.

(Edit for correction. 3.x is not solely for tablets, just primarily with them in mind.)</comment>


Schiit Happened, 2015 Chapter 4: Bridging the Gap - <AUTHOR> http://www.head-fi.org/t/701900/schiit-happened-the-story-of-the-worlds-most-improbable-start-up/5340#post_11334721

<comment><USER2> He compares audio playback quality to food nutrition. It's true, nutrition is far from fully understood. Audio playback as heard by human ears is perhaps not 100% understood, but it's much much closer.

A human being does not need more than 44.1 KHz audio playback. If anyone claims you need a higher sample rate for audio that sounds better, they're lying (whether they realize it or not).

More than 16 bits per sample just lowers the noise floor, and at 16 bits, it's pretty damn low. For playback, you really won't need more. Again, if someone professes the subtle string quartets and powerful metal jams you can only get with more bits per sample, they're lying.

It is true that better headphones will make a real difference, it is true that you can (barely) do noticeably better than 160kbps mp3 (for stereo). But audio engineers understand enough about how the human ear really works to know that more than about 44 KHz or more than about 16 bits per sample truly does not help for final audio playback.

All that to say, this two facts are not like nutrition, and they're not a matter of "some people may hear a difference, but I don't". Selling something as better for playback because of 96KHz / 24bit audio is preying on human weaknesses of judgement, when we know scientifically that these specific two things don't help.

It's been posted a bunch, but this is a really great demonstration of digital audio fundamentals [https://wiki.xiph.org/Videos/Digital_Show_and_Tell](https://wiki.xiph.org/Videos/Digital_Show_and_Tell)

<comment><AUTHOR> I really wish people would quit posting Xiph links as if it proves things.

What we DO know is that our ears no not work anyway like how we represent audio in PCM form. We know that they are highly sensitive in some frequency ranges, and that sensitivity includes higher temporal impulse precision than is required, such as the 300-3khz band used for human speech.

As in, for some frequency bands, our "sampling rate" (if such a thing could be applied apples to apples in human hearing) is higher than in others. I suspect this may be related to our ability to localize 3D perfectly sound with only two ears.

Not only that, but also in some frequency bands, we can detect finer differences in sound level than 16 bit can describe.

So no, 16 bit/44.1khz probably is not sufficient.

Also, you bring up lossy encoding which has no place in this discussion. If you want to discuss how lossy codecs exploit the flaws in hearing to compress audio better, talk about codecs that use wavelets and are highly effective at what they do due to a finely tuned psychoacoustic model, such as exploiting that our "sampling rate" and "bit depth" are non-linear across frequency bands.

<comment><USER3> A reason (probably one of the main ones, IMO) people post Xiph links is because they contain very well reasoned arguments, backed up evidence (i.e the math of how digital audio works, or in the case of the the video linked in the parent, actual meassurement). When seeing arguments on why 16-bit/44.1kHz is insufficient, I more often see faualty reasoning and a lack of evidence to support the arguments being made.

You are correct in that human hearing is highly sensitive in the 300-3kHz band, and that sensitivities to minute timing and phase differences between the ears helps us accurately localize sound with only two ears. But I fail to see how that is relevant to whether or not 16-bit/44.kHz digital audio being enough to reproduce sound without audible distortion.

Are you aware of some evidence that shows how 16-bit/44.1Khz is insufficent? I would be very interested to see it.

<comment><AUTHOR> There isn't enough research being done on that frontier yet. We know the 300-3khz has a "higher sampling rate" than 44.1khz, but we don't know how high.

However, I'm actually happy with properly mastered 16/44.1 on a proper DAC that has THD and noise levels below what is required for 16 bit (which I can get for $100 in an external DAC, for $150 with multiple inputs, from Schiit).

The big issue is, they don't properly master them, and releasing the HD versions seems to lessen the impact of an improper master (such as we can hear finer steps in volume than 16 bit can do when all the samples have a smaller dynamic range, but we can't if they had mastered everything with 12+ bits of dynamic range like the creators of CDs had intended).

Honestly, if CDs had chosen 20/48 instead of 16/44.1, most of this bullshit would have never happened.

tl;dr I'm a bigger proponent of increased bitdepth over sampling rate, but I'm happy if I get both to get just one.

</comment></comment></comment></comment><comment><USER4> > Why not just say, "Well, I understand that these guys are trying to offer > higher resolution music, and some people may hear a difference, but I don't, > let's move on to the latest Android phone."

Because they simply can't. This has been tested so often. So far no human being was found that can hear the difference.

HiFi seems pretty rotten to me. There are lots of points where today the cheapest option is just as good as ones for thousands of dollars (cables being the best example). HiFi people spend thousands on voodoo, yet spending money on products that have a bigger focus on design is seen as a waste of money.

The only thing that really separates HiFi from consumer audio is speaker size

<comment><USER5> I only do headphones. I can recognize 160kbps mp3 from 320kbps. Decent headphone setup is around $500, with performance of a few milliwatts.

Now scale power 1000x, I bet price will go up as well. Probably exponentially.

<comment><USER6> > Decent headphone setup is around $500

may you please suggest a couple in that range ? i currently have a b&w p5, which i am thinking of upgrading...

<comment><USER5> It is not just headphones, but also amplifier and DA. My stuff is 10 years old, so I am probably not best adviser. And I have more sets, one is bit more pricey.

Anyway for daily beating at office I would recommend DT 770 PRO, 80 Ohms. In my opinion best closed studio headphones for reasonable price. Mine are ten years old now. I believe in-ear demages hearing. I also dont like active noise cancellation. Also check some foldable options if you travel a lot.

You will also need USB soundcard with headphones amplifier. Some devices combine both. I have EMU Tracker Pre USB 2.0, but thats no longer sold. Not sure what today market is, but this seems to have good reviews: [http://www.amazon.com/FiiO-E10-USB-Headphone- Amplifier/dp/B0...](http://www.amazon.com/FiiO-E10-USB-Headphone- Amplifier/dp/B005VO7LG6/)

<comment><USER7> An expensive USB soundcard and amplifier are absolutely not necessary. The built-in audio of a Macbook Pro (this is HN we're talking about) is more than good enough.

<comment><USER5> Bullshit. Thats are 80 ohm professional studio headphones. Wasted money without amplifier. Even novice can pickup difference in 10 minutes.

<comment><USER8> I have experience using several good headphones (K701, HD650) amped and unamped in the past. At the moment, I happily use a set of 250 Ohm 770s straight out of a MBP. Sounds fantastic. Does this trigger you?

<comment><USER5> I do it sometimes as well, I would not call sound fantastic, but its ok for movies and remastered (flat) music. But so does $120 Major.

I just think it is really bad advice. Why buy expensive headphones optimised for amps without amp? Just waste of money.

<comment><USER8> Waste of money is something that makes marginal gain.

BadPhones -> GoodPhones

is a much greater step than

UnampedGoodPhones -> AmpedGoodPhones.

\---

(of course there's always an amp, Unamped just means no beefy one)

<comment><USER5> I think we are two different threads. Signa11 already has good headphones, even amp and DA. Question is what headphones, DA and amp is best for upgrade. I am sorry, I just disagree that mac book pro is the answer.

<comment><USER8> You -> dublinben -> you -> me is a very coherent thread.

But yes, it's not worth arguing about unless we could all sit together and test some equipment.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Ten Things I Hate About You (Internet Edition) - <AUTHOR> http://langer.tumblr.com/post/68146968 <comment><USER2> And one thing I hate about your blog is I couldn't view the beautiful rocket launchpad bground in one page - so I had to command(minus) multiple times to achieve almost 90% success :-)</comment>


The Renaissance of the Shell? - <AUTHOR> https://effective-shell.com/docs/part-1-transitioning-to-the-shell/6-the-renaissance-of-the-shell/ <comment><USER3> I also observe a renaissance of command line interfaces. I guess it's a trend in a similar way how the graphical user interface (in the MS Windows/OS X/X11 way) has been trendy in the 1990s/early 2000s. Remember that Apple banned the terminal from classic Mac OS. This was a declaration of war against complicated CLIs. Nowadays we experience the opposite: Microsoft is building the most modern Terminal emulator as well as many productivity tools such as Powershell but also the Linux subsystem.

Of course this is driven by commercial interests. Microsoft tries to close the gap to the rich Mac OS X development environment, which is rich because it is compatible to the Unix/Linux ecosystem.

As the author noted, many jobs are primarily terminal-based in a way like probably nobody would have believed 20 years ago. DevOps or data scientist, they both enjoy powerful CLI applications, REPL interfaces, scripting as if the "GUI movement" did not even take place.

<comment><USER4> > Microsoft is building the most modern Terminal emulator

If it is anything like Powershell, which is more "modern" than bash, then I don't think it will make much of an impact. Powershell seems like it was designed by a comittee which did not quite understand the point of what they were doing.

It seems that if at least someone on that committee used a Unix terminal maybe once in their lives they would realize that what they were building would deliver a really bad user experience.

<comment><USER5> I read "Bad user experience" but I suspect what you mean is "It not what I am used to".

They (Microsoft) say that their inspiration was Korn Shell and Languages like TCL. Microsoft when they still offered Windows services for Unix, they did provide a Korn shell. If you look at some PowerShell examples and some Korn Shell example there are quite a few similarities between the two.

So they obviously were quite aware of the options in the *nix world. I really wish people wouldn't make these sorts of claims when spending like less than a few minutes looking up the development history would dispel these ideas immediately.

Personally I really like PowerShell and I find it fun to program in whereas with bash I seem to have to always relearn it whenever I attempt to do something non-trivial. However I come from a background of programming in OOP languages like Java and C# so many it just suits my mental model better than bash.

<comment><USER6> In my (limited) powershell experience, it's a "scripting first" shell, while bash is more of a a cli-first shell.

Using a powershell cli is very verbose (although pretty consistent), but using it without some sort of GUI helper if you're not familiar with it is pretty daunting.

<comment><USER5> I would agree with that. I think the verbosity arguments do have some merit. I normally write scripts with the ISE or VSCode with a plugin.

Also there are lots of extensions that you are kinda just supposed to know about e.g. dba-tools extensions.

</comment></comment></comment></comment></comment><comment><USER7> Learning Vi at an early stage in career has been a life saver for me. Having to do a lot of my work on remote shells over many years could have been more difficult had I not had some degree of command over a text editor like Vi.

And then there are other advantages too. Editing code in Vi/Vim is akin to touch typing if you are really good. Programming becomes so much easier and so much fun.

And last but not the least, there are still loads of things to learn about Vi.

<comment><USER8> Plus most modern shells have a vi editing mode. Add something like vimium to your browser and you can use the same muscle memory across environments.

I did switch from vim to Emacs + Evil though (Evil adds a decent text editor to Emacs), with my own set of spacemacs-like keybindings.

</comment></comment><comment><USER9> The three points about the renaissance of the shell are spot on.

(1) Systems being written in more languages means the shell becomes more important

I wrote about that here: [https://news.ycombinator.com/item?id=24083764](https://news.ycombinator.com/item?id=24083764)

 _The idea is that I write programs in Python, JavaScript, R, and C++ regularly, and about 10 different DSLs (SQL, HTML, etc.) And I work on systems written by others, consisting of even more languages._

in regards to [http://www.oilshell.org/](http://www.oilshell.org/)

(2) Convergence around Unix and Linux for the server side.

Unix won. In 2017 or so, Windows Subsystem for Linux was marketed as "Bash on Windows" !!! That is, being able to run a 30 year old shell and other programs was a new feature of Windows.

(3) DevOps

I forget where I read this, but someone quipped that "old school sys admins didn't disappear". (That is, the experts at Unix shell.) "What happened is that they went to work for AWS and Google and then sold their skills back to you at a higher and recurring price"

I find that to be pretty spot on... The cloud companies are making a lot of stuff point and click, and cut and paste YAML, so you don't have to use shell, but I think programmers are better off learning and using shell.

Reaosns: For autonomy, to avoid being locked in, to exercise the ability to create simple, sharp, one-offs ... not drag in a 200 MB cloud SDK to solve a simple problem.

<comment><USER8> _I find that to be pretty spot on... The cloud companies are making a lot of stuff point and click, and cut and paste YAML, so you don 't have to use shell, but I think programmers are better off learning and using shell._

I have been using Nix for most system-level stuff the last two years (development environments, building container images, declaratively managing systems). It is far more powerful than YAML configuration (it's a turing- complete functional language after all), but the functional aspect brings many benefits (no side-effects, etc.).

Of course, nix(pkgs) _stdenv_ makes liberal use of Bourne shell in its build phases, so a bit of shell chops is very useful there as well.

</comment></comment><comment><USER10> GUIs are using pictures to convey meaning and action.

A picture is worth 1000 words.

Why use 1000 words to do something when one or two will do?

<comment><USER11> = Master Foo Discourses on the Graphical User Interface =

One evening, Master Foo and Nubi attended a gathering of programmers who had met to learn from each other. One of the programmers asked Nubi to what school he and his master belonged. Upon being told they were followers of the Great Way of Unix, the programmer grew scornful.

"The command-line tools of Unix are crude and backward," he scoffed. "Modern, properly designed operating systems do everything through a graphical user interface."

Master Foo said nothing, but pointed at the moon. A nearby dog began to bark at the master's hand.

"I don't understand you!" said the programmer.

Master Foo remained silent, and pointed at an image of the Buddha. Then he pointed at a window.

"What are you trying to tell me?" asked the programmer.

Master Foo pointed at the programmer's head. Then he pointed at a rock.

"Why can't you make yourself clear?" demanded the programmer.

Master Foo frowned thoughtfully, tapped the programmer twice on the nose, and dropped him in a nearby trashcan.

As the programmer was attempting to extricate himself from the garbage, the dog wandered over and piddled on him.

At that moment, the programmer achieved enlightenment.

Source: [http://www.catb.org/~esr/writings/unix-koans/gui- programmer....](http://www.catb.org/~esr/writings/unix-koans/gui- programmer.html)

<comment><USER12>
      ls -al
      rm -r. /*
      git checkout -b thisIsFine

Couldn't give you a sed or awk example, because, fortunately, did not have to learn either yet.

<comment><USER13> The fact that some CLIs have terrible UX does not invalidate the idea of CLIs.

<comment><USER12> It does invalidate the parable though.

<comment><USER13> How so?

I read the parable as being about the infinite number of ways icons and GUIs can be interpreted, thus making their inherent discoverability and clarity low.

I don't see how listing CLI commands with terrible UX invalidates that point.

<comment><USER12> Because there's really no difference between terrible command line argument names and terrible icons for the same commands.

<comment><USER13> That may be true, but I think the parable is about well-chosen cases, not the bad ones.

Icons don't have an intrinsic meaning the way words do, so some percentage of people will find brand-new interpretations for icons, to a larger extent than will happen with words.

That was my interpretation, at least.

<comment><USER12> > Icons don't have an intrinsic meaning the way words do

This is completely backwards. Icons can have intrinsic meanings - they can literally depict an object or an action from the real world. Words are pure abstracts humans made up, and can not exist outside of the context.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> I firmly believe that a lot of really productive work can be done with shell- based applications, and that this environment represents the true power of productive computing. With the web taking front and centre priority, we've lost something very important in terms of human/computer interaction - <USER2> would say things are 'easier', but I have to laugh at this claim whenever I see someone clicking something in a list a hundred times when it could have been something they'd solved with a little script, had they known how. Too many times I've saved someones ass by a bit of script fu, only to be granted god-like status at how quickly it was done - but if people took a month of study on, say, bash scripting or something similar, it wouldn't seem so obtuse.

Same goes for google-fu. What is happening that the arcane science of proper search semantics is not being taught kids in school? It seems to me the devolutionary effect of "ease of use computing" has wrought its anti-pattern woes over a few generations ..

Anyway, my kids learned bash before they learned how to find the Settings panel, and there is something to be said for the teenager who knows how to wrangle his OS because his Dad taught him the basics of shell-based package management, something still not quite done well in certain environments...

<comment><USER15> You're not really wrong on many of your points, but you look at everything from a power user/developer mindset and that's too narrow of an approach, sorry. I.e. you should realize programming is not for everybody, not even close, so the claim that things are easier now is very much true for a lot of people out there. As such there's not much to laugh at, in fact that sounds borderline disrespectful to me.

<comment><USER16> > You're not really wrong on many of your points, but you look at everything > from a power user/developer mindset and that's too narrow of an approach, > sorry.

I sometimes wonder if how people talked about 'this whole writing and reading thing' way back when. Perhaps there's a future where the average person will be what we now consider a 'power user'?

Much as there's the criticize about current-day computer use, as someone who was considered a 'nerd' for chatting online in my teens, it's still amazing to see extremely non-typical 'nerds' sit at their laptops or phones chatting with others. Or to have conversation about gaming with people who fit the 'jock' stereotype.

I'd love to hear from historians how the 'common people' thought about writing back in the day when most people were illiterate.

</comment></comment></comment><comment><USER17> I think this shell Renaissance is going to be short-lived. Scripting is a very brittle way to do automation, and that is recognized across the spectrum, especially when handling distributed systems.

The world seems to be moving much more towards APIs and declarative configuration formats, with actual scripts acting as a sort of last resort only. The author even mentions Kubernetes, which is very much designed to replace scripting based control of your systems with an API. Even kubectl is just an utility build over the API, not a core part of the system.

And even outside the cloud-ish world, you have systemd taking over the Linux world one distro at a time, and it's focus is firmly towards replacing shell scripts with configuration files.

</comment><comment><USER18> Most of ones work should be in the shell all the time, because automation tasks are every day phenomena (or should be). Otherwise, if its GUI oriented, you will still have to learn CLI variant sooner or later and not only its harder or almost impossible to automate, but such automation is usually flaky as well.

Shell should be considered basic and most important interaction with computer with anything else deemed as optional.

The big problem is that almost all of the shell's are stuck in the previous century, except PowerShell.

<comment><USER19> > Otherwise, if its GUI oriented, you will still have to learn CLI variant > sooner or later and not only its harder or almost impossible to automate, > but such automation is usually flaky as well.

Is it? Or is it that us compsci and computer engineering folks aren't used to it and don't know much about it?

A Japanese instructional YouTuber I watch did a tour of his setup, and in it he shows off a lot of automation he uses to make his work faster, more consistent, and less error prone. The relevant part starts around here and lasts throughout the rest of the video (its in english): [https://youtu.be/TGgbSmCoZFA?t=390](https://youtu.be/TGgbSmCoZFA?t=390)

I think part of it is there is already a buttload of CLI driven tools for us, so there isn't a need for us to rise above the skill floor for GUI automation. But to just assume it is hard or impossible because we don't know is just the same as people new to CLIs saying they are hard or impossible.

<comment><USER18> I don't assume. You assume stuff about me. :)

The GUI is heterogeneous world. Linux doesn't have tools AFAIK work mentioning because it didn't need them due to CLI. Tools like xdotool are very limited.

Windows had much better tools, such as AutoIt, AHK etc. This was because they all were created prior to PowerShell when there was no other option that encompasses all apps. And PowerShell doesn't deal with GUI too, although you could force it.

However, big part of those scripts depend on current theme, window sizing, even positions. To create good script is not easy.

</comment></comment></comment><comment><USER20> The shell is the tool that allows us to talk to our computers, and for our computers to talk to us.

Until a better way comes out to tell the computer what to do, the command line will prevail.

<comment><USER21> I alsways explain it to new students as the shell being the equivalent of "under the hood" but for computers instead of cars. If you go to a car mechanic with engine problems and they won't even inspect under the hood, it's probably not a very good mechanic.

(The last few years have not been too kind to this metaphor because of computer-based analytics, but still)

</comment></comment><comment><USER22> I certainly hope the shell doesn't have a renaissance. Just today I was updating my dotfiles/customizing my OS, and I had to swap out several shell scripts for Python scripts because I couldn't edit shell. The scripts looked like arcane rituals, not editable code.

<comment><USER23> As I read it, the article is more about the concept of scripting in general - and not about any specific language bash/zsh/powershell/etc.

I definitely agree, I think that POSIX-shell scripts can often be completely unreadable and difficult to maintain. But I think the concept of scripting in itself is fine, even though the implementations we might use today are slightly outdated.

At the moment there's a huge number of interactive shells like nushell and xonsh being built, but they don't really focus on scripting; I'd really love to see more competitors attempting to take on the mess of bash scripts.

<comment><USER24> > I think that POSIX-shell scripts can often be completely unreadable and > difficult to maintain.

The same could be said for any language, if you're not familiar with it.

<comment><USER25> The thing is when you restrict yourself to only what POSIX specifies you don't even have basic data structures, no array, no hash map not even local variables, and that often leads to code that relies on multiple hacks.

For instance: you can't even slice "$@" which is the only array like construct specified by POSIX (excluding unsafe splitting), so you end up shifting and re-enqueuing with set -- "$@" "$1", which is unreadable.

Want to read a single character? Impossible with the POSIX read, but you can workaround with dd

etc.

All those workarounds to POSIX limitations are fascinating, but it forces a lot of arcane constructs, that's for sure.

And of course this is usually the point where you ask yourself if you've chosen the correct language for the task, but that's another debate.

<comment><USER24> > so you end up shifting and re-enqueuing with set -- "$@" "$1", which is > unreadable.

How is that unreadable? Set all the positional arguments as is, then set the first one again, into new positional arguments. I'm not sure why you want the first arg twice, but thats your call.

Either way, it's hardly unreadable.

> And of course this is usually the point where you ask yourself if you've > chosen the correct language for the task, but that's another debate.

It isn't another debate though. It's all the same debate: do you know the language you're reading and/or writing? Do you know what it can do, what it can be pushed to do, and what it really shouldn't do?

Those are all related to the same basic point: if you think Shell is unreadable, I'd suggest it's because you don't know shell.

Remember readable means that you can read and understand it. Not that it's written out in words that someone with on page 1 of "how to program for dummies" can understand.

<comment><USER25> > Remember readable means that you can read and understand it

Yes you are right, my usage of "readable" was probably wrong there.

Maybe the point I was trying to make was less about the individual constructs but more about how the lack of "common" features makes the whole program less "understandable", or maybe less easy to get familiar with, simply due to the amount of code needed to achieve a specific task.

The same way assembly is considered less "readable" than C. Not because assembly is less readable on a line by line basis, it's even simpler, but because of the number of lines and operations needed to achieve a simple task.

Basically it's easier to understand 10 lines than a 1000.

</comment></comment></comment></comment></comment></comment><comment><USER26> It's hard to automate something with a GUI. It is also hard to make programs interoperate if they use a GUI.

<comment><USER27> It doesn't have to be though, there's just a high correlation between hard-to- automate apps and non-command-line apps. You can e.g. make a GUI app where every button or keybinding is bound to a named function (GUI Emacs comes to mind), and where those named functions can be used in scripts. Another option is to have a scriptable backend; LibreOffice has a terminal interface that lets you e.g. convert between document formats from a shell script, and Astroid Mail is built on Notmuch as its backend which is scriptable.

<comment><USER28> Reaper has a billion actions you can assign to key combinations, and you can build your own toolbars from them. I think it's as close to a console application as I've seen a GUI get. It also has a scripting language you can use to make just about anything. GUI Emacs sounds like it probably influenced the Reaper people.

</comment></comment></comment><comment><USER29> Because of the capitalisation combined with the domain name that tittle ("The Renaissance of the Shell") made me expect to read a piece of propaganda from the oil company. Considering that generally the term shell means any software with purpose to manipulate files and run other programs, it would be better to call it "The renaissance of the command line shell".

<comment><USER30> If it had meant the oil company it would have omitted the definite article: "The Renaissance of Shell".

Or perhaps even included the full name: "The Renaissance of Royal Dutch Shell".

<comment><USER29> Thank you, my native language lacks articles.

<comment><USER30> Ah, in that case yours is a perfectly understandable interpretation. May I ask which language?

<comment><USER29> Russian

<comment><USER30> Thank you. Now another question: how would you make the same distinction in Russian? I mean an explanation of it not just the actual words, I had three weeks of Russian in high school nearly fifty years ago but none of it has stuck.</comment></comment></comment></comment></comment></comment>


NextGuide iPad app adds Amazon, gestures and more - <AUTHOR> http://www.engadget.com/2012/10/12/nextguide-ipad-update-amazon-gestures/

<comment><USER2> Nice addition of Amazon content!

</comment><comment><USER3> Beautiful app!

<comment><AUTHOR> thanks, let us know if you have any suggestions or other feedback!

</comment></comment><comment><USER4> good way to discover shows!</comment>


Can your shell console do this? - <AUTHOR> http://www.youtube.com/watch?v=bUR_eUVcABg

<comment><USER2> This looks a fantastic concept. Details matter and there are plenty to get right there ... but it looks very nice.

(The video script could use some work. The repetition of "what if you could ...." is too heavy, for me.)

</comment><comment><AUTHOR> Thanks! Note it's not just a concept, it actually exists :) It's all out on github - many of the features have been there for years.</comment>