Acme Klein Bottle - <AUTHOR> http://www.kleinbottle.com/ <comment><USER2> Warm greetings to m'friends at HackerNews from an astronomer who's blushing from this attention.

Like most old school hackers, I try to explore ideas that keep me awake ... the "I wonder if I can make an x" where x may be a topological manifold, an arduino line-follower, a garden leaf moulded into ceramic, a Penrose tile pattern, an LTE geolocation algorithm...

And, as most of you realize, this Klein bottle microbusiness is mainly to have fun and stay busy -- a chance to fool with everything from math to glassblowing.

Best part, of course, is meeting math folk, students, computer jocks, and random visitors. To each, I hope, I leave the strong encouragement to keep exploring!

My warm wishes to each of you, on a sunny Sunday morning in Oakland, California!

-Cliff (who's typing with dough on his fingers, left from mixing up scones for breakfast)

<comment><USER3> I remember the first time I saw the video about your under-floor distribution system and all I could think was: I want that.

I have no product to sell or organize, but I still want that.

... perhaps some sort of underfloor cat organizer ...

<comment><USER4> The video in question: [https://www.youtube.com/watch?v=-k3mVnRlQLU](https://www.youtube.com/watch?v=-k3mVnRlQLU)

</comment></comment></comment><comment><USER5> Cliff is one of the most warm and genuine people I've ever met. I ordered one of these for my dad and went to pick it up, thinking it would just be a quick transaction. I got a half hour tour of his workshop, storage area and retrieval robot and a nice chat about life, the value of family, and Klein bottles. What a great dude.

<comment><USER6> Isn't it the same guy from numberphile videos?

[https://m.youtube.com/watch?v=AAsICMPwGPY](https://m.youtube.com/watch?v=AAsICMPwGPY)

<comment><USER7> Yes, that's the same guy.

</comment></comment></comment><comment><USER8> One of these was given to me as a graduation gift. Included with the order receipt were photos of him wrapping up the Klein bottle, holding it up and smiling with it, and the receipt was signed with a note saying, "Congratulations!" It's possibly the best present I've ever received! In case you see this, thank you Clif!

Because of this I read The Cuckoo's Egg, and it was pretty great too. What a cool guy.

<comment><USER9> Cliff is one of the original nerds, it's worth reading the whole of kleinbottle.com for the amusing anecdotes and jokes.

My favourite: [http://www.kleinbottle.com/drinking_mug_klein_bottle.htm](http://www.kleinbottle.com/drinking_mug_klein_bottle.htm)

The Cuckoo's Egg is excellent; I encourage all of my team(s) to read it as it highlights how attention to detail and creative thinking can unlock unexpected value (with the added bonus it's a spy story!).

<comment><USER10> I would add that the Cuckoo's Egg is perhaps the best narrative describing the early days of the Internet. If you want to understand how people originally used and thought about the Internet read this book.

While I had used BBS's previously this book was my formal cultural and technical introduction to the Internet

</comment></comment></comment><comment><USER11> Cliff is an amazing guy. If you're in the Bay Area and looking for something to do, give him a call and ask if you can stop by. He keeps all of his merchandise in the crawl space under his house and built a remote-controlled forklift to bring it out. He has lots of interesting glassblown 3D shapes, Klein bottle hats, and so on, plus incredible stories.

<comment><USER12> Numberphile did a video a couple of years ago that featured the forklift in question: [https://www.youtube.com/watch?v=-k3mVnRlQLU](https://www.youtube.com/watch?v=-k3mVnRlQLU)

Cliff is a really neat guy. I met and talked to him briefly once (at Dayton Hamvention, 20ish years ago). He's a really, really nice guy.

<comment><USER2> K7TA here ... you send me back to those golden days of flea markets and boat anchors. Whew!

</comment></comment></comment><comment><USER13> FAQ 11 answer...

 _" My website looks old-fashioned because it loads faster this way and I'm too lazy to rewrite it. I last updated this page on March 30, 2017 12:54 PM"_

Excellent. I really must order a klein bottle woolly hat.

</comment><comment><USER14> For those of you who don't know Cliff Stoll, you need to watch this:

[https://www.ted.com/talks/clifford_stoll_on_everything](https://www.ted.com/talks/clifford_stoll_on_everything)

<comment><USER15> Or read some of his books like The Cuckoo's Egg. He was honestly one of the reasons why I got into computers as a kid.

<comment><USER16> Interesting companion to this is Markoff's "Cyberpunk: Outlaws and Hackers on the Computer Frontier" [1]. One of the stories covered in this book is the same one as in Stoll's Cuckoo's Egg, but from the other side.

[1] [https://www.amazon.com/Cyberpunk-Outlaws-Hackers-Computer- Fr...](https://www.amazon.com/Cyberpunk-Outlaws-Hackers-Computer-Frontier- ebook/dp/B01EZJBIMA/ref=sr_1_1)

</comment></comment></comment><comment><USER17> Is he really the same Cliff Stoll who wrote _The Cuckoo 's Egg: Tracking A Spy Through The Maze Of Computer Espionage_? It is one of my all time favorite books. I really recommend it if you haven't read it already. I didn't know Cliff Stoll also made other awesome stuff. He really seems to be an amazing person.

<comment><USER2> Yep, same guy. But I suspect that my wife and kids would dial down the adjectives.

<comment><USER18> Cliff, thank you for writing that book! It is what got me, like many others, seriously into exploring computers (in legal ways!).

</comment></comment></comment><comment><USER19> I had one of these in college. It's probably still lying around my house somewhere. Admittedly, my storage organization strategy is probably biased toward objects composed of orientable manifolds, so it's understandable that I would lose track of it.

<comment><USER20> > It's probably still lying around my house somewhere

And equally your house is lying around somewhere inside it.

</comment></comment><comment><AUTHOR> [https://www.youtube.com/watch?v=-k3mVnRlQLU](https://www.youtube.com/watch?v=-k3mVnRlQLU)

</comment><comment><USER21> It's worth reading the site text to get an impression of Cliff Stoll.

On one hand he's our people, ticking off many of the stereotypical but true geek attributes. He might seem weird to a some people, but I feel like I totally get him as a person even if I disagree with some (a lot?) of his ideas.

On his recent youtube videos he's the closest real life match to Doc Brown you'll find.

I do wonder how he's copyrighted a glass object representing a mathematical surface. Maybe it has to do with the fact that different projections can be made into 3d space, how do design and build the projection, etc.

</comment><comment><AUTHOR> Checkout is golden, it asks you for number of dimensions in your universe: [http://svedic.org/TEMP/KleinBottleCheckout.png](http://svedic.org/TEMP/KleinBottleCheckout.png)

<comment><USER22> No string theorists allowed? ;)

</comment></comment><comment><USER23> This (quote) is what's holding me back from buying one:

> Not only are these difficult to fill and empty, but cleaning them is a real > challenge. Since there's little air circulation within the Klein Bottle, > moisture doesn't evaporate. Worse, you can't reach in with a towel. So > you'll need to dry the interior surface using alcohol. I've had good luck > with a pair of small magnets wrapped in cotton cloth.

<comment><USER24> My aunt gave me the Klein Stein for graduation (a klein bottle in the shape of a beer mug). It's actually not that hard to clean. You rinse it with water and then bake it in the oven at ~200F for an hour and you're good to go. It is a bit more involved than a normal mug but it's really not as bad as you would expect.

</comment></comment><comment><USER25> Here's a video[1] of Cliff showing-off a three handled klein bottle.

I like the bit where he says a two handled klein bottle is a torus.

1\. [https://www.youtube.com/watch?v=MIaihe8HGiY](https://www.youtube.com/watch?v=MIaihe8HGiY)

</comment><comment><USER26> I'm the proud owner of one of these, and he really makes the entire purchase process a special experience. From the personal email on order to the notes included (and fast shipping). Every house should have one. Or several.

</comment><comment><USER27> I wonder if you could also get an evil kleinstein, were the handle connects to the outer chamber at the top and the main inner chamber at the bottom. Good yoke that.

</comment><comment><USER28> I bought a few of these. They are quite cool, and the documentation is probably half the value. I Think I owe it to the universe to support this type of endeavor.

<comment><USER2> Thanks, Zafka, for helping with my two kids' tuition!

<comment><USER28> Your welcome!! I just watched your Ted Talk which someone here linked to.---

I would also like to give a you a big shout out for Teaching!!

       If everyone here followed your lead, the world would benefit greatly.

</comment></comment></comment><comment><USER29> Ah yes, Klein bottles. When I was a child, I was assigned to Escher Elementary. It had a great math program, though I did have to walk uphill both to and from school.

Then I graduated and was assigned to Klein Bottle Middle School. It had a good reputation, but I could never find the front door. I had to transfer to Hyperspace Tech, which fortunately has a front door everywhere.

</comment><comment><USER30> I remember Cliff giving a talk at Sequent in Beaverton. Two indelible impressions were the energy and enthusiasm that Cliff had ... and the person in the front row tossing Cliff something to eat every X minutes.

Felt very much like a hummingbird or something that had to eat 2X their weight every day.

</comment><comment><USER31> Currently owning one of their Klein Bottles, I can say that it was a very personal experience. I live in Ireland, and I recieved 2 personal emails, about the klien bottle itself, and a letter with a few notes.

My klien bottle sits on my desk, and I couldn't be happer with

</comment><comment><USER32> I thought a klein bottle is supposed to have walls with zero thickness -it's made of an idealized plane...

<comment><USER33> Ok, it's an immersion in R^3 of a tubular neighborhood of an embedding of the Klein bottle in R^4.

But be like Michelangelo and see the immersed Klein bottle inside the glass.

<comment><USER32> ... but with an imaginary klein bottle you can own one without buying it; that's cheaper, isn't it?

<comment><USER34> You'd think so, but it's actually more expensive because you don't get the experience of buying a Klein bottle from Cliff Stoll.

</comment></comment></comment></comment><comment><USER35> Is this a late April fool?

<comment><USER36> No, Cliff is very real, I used to live a block away

<comment><USER2> (pinching myself) yep, I think I'm real. Or maybe someplace on the complex plane.

</comment></comment></comment><comment><USER37> already posted two years ago... [https://news.ycombinator.com/item?id=9064180](https://news.ycombinator.com/item?id=9064180)

<comment><USER38> Reposts are allowed, as per the current HN faq: [https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)

Particularly in cases, as in this one, in which past submissions had very little discussion. Or when past submissions are more than a year old.

<comment><USER39> Also, I would add as a personal opinion. These type of "cult" submissions that get re-posted at regular intervals add a lot of character to HN.</comment></comment></comment>


Let your Customers help your Customer Development - <AUTHOR> http://blog.profitably.com/post/5912606169/let-your-customers-help-your-customer-development

<comment><USER2> User Voice has been great so far, I look forward to leaning on it some more.</comment>


Mpv drops GNOME support (reverted later) - <AUTHOR> https://linuxreviews.org/Mpv_drops_GNOME_support <comment><USER2> Since GNOME 3 has launched almost 10 ago, the whole environment has been crashing down an endless downward spiral of shortsightedness and idiocy. Replacing what was probably one of the clearest and simplest UIs ever made for an iPad-like, user-hostile interface that threw away decades of well known, polished UX was a gigantic, unforgivable middle finger to their users. A clumsy, me-too shitfest of minimalism that never managed to achieve anything but complicating computing by removing things, all for the sake of an unrealistic ideal of simplicity that nobody ever asked for. GNOME 2 was _already_ simple, intuitive and clear. It was feature rich, but easy to understand and use.

GNOME 3 removed everything, feature by feature, without realising that everything was simply becoming more complicated. Having to install at least 3 extensions in order to make a desktop environment behave the way it is supposed to is asinine, and it feels like they totally forgot who their target users are.

Plus, GNOME has been deliberately hostile towards anything non-GNOME for so long now that I am surprised there aren't more people out there telling them to screw themselves. GTK+ has also been monopolised by them and it's become harder release after release to keep track to what they were doing to the point that some devs actually found rewriting everything using Qt a more productive way to spend their time.

<comment><USER3> I can barely figure out how to use the GTK+3 open dialog

      - why is "recent items" first?
      - why are the folders down the side random paths?
      - why is there no place to enter a path?
      - why does it do a recursive search when I type in the window?

how to make an open dialog was pretty much perfected by MS 20 years ago

<comment><USER4> > \- why is "recent items" first?

1\. It saves tons of time.

> \- why are the folders down the side random paths?

2\. Same as 1.

> why is there no place to enter a path?

3\. Because of 1, 2, and 4. Use ^L, when you need it.

> \- why does it do a recursive search when I type in the window?

4\. Same as 1.

<comment><USER5> > 3\. Because of 1, 2, and 4. Use ^L, when you need it.

> 4\. Same as 1.

> ... saves tons of time

No. It really fucking doesn't.

How is it ever supposed to be faster to try and figure out which search result for 'index.html' is the file in the somewhat-cluttered folder _I just fucking navigated to for the express purpose of opening index.html_ , so that I don't end up selecting another file named 'index.html' from one of the subfolders? Just jump to the goddamn file in the current folder as I type, it's so much faster, and it's what everyone who has ever used the type-while-in-a-file- dialog feature expects to happen anyway.

Also how have people not figured out that file search on your local computer kinda really sucks? The stuff you want to search for probably doesn't have a unique/meaningful file name. Folders namespace non-unique file names, and the full path then has some semantic meaning. And since humans are pretty good at semantics, we seem to be pretty good at navigating the semantic hierarchy of where we put stuff. Recursive search makes you read some inevitably tiny and low-contrast text to get the meaning back. Useful if you're truly lost but absolutely 100% not useful as the global default.

Also also, what the hell do we do with years (decades?) of muscle-memory? Pretty much everyone else still uses the old behavior too so if you're cross- platform (or use only some stuff that is GTK3) that muscle memory isn't going away.

Also also also, why the shitting fuck was #3 not the new default behavior (or why isn't the old default the new default for that matter). Why isn't this only-sometimes-useful recursive search bullshit hidden behind some non- intuitive undiscoverable hotkey?

</comment></comment></comment></comment><comment><USER6> Not at all surprising that wm4 committed that. He makes all of the best mpv commits anyways. Here's just a couple ones I quickly dug up:

[https://github.com/mpv- player/mpv/commit/7d11eda72e90d7aa9df...](https://github.com/mpv- player/mpv/commit/7d11eda72e90d7aa9df25127bd810aa7b191029c)

[https://github.com/mpv- player/mpv/commit/c4dc600f1f2e08f87cf...](https://github.com/mpv- player/mpv/commit/c4dc600f1f2e08f87cf8147098c1559607464824)

[https://github.com/mpv- player/mpv/commit/1e70e82baa9193f6f02...](https://github.com/mpv- player/mpv/commit/1e70e82baa9193f6f027338b0fab0f5078971fbe)

<comment><USER7> holy cow that last one is work of art

<comment><USER8> I mean, he's not wrong.

Existence of locale means you essentially cannot safely use standard libc string functions in library code or in threaded software, particularly when interacting with a file format where stuff like number formatting is normative.

The fixes are really pretty incomplete and the result is people ending up having to ship their own implementations of these functions ... which interacts poorly with all the effort going in to harden string functions because they're a constant source of vulnerabilities.

The situation for libraries that call libraries where the middle library really needs to get things right and the called library can be more YOLO about it is ... pretty absurd.

<comment><USER2> Add this to the fact that the vast majority of libc functions are either obsolete or simply designed for another era, and it can become a quite daunting feat trying to write C code without shooting yourself in the face. C++ isn't in a great position either (the whole std::locale fiasco is very similar), but at least the standards since C++11 have had the guts to actually attempt fixing the warts instead of simply ignoring problems altogether.

All C standards since C99 have been ugly mishmashes of C++ features and bad ideas, one after another. What everyone was clearly asking them was to just copy-paste stuff from POSIX, and instead they came up with stupid nonsense like VLA or things nobody uses, like the [static N] syntax for arrays. I also still find absurd someone thought it was a good idea to add stuff as critical as threads.h without asking implementers first if they liked it (fun fact no one did).

What I think is a massive indicator of how much disconnected they are from reality is the "memory safe string handling" they added in C11 with those crappy *_s functions, which a. were just annoyingly slightly different from what POSIX and Win32 had and b. used a totally lunatic error reporting system based on callbacks and `set_constraint_handler_s()` - because obviously when a call to memset_s() fails I totally want a random function to run, for what for I still don't understand after 9 years. People just wanted the BSD's _l functions, and they gave them a memcpy() that called a random callback. No wonder C2X just wants to quietly pretend these abominations nobody ever implemented never happened.

What no one has ever had enough guts to admit is that 1. C strings, i.e. null- terminated strings, were a terrible mistake and 2. that C badly needs a new string library, or at least something that people can use without risking leaking their whole address space by accident.

<comment><USER8> > write C code without shooting yourself in the face

Use absolutely no strings. :)

But right. :)

<comment><USER9> Instead of strings, you could just use binary bitmaps and directly manipulate those into text!

<comment><USER8> No worse than UTF16... :P

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Before the posts were censored

[https://www.reveddit.com/r/linux/comments/hnoksv/mpv_devs_co...](https://www.reveddit.com/r/linux/comments/hnoksv/mpv_devs_consider_blocking_mpv_from_running_on/)

Original

[https://old.reddit.com/r/gnome/comments/hn1s3r/mpv_is_not_an...](https://old.reddit.com/r/gnome/comments/hn1s3r/mpv_is_not_anymore_supporting_gnome_and_the_owner/)

[https://old.reddit.com/r/linux/comments/hnoksv/mpv_devs_cons...](https://old.reddit.com/r/linux/comments/hnoksv/mpv_devs_consider_blocking_mpv_from_running_on/)

edit: removed posts are back [https://www.reveddit.com/r/gnome/comments/hn1s3r/mpv_is_not_...](https://www.reveddit.com/r/gnome/comments/hn1s3r/mpv_is_not_anymore_supporting_gnome_and_the_owner/)

<comment><USER11> Thank you for the links. Somehow snew <[https://snew.notabug.io/r/gnome/comments/hn1s3r/mpv_is_not_a...](https://snew.notabug.io/r/gnome/comments/hn1s3r/mpv_is_not_anymore_supporting_gnome_and_the_owner>) does not display this subthread <[https://snew.notabug.io/r/gnome/comments/hn1s3r/mpv_is_not_a...](https://snew.notabug.io/r/gnome/comments/hn1s3r/mpv_is_not_anymore_supporting_gnome_and_the_owner/fx8vkc8/>) (nor does it have a way to let you know that it exists). I will be using your site from now on.

<comment><USER12> Snew hasn't been updated in a couple years, its author is focused on a decentralized reddit called [https://notabug.io](https://notabug.io)

I'm the author of [https://www.reveddit.com/about/](https://www.reveddit.com/about/). It's a fork of removeddit that adds features like user pages and notifications when your content is removed.

</comment></comment></comment><comment><USER13> I can see some people being rubbed the wrong way by the language in this post but it sounds like a reasonable criticism by someone who has gotten tired and annoyed, and seems to mostly represent accurately the discussion in that ticket.

Does anyone know a decent counterpoint to this? Or an argument why Gnome is being reasonable?

<comment><USER14> Well, I don't really think the Gnome is being reasonable since they've ditched 2.34 for 3.0 pre-pre-pre-alpha and started to shove their "supremacy" to everyone. I do really think this has nothing to do with normal community open source project but more like being thightly controlled by a corporation that focuses on tickets and changes for sake of doing something because someone (and their managers) has to report and prove being sallary-worthy. So the project is dissolving (itself; the linux "desktop"; and the public view about it; and what is the most important - the at least somehow unified user experience we used to have across major gui toolkits) in a highly-toxic-and- radioactive-"opinionated" egos.

<comment><USER15> > Well, I don't really think the Gnome is being reasonable since they've > ditched 2.34 for 3.0 pre-pre-pre-alpha and started to shove their > "supremacy" to everyone.

Do you by chance know of an article that documents that? I remember seeing one back then that compiled discussions with gnome developers from multiple sources showing that, but I've lost it since then.

<comment><USER14> I am very sorry, I don't have any. It's been a long time since then

</comment></comment></comment></comment><comment><USER16> KDE on the other hand, is real nice these days

</comment><comment><USER8> I'm unhappy with gnome too, but I run a distro because I'd prefer to do doing something other than writing my own OS from scratch.

Unfortunately, because gnome is what most people use and what the distro defaults to other choices are inherently second class.

I happily used xmonad for years, but eventually got forced out of it due to compatibility especially once things started using wayland.

I wonder if us desktop users need a pact of the form that we'll stop using gnome completely of 51% of other users also stop using gnome. :)

</comment><comment><USER17> No matter what your preference, sabotaging a desktop environment by calling `exit();` is certainly not the way to go: you're only hurting your users.

<comment><USER15> It's not sabotaging. It's removing support.

<comment><USER18> Back in the day, that's roughly how web developers would frame it when they tried to rationalize making websites that would deliberately refuse to load if the user-agent said something other than "MSIE".

Removing support is a passive action; you accomplish it by just doing nothing. Calling exit() is rather more on the aggressive side.

All that said, good on 'em. I got a decent chuckle.

<comment><USER19> > Removing support is a passive action; you accomplish it by just doing > nothing. Calling exit() is rather more on the aggressive side.

It's more graceful than the program exiting in a bad way because you passively decided to stop support.

</comment></comment></comment></comment><comment><USER20> I guess I'm in that minority of people that left me when it went through the boondoggle of the early super broken 4.x releases, and started using gnome 3. Gnome 3 is distraction free to me. I don't even notice it most days.

There's a few forks and there's always elementary if you want to pay for to truely support folks.

<comment><USER21> You're not alone. I don't know that we're the minority. Satisfied users usually just aren't very vocal about it.

</comment></comment><comment><USER22> I ditched GNOME in 2015 for XFCE and haven't looked back. Their attitude is pompous and atrocious. Send them to the bins of history where they belong.

      Fck GNOME devs coming straight from tha underground
      A young hacker got it bad cos he's out
      of other FOSS choices so devs think
      They have the authority to break their reverse dependencies
      Fck that shit, cause I ain't the one
      For a brainwashed developer to be lecturing on
      "If you don't like it, just don't upgrade"
      what and use unsupported software with no security updates?
      Fcking with me cos I'm not an average user
      So I gotta put up with the preferences of pretentious designers
      Rearranging my workflow, oversimplifying their product
      Thinking every user is a fcking dumb idiot
      You'd rather see, me wasting time
      Than take responsibility for your poisonous party line.
      Pwn a GNOME dev with an 0-day
      and when I'm finished, fck with GTK
      to pad a hundred pixels inside every border
      yeah enjoy your own fcking bread and water!
      I don't know if they NSA
      Slowing hackers down, and wasting screen space
      And on the other hand, without FOSS they can't get jobs
      Cause they just failed at trying to be Steve Jobs.
      Dumbing down the ecosystem, training user ignorance,
      Spitting on those who built our community in the first place!
      Anonymous will rewrite
      Every application with a GNOME design
      Just cause I think more mathematically
      Punk designers are afraid of me!
      HUH, a young hacker on the warpath
      And when I'm finished, they'll wish they'd merged my patch
      when they had a chance, but now it's too late
      Yo J, GNOME's been replaced.

      Example of scene one

      [GNOME Dev] Pull up your goddamn debugger right now!
      [Hacker] Aww shit, now what the fuck they changing their API for?
      [GNOME Dev] Cause I feel like it! Now sit the fuck down for 16 hours and patch yo fucking software
      [Hacker] Man, fuck this shit
      [GNOME Dev] Aight smartass, I'm breaking yo entire desktop!

<comment><USER9> Congratulations!!! You win the award for least coherent comment of the month!</comment></comment>


Fuzzing ImageIO - <AUTHOR> https://googleprojectzero.blogspot.com/2020/04/fuzzing-imageio.html <comment><USER2> So these could result in a no-click 0day on iOS? Thanks Google for finding and reporting these to Apple.

I wonder how often vulnerabilities found by Google Zero were already known and exploited by hackers without anyone noticing.

I mean, GZ is pretty open about their methodology. It doesn't require a rocket scientist to duplicate them with different targets.

<comment><USER3> If you're talking about state actors, I'd bet real money that they have these and in fact have an infrastructure that makes finding and exploiting them fast and easy.

<comment><USER2> I am not even about them, just some regular guy with interest in computer security.

Author did this on a Mac mini so no real horsepower required either.

</comment></comment></comment><comment><USER4> An important self-realization, every app I install becomes a potential 0-click remote attack surface. Does disabling notifications at least solve the 0-click aspect?</comment>


Zoom Windows client could allow credentials to be leaked via UNC path injection - <AUTHOR> https://www.bleepingcomputer.com/news/security/zoom-client-leaks-windows-login-credentials-to-attackers/ <comment><USER2> "Zoom doesn't fix Windows oversight that makes Windows leak login credentials"

Sorry, but this one isn't on Zoom. This is all on Windows. You should be able to click a static link and expect it not to send your user password (or an easily crackable hash) to some remote server.

This is nothing new and can also be seen in one of tools I often use to check if my VPN is easily detectable [0].

This is Windows being vulnerable to carelessly authenticating to a remote server using an insecure protocol. Attack vectors also include email, messenger applications, QR codes, and anything else that might form an URI you can click on.

You can prevent this in your firewall by setting the right group policy [1] or blocking outbound SMB/NTLM/etc. in your network firewall.

[0] hʇʇp://witch.valdikss.org.ru/ WARNING: will try to trigger the exact same credential leak on Windows. Use with care. [1] [https://www.securitynewspaper.com/2016/08/06/understanding-w...](https://www.securitynewspaper.com/2016/08/06/understanding- windows-credential-leak-flaw-prevent/)

<comment><USER3> We see a LOT more at home use of zoom by grandparents and others with minimal tech savvy because if Covid19. Telling them to egress block SMB is not helpful. Perhaps we need to put more pressure in ISPs to egress block SMB traffic?

<comment><USER2> This is hardly Zoom-related. This attack can easily be executed from Word files and malicious web pages in the right circumstances.

Microsoff should really disable this insecure method of authentication to public addresses for everyone but business users who rely on it (and whose IT department can manually enable the feature through group policy). There are sort-of-valid reasons to use SMB over the internet (easy network printing for one, as well as mounting disks in networks that still hand out publicly routable IPv4 addresses such as universities) and closing the port would break that functionality immediately.

Why should every residential ISP in the world need to cover up for Microsoft's design flaw? This bug is presented as news but it has been a known security issue for at least 6 years now.

<comment><USER4> Can SMB links be clicked on from a standard browser? If browsers prohibit it, I guess it would indeed be responsible on Zoom's part to also prohibit it.

</comment></comment></comment></comment><comment><USER5> Misleading title, Zoom doesn't divulge the password hash, but also doesn't prevent users from clicking on UNCs.

Having fallen out of paying attention to Windows Server over the past few years, I'd be a little surprised if the weak NTLM hash is still on by default in current versions of Windows (although that's not to say most of the Windows install base isn't in obsolescence).

<comment><USER6> > _I 'd be a little surprised if the weak NTLM hash is still on by default in > current versions of Windows_

Even if it didn't, which I'm not sure about, they still need to send one if you're trying to open a samba share. This attack works by presenting a UNC link to a samba share, which (when the user accepts the credential prompt) will send a nice compatible NTLM password hash.

</comment></comment><comment><USER7> The Zoom client has had multiple problems, here's another article about it:

[https://techcrunch.com/2020/03/31/zoom-at-your-own- risk/](https://techcrunch.com/2020/03/31/zoom-at-your-own-risk/)

I now see senators in my country holding meetings over Zoom and it's horrifying.

I've been avoiding most things Google, but these days I don't have a problem with colleagues using Google's Meet, because honestly I trust Google more than Zoom. Skype is another popular option.

This is a wasted opportunity for a solution like Signal.org to provide support for e2e group video calls. I'm guessing it's not easy to implement.

</comment><comment><USER8> TBF, you can disable NTLM leaking with the registry change below:

      reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0" /v "RestrictReceivingNTLMTraffic" /t REG_DWORD /d 2 /f
      reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0" /v "RestrictSendingNTLMTraffic" /t REG_DWORD /d 2 /f

It's an option of my personal "de-tracking" Windows 10 script [https://github.com/lazerl0rd/ScriptWINg](https://github.com/lazerl0rd/ScriptWINg).

</comment><comment><USER9> The BBC have an article on Zoom security today, where the lack of clear technical statements in the response is quite striking if you are concerned about online security:

[https://www.bbc.co.uk/news/business-52115434](https://www.bbc.co.uk/news/business-52115434)

One interesting point was that the most senior figures in the UK government have been using Zoom to conduct official meetings while several of them are in isolation at home due to the virus. That is concerning given the reported lack of basic security features like full encryption.

</comment><comment><USER10> This should also allow relay attacks, so password recovery isn't the only attack angle.

</comment><comment><USER11> All this attention on zoom should make their product solid if they listen. I will never trust them given free service is part of their business model. They will gather data and sell it. The Chinese government equation is a whole another thing.

</comment><comment><USER12> tl;dr: Zoom chat links UNC paths on Windows, and clicking one sends your username and easily cracked NTLM password hash to the remote host.

</comment><comment><USER13> dang zoom is getting slammed everyday lol

<comment><USER14> Facebook must be really happy.

Good thing about this is the fatigue. We're just a few years away until jo*rnalists lose most of their power.

<comment><USER15> A total lack of oversight of tech companies is a good thing?</comment></comment></comment>


Ask HN: Markdown to HTML - <AUTHOR> What is the proper way to 'transpile' Markdown to HTML?
I know there are static site generators out there, this has already been done, etc. I'm curious about the best way to do it, and if you can, pointing me to an example.
Thank you so much! <comment><USER2> In the beginning, there was the markdown.pl perl script (probably still available on gruber's blog). It converted a markdown file to an HTML file. It was probably also available as a wordpress plugin, which would convert markdown text in the textarea box to HTML.

That pretty much covers Markdown to HTML conversion today - either a standalone utility (markdown.pl, lowdown, commonmark, etc) or a library for your preferred language (kramdown, cmark, etc).

I guess the only other advancement is markdown-savvy editors that render the HTML in realtime as you type.</comment>


Show HN: My Weekend Project (Turn a website into a set of PDF's) - <AUTHOR> http://pdfthisdomain.com/

<comment><USER2> Cool. Can you download pdf or do you have to email it to yourself?

<comment><AUTHOR> Currently it's download only due to the fact that PDF's take a decent amount of time to render.</comment></comment>


Anyone hiring in Japan - <AUTHOR> Hi all,
First if this is the wrong place to ask this question I apologize :)
I'm starting the process of trying to find some work in Japan. I'm finishing a PhD in Electrical Engineering (submitting dissertation in April, but can start work before that). I've also worked for a startup company in America that I helped start that focused on commercializing infrared micro-display screens.
Work experience includes: mixed signal PCB, embedded systems, high speed board design (HyperLynx post analysis), analog electronic design (most difficult design I did used an LMH5401 FDA), software engineering (Python, C, C++, Javascript, d3.js), network engineering (worked in IT for a while and maintain company servers), VLSI ASIC design (Cadence Vituoso), Program management (ran a phase 1 and Air Force SBIR), data anlaysis and visualization, I also like building simulations of circuits and optical components. I've mostly worked on opto-electronics designs in terms of hardware.
I like working in teams and also building / leading effective teams.
Will work hard because I like working hard :)
portfolio website: joshmarks.xyz (I'm updating slowly with new project write-ups)
If you have any leads I'd appreciate it!
Thanks all! <comment><USER2> I worked for Honeywell out of Tokyo in the late 1990's, they treated their international staff extremely well. I repeatedly traveled to mainland China, South Korea, Singapore, and all over Japan as an engineer working on industrial metal and plastic measurement using radiation. They arranged for multiple re-entry business visas, so the international travel was no problem - there were actually days when I went to the office and they handed me airplane tickets before I got coffee. I suggest sending "desire-to-relocate" cover letters with resumes to large firms with offices overseas if this seems interesting.

</comment><comment><USER3> Just the namespace is a bit off: your "Ask HN: " prefix is missing, that's all.</comment>


Brexit court defeat for UK government - <AUTHOR> http://www.bbc.com/news/uk-politics-37857785 <comment><USER2> See also [https://news.ycombinator.com/item?id=12862736](https://news.ycombinator.com/item?id=12862736)

</comment><comment><USER3> I'd love to see what happens if the British parliament denies this. It will be enlightening about the future of all nations to see if this upsets those who have made their voices heard in the popular vote or if people with just roll over and take it.

This is a fun right from a political-science perspective.

<comment><USER4> I wouldn't. Overturning a high turnout national referendum result would probably result in violent riots.

<comment><USER5> We are not a country accustomed to, or we'll prepared for, referendums on complex subjects (I don't know of any that are except Switzerland, which is built on them). If the question were posed again tomorrow, the results might be significantly different.

I don't think we'd necessarily benefit from a massive u-turn, but I think many leave supporters are disgruntled at what it has now been revealed they were convinced to vote for.

So maybe riots, but also quite possibly not, and not necessarily (as it was put elsewhere in the thread) because people are just rolling over and taking it...

<comment><USER6> As a rule, the British don't like to riot. You typically get one or two stand- out riots a decade, but they're rarely for political reasons. (The Poll Tax riots were an exception.)

I can imagine a lot of people threatening riots and outright civil war, but the British right isn't organised enough to do much except march around being loud and annoying and picking a few fights with foreigners.

It certainly isn't intelligent enough, or well-armed enough, to have any hope of winning an actual civil war.

</comment></comment></comment></comment><comment><USER7> Don't worry, they can appeal to the European courts.

</comment><comment><USER8> For those wondering, Brexit will still happen but Parliament may decide to force the government to aim to remain in the single market. They will do this to prevent a cataclysmic economic shock, but in years to come the Brexiters will gloat about how well it all went and people will forget that it was Parliament and remainders that forced sanity upon the process, rather than referenda and populists.</comment>


Proofs are Programs – 19th Century Logic and 21st Century Computing (2000) [pdf] - <AUTHOR> http://homepages.inf.ed.ac.uk/wadler/papers/frege/frege.pdf <comment><USER6> People like to see logic and computing in this way and the author is a great storyteller. But it is a somewhat misleading perspective that is kind of similar to "Whig historiography" ([https://en.wikipedia.org/wiki/Whig_history](https://en.wikipedia.org/wiki/Whig_history)):

> _Whig is an approach to historiography that presents the past as an > inevitable progression towards ever greater liberty and enlightenment, > culminating in modern forms of liberal democracy and constitutional > monarchy._

Just replace the "greater liberty" bit with what computer scientists (and the author) argue is the right way of doing computer science today.

I'd love to read a historical treatment of the topic that is written by someone who is a historian rather than computer scientist twisting history to support their world view.

<comment><USER7> That's not a charitable interpretation ("twisting history to support their world view"), and your comment seems to be conflating the language-logic view _itself_ with the _history_ presented here. The relationship between programs and logic is compelling for many reasons and can stand independent of how the two happened to be developed; my take is that the historical story here—which is definitely too pat—is presented more as an illustration of the idea than anything else.

This is no different than how math textbooks present the history of any particular mathematical abstraction or theorem: they don't go in depth on all the false starts and dead ends people explored before making real progress. That's certainly something interesting but it has no place—and no room—in textbooks dedicated to _explaining_ abstractions. The simplified story of how something _could_ have been developed is, I believe, more relevant to understanding the importance of an idea than the way it _was_ actually developed. The real history is full of noise, a function of the person who first happened upon the idea. It's not hard to image thousands of alternate worlds where the exact development of an idea was slightly different, but reflecting the same fundamentals—those differences end up as irrelevant details due to chance.

<comment><USER8> > This is no different than how math textbooks present the history of any > particular mathematical abstraction or theorem: they don't go in depth on > all the false starts and dead ends people explored before making real > progress. That's certainly something interesting but it has no place—and no > room—in textbooks dedicated to explaining abstractions. The simplified story > of how something could have been developed is, I believe, more relevant to > understanding the importance of an idea than the way it was actually > developed.

Unfortunately, textbooks rarely do even this. That is, they don't supply nearly enough justification/motivation for the complicated definition they posit and the structures they develop. For the canonical (and accessible) bit of philosophy of mathematics on this, I highly recommend Lakatos' "Proof and refutations" [1]. As a demonstration, it gives a very non-historical and exhaustive explanation for the definition of an "honest" polyhedron with respect to Euler characteristics [2], and is liberally footnoted with the actual history. Unfortunately, textbooks have not improved much since it was written in 1963.

[1]: [https://math.berkeley.edu/~kpmann/Lakatos.pdf](https://math.berkeley.edu/~kpmann/Lakatos.pdf) [2]: [https://en.wikipedia.org/wiki/Euler_characteristic](https://en.wikipedia.org/wiki/Euler_characteristic)

<comment><USER7> Ah, that's a fair point. Most math textbooks are not that great pedagogically—perhaps I was just projecting how I think mathematical ideas _should_ be introduced :).

I'm definitely trying to do this myself: whenever I teach an abstract concept (more from PL than math), I've started to explicitly note both the formal definition _and_ why it's interesting or relevant. Many explanations of abstract concepts I run into forget one of these components or the other, and it never ends well...

</comment></comment></comment></comment><comment><USER9> I love Wadler's papers. He did one on Monads that was approachable and revealing for me. I also love logic and the predicate calculus.

Highly recommend reading this one. :)

<comment><AUTHOR> Which paper?

<comment><USER9> [http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/ba...](http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf)

</comment></comment></comment><comment><USER10> Anyone really familiar with this: are non-constructive proofs, things like Cantor Diagonalization or Erdos's Probabilistic Method, programs? Are they just non-terminating programs?

I can see Cantor Diagonalization as a non-terminating program really easily, but I don't understand what the Probabilistic Method looks like as a program.

<comment><USER11> Cantor's diagonalisation is certainly constructive. Given a a sequence of sequences of binary digits, it gives a way of constructing a sequence not occurring in the sequence of sequences. The resulting sequence is as computable as the input.

But to answer your question: Many mathematicians regard their (classical) proofs as algorithms. They just allow themselves to use an oracle call for _any_ well-formed question:

Say I want to prove B. Then, at some point in my proof, I formulate a sentence A, and make a call to the oracle. My proof/algorithm then branches: in one branch I assume A is true, in the other I assume A is false. If I can continue such each branch gives B true, then my proof works (classically). [0]

The constructive critique is that such an algorithm cannot be executed my humans, or turing machines for that matter.

Also there is a whole continuum of stronger and stronger oracles below this ultimate oracle allowed by classical logic — which is an interesting continuum to study. Often one can locate an exact class of oracles needed for a given classical proof to work out.

[0]: This is the «church encoding» version of the law of excluded middle: For all B, we have (A → B) → (¬A → B) → B, which is equivalent to the usual formulation (A ∨ ¬A).

<comment><USER10> Gotcha. So basically the "axiom" of the law of excluded middle would become an oracle, and then with a call to that oracle a problem requiring the law of excluded middle becomes a proof. Basically - the axiomatic decisions made by mathematicians can be represented as programs by turning them into oracles.

In this case, with the axiom of choice implemented as an oracle, the program for Cantor's Diagonalization can be written.

This makes a kind of ultimate sense. Rice's Theorem shows how a program with an oracle about the behavior of a Turing Machine is contradictory, and this implies that "even with a finite set of axioms" there are no proofs about general classes of Turing Machines and thus there are statements independent of mathematics (a kind of Godelian statement).

Is that right?

If so, that's profoundly simple and also incredible to me. (Hopefully I haven't excited myself into thinking I "got it".)

Could you help me understand what Erdo's Probablistic Method looks like as a program? Which oracles might be required and how you would call them?

<comment><USER12> I was thinking about LEM today. Without the oracle, you can prove that the double negation of the law of the excluded middle is true, which can be represented with the following type:

        negneg_lem :: ((Either a (a -> r)) -> r) -> r

I'm using a polymorphic r to represent the void type, and I'm using the idea that "not a" is the same as "a -> r".

The proof of negneg_lem is just

        negneg_lem f = (f . Right)(f . Left)

No oracle there. If you had an oracle

        oracle :: ((a -> r) -> r) -> a

then you would get the normal LEM as

        lem = oracle negneg_lem

An interesting thing about the type (a -> r) -> r, i.e., double negation, is that it is the type for continuation-passing style. This suggests that a classical proof is something which is allowed to do backtracking search, but I'm still trying to understand exactly how that is.

(Also, the oracle is somewhat absurd. Really, if you have a function which takes functions, you can produce an element of the function's domain? It might almost make more sense if r was a void type.)

<comment><USER13> Yes, classical propositional logic can be given a constructive interpretation using call-with-current-continuation. This was first worked out by Timothy Griffin [1], and there is a cute story by Philip Wadler about making a deal with the devil [2, section 4].

[1] [http://www.cl.cam.ac.uk/~tgg22/publications/popl90.pdf](http://www.cl.cam.ac.uk/~tgg22/publications/popl90.pdf) [2] [http://homepages.inf.ed.ac.uk/wadler/papers/dual/dual.pdf](http://homepages.inf.ed.ac.uk/wadler/papers/dual/dual.pdf)

</comment></comment></comment></comment></comment><comment><USER14> This may be slightly OT - but the one thing I have always wondered about the 19th century is why Babbage didn't go down the route of Boolean logic/math for computation? Furthermore, why he didn't incorporate and use relays (from telegraphy)? For that matter, why didn't Hollerith?

Ultimately, to me it seems all connected to this "fixed" idea (that is, thinking "inside the box") that computation was about numbers - that there was only calculation and tabulation - counting, iow.

While Boole came up with the math/logic - few pursued the idea of making machines to work with it (a few -did- exist, but were obscure, iirc); embodying logic using electrical circuits would have to wait. Then there was the "revelation" of computation being about symbols, not numbers - <USER2> opened everything up.

I'm just kinda rambling here; my apologies. And, hindsight is always easier than foresight, of course. It just bugs me, and makes me wonder what "obvious" ideas we are missing today, that will change the world, that we won't know until we look back. I guess I wonder why many of the most world changing ideas (in the long run) are often very simple, and why did it take so long for humanity to see/discover them? I wonder if anyone has studied this - of if it is something that can be studied...?

<comment><USER15> I would think that computers were being made to be _useful_ first and foremost. And binary computing was not really useful for logic and number crunching until a number of advancements.

Babbage analytical engine - <USER3>

Boolean algebra - <USER4>

two's complement - <USER5>

<comment><USER16> Your list is missing a very important advancement from 1937:

[https://en.m.wikipedia.org/wiki/A_Symbolic_Analysis_of_Relay...](https://en.m.wikipedia.org/wiki/A_Symbolic_Analysis_of_Relay_and_Switching_Circuits)

</comment></comment></comment><comment><USER17> That's certainly a very language-and-logic perspective on things. But one of the reasons Church missed the general concept of computation whereas Turing didn't was precisely because Church was stuck in the formalism of logic, and couldn't recognize that computation extends well beyond it. So proofs are programs, but so are, say, metabolic networks, neuron networks, and just about _any_ discrete dynamical system. But are metabolic networks _proofs_? That's not so clear, and therefore it's not so clear that there is a universal equivalence here.

<comment><USER18> Its the program itself that is the proof, not the computer running the program.

In a sufficiently powerful type system you can express any proposition as a function type. A proof of that proposition is also a program. The proof checker is a type checker. If your proof is invalid, your program won't type- check.

Coq ([https://coq.inria.fr/](https://coq.inria.fr/)) is a real-world example of exactly this.

<comment><USER19> But what if the program that runs the proof will never terminate? For example I could write a 'proof' for some property of natural numbers by just iterating through all of them and every time validating the property.

Isn't a proof only valid if it can be validated within a reasonable amount of time, either by some human or by a computer?

<comment><USER20> Quoting from Wikipedia: "Because of the possibility of writing non-terminating programs, Turing-complete models of computation (such as languages with arbitrary recursive functions) must be interpreted with care, as naive application of the correspondence leads to an inconsistent logic. The best way of dealing with arbitrary computation from a logical point of view is still an actively debated research question, but one popular approach is based on using monads to segregate provably terminating from potentially non-terminating code (an approach that also generalizes to much richer models of computation,[6] and is itself related to modal logic by a natural extension of the Curry–Howard isomorphism[ext 1]). A more radical approach, advocated by total functional programming, is to eliminate unrestricted recursion (and forgo Turing completeness, although still retaining high computational complexity), using more controlled corecursion wherever non-terminating behavior is actually desired."

</comment></comment></comment></comment><comment><USER21> I had math professors that would express this sentiment in undergrad. It is very true.

However, problem sets generally aren't graded like they're programs, haha.

</comment><comment><USER22> curry-howard and Wadler's "Propositions as Types" talk at StrangeLoop* opened my eyes pretty early on to the sweet, sweet utility of logic in my every day programming. it sounds odd to start with but I never realized why these things mattered prior to viewing this talk.

props to wadler. best ~40 minutes I've ever spent.

*[https://www.youtube.com/watch?v=IOiZatlZtGU](https://www.youtube.com/watch?v=IOiZatlZtGU)

<comment><USER23> Thank you, that was a delightful talk, I did not know Wadler was so enthusiastic (but I have to say, most logicians and theoretical computer scientists are).

</comment></comment><comment><USER23> Does there exists research that uses results from computation theory and applies them to physics? Admittedly I am not sure what exactly I mean by that or what I am searching for, but I believe there is some deep relationship between limits in computation and limits about what one can say about the physical universe (which could be the same).

<comment><USER20> "Physics, Topology, Logic and Computation: A Rosetta Stone"[1] might be a starting point.

[1] [http://math.ucr.edu/home/baez/rosetta.pdf](http://math.ucr.edu/home/baez/rosetta.pdf)

</comment></comment><comment><USER24> i am having my doubts these days.

i would like to read my programs as proofs. then I ask myself what is the Amazon.com front page proving?

we talk about proof writing in Haskell or Agda. What about Python? Can we prove things there?

And finally I think about the statements I would actually like to prove? Much of mathematics requires second order logic or beyond, such as the Fundamental Theorem of Calculus.

So for me the triad between Math and Logic and Computer Science is less than air-tight and will remain that way.

<comment><USER25> The Amazon.com front page generating code is a proof relating some properties of its output to its input and that it halts. However it's also basically incomprehensible, so I doubt anyone alive could actually tell you precisely what it's proving.

Your ability to prove something in any language is dependent on having a formal semantic for that language, or at least for a cognitively manageable subset that you're willing to restrict yourself to. The language semantics and memory model serve as axioms.

Given how American programmers are trained, it's not realistic to expect them to be able to think of programs in a logical semantic way. There is something of an art to it and it's hard to learn a new way of thinking when you're satisfied with a way you already have.

I agree that you can have an enjoyable hobby or make a living programming without really understanding what you're doing beyond intuitively and that's totally fine. Computing time is cheap and most applications don't cause any great harm when they behave in unintended ways. However the isomorphism between predicate calculus and computer programming isn't subjective. Programs really are proofs, just some of them are very sloppy.

</comment></comment><comment><USER26> Write a program to prove another one. It's pretty cool in concept, but is it useful in practice?

<comment><USER27> This isn't necessarily about proving other programs. It is about showing that at a very fundamental level, formal logic (as studied by logicians) and typed programming languages (as studied by computer scientists) are actually the same thing, but written in different ways.

The basic idea is that there every typed programming language is analogous to a mathematical logic system and that

* programs are analogous to logic statements (theorem) * a program's source code is equivalent to a proof of the theorem. * type-checking a program is equivalent to checking if a proof is correct. * Executing a program is equivalent to simplifying a proof.

If we restrict ourselves to the sort of type systems in mainstream languages the logic statements that the types can express are somewhat limited and not very interesting. The proofs as programs analogy really starts getting interesting when you have a very powerful type system...

One place where you see these powerful type systems is in the proof assistants for people who want to formalize mathematics. It turns out that writing proofs on these proof assistants is surprisingly similar to programming in a typed functional language! It is kind of interesting because all that you care about is that the program you write (the proof) type checks (is valid), and you don't actually ever run it.

Coming closer to the software development side of things, some of these proof assistants can be used to produce formally verified software. Basically, what they do is that instead of throwing away the programs (proofs) that you write, they compile them down to executable code.

This is not something that is very applicable to the general software population though since formal verification is a niche thing. It also doesn't help that these tools are currently super clunky to use and have a steep learning curve involving lots of difficult math.

<comment><USER26> Hum, admittedly, most of this is past my knowledge graph, since I know nothing of mathematical logic.

Are you saying the practical relevancy here is actually to logicians? In that it means they can now more easily come up with proofs for their theorems by simply writing a program instead of whatever more complicated paper proof they used to have to come up with?

And that for software, it's only helpful in special cases where you need to guarantee a small piece of logic is 100% correct?

</comment></comment></comment><comment><USER28> shame about the misplaced apostrophes</comment>


Native reactive spreadsheet in 17 LOC - <AUTHOR> http://www.red-lang.org/2016/07/native-reactive-spreadsheet-in-17-loc.html <comment><USER2> A spreadsheet in fewer than 30 lines of JavaScript (uncompressed), no library:

[http://jsfiddle.net/ondras/hYfN3/](http://jsfiddle.net/ondras/hYfN3/)

[https://news.ycombinator.com/item?id=6725387](https://news.ycombinator.com/item?id=6725387)

You can compare it to the readable 67 lines of code in red-lang

<comment><USER3> Red's author here. In all fairness, for that JS spreadsheet to not look ugly, you need to account for the CSS code too, which is ~35 more lines of normally spaced code. Also, there's no realtime reactivity like in our demo where the cells update as you type.

For the "no library", well, you have tons of libraries included in a ~100MB runtime (browser) required to run and render that demo, while Red's one runs on the OS directly (our runtime is 0.6MB uncompressed and entirely written in Red, not a single 3rd-party library). ;-)

That said, that JS demo code is very nice, and its slickness impressive.

<comment><USER4> If we're really going to be fair, the JavaScript is a much more readable 30 loc than your nigh incomprehensible block of "17" loc which looks like something out of the obfuscated C contest. I expect you rely on the OS for some stuff, why not factor in the size of that?

<comment><USER5> I am no expert here, but given the Red system is under 1MB, and the Java browser is over 100MB, wouldn't what they use in the OS be the same, and therefore Red is still 100 times smaller. Just curious. I find the whole self- contained thing under 1MB with no dependencies very intriguing. Especially afer looking at the other demos that are not trying to code golf. Great GUIs and respectable speeds, and easy to distribute.

<comment><USER4> Code never runs in a vacuum, so arguing about the size of the elephants on the way down is pointless, which is my point.

What I do see is that the JavaScript does all of this much more cleanly and intelligibly, and has an honest line count.

Incidentally, I also think that cleanly separating presentation from logic is an advantage of the JS / CSS divide, even is JavaScript if far from perfect and CSS is actively horrible.

<comment><USER6> I did a VID version of the demo, that shows a hint at how styling works in Red.

[https://gist.github.com/greggirwin/8d0b1c02ccdbd5520d9c77d49...](https://gist.github.com/greggirwin/8d0b1c02ccdbd5520d9c77d49ea91ada)

The reactive logic is all lifted from the original. Around line 40 you can see where styles are defined inline. Originally I had them just defining visual aspects, but then moved the actors into the cell style as well.

With native widgets, you don't get complete control, and they won't match across platforms. Rebol had its own GUI system, and I wouldn't be surprised to see something similar done by a clever Red...we don't have a name for folks who write Red yet. Racket got the best name, with Racketeers.

<comment><USER5> Good to see that. After all, the article was close to code golfing and not using the new VID to keep it succinct.

More VID demos and the type of FRP in RED would be more enticing to me. But truth be told, I stumbled upon Red when looking at short programs translating text to morse code. The Red example (from Rebol actually) was very short, yet easy to read. I program in J, so I know what short, and unreadable means to others; I personally like J.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> That's pretty fancy, and (as another poster said) a great way to pitch the language. Nice work!

While I feel that expressiveness is good to an extent, I can't help feeling that there's a certain point beyond which increasing expressiveness is detrimental to productivity and overall code quality. While it's certainly elegant and satisfying, in order to read or understand the code you have to 'unpack' it mentally, requiring much more work than if it had been written at a lower level of abstraction. This seems to me to be related to something I read recently (I wish I could find the link), saying that all human languages tend towards a fairly predictable word entropy which allows a good balance between efficiency and error correction capability.

(Obviously this was a demo to highlight the language's power, and not how you'd write real-world code, but still.)

<comment><USER8> A general comment, noting related to any specific language.

The mental unpacking to read does improves over time, as you get familiar with frequently occurring patterns. But what I find more interesting is the "write" side of the story, not the "read" side. I have encountered many who think just because the code is short and succinct it must have taken no more than a jiffy to write. It takes mental effort to distill a complex idea to a short idiomatic string.

What you get rewarded with after that exercise is less space for subtle bugs to hide. It is quite difficult to write very short pieces of code with non- obvious or subtle bugs.

<comment><USER7> True, it's applicable to any language which aims to be dense in this way - just something that's been bugging me.

Unpacking ability certainly improves over time. The problem is, so does packing, such that they tend (at least in my experience) to balance out. The time taken to write, and read, code is dominated by the per-concept costs. So you end up with the writer and the reader of the code still taking the same amount of time per concept, but they're also doing a bunch of translation steps alongside. Since these steps are fallible, you've reduced the overall efficiency.

There's not less space for subtle bugs to hide. The space is just folded up, and bugs can also hide in between the folds.

<comment><USER6> Agreed. We can't say that packing is universally good or bad. You can have a dense tangle or distilled elegance.

</comment></comment></comment></comment><comment><USER9> Pretty cool.

However, how can you call it 17 LOC and then put in a link to a "readable" version with 67 LOC on the same page.

<comment><USER3> The 17 LOC version is still relatively readable for someone fluent in Red/Rebol, despite the tight vertical packing. I could have claimed 14 LOC using the minified version [1], but in such case, I couldn't have called it "readable" at all. ;-)

[1] [https://gist.github.com/dockimbel/091cc787b366a3d88972b8cb9e...](https://gist.github.com/dockimbel/091cc787b366a3d88972b8cb9e2878b2)

</comment></comment><comment><USER10> This is nothing, I've seen some pretty substantial JS apps that are only one line.

<comment><USER11> Care to share any examples?

<comment><USER12> [https://fb.me/react-15.2.0.min.js](https://fb.me/react-15.2.0.min.js)

<comment><USER13> Well, you're technically correct, but minified JS is kindof cheating, right? I mean, I've written multi megabyte C# programs that I could minify to just a single line, but it wouldn't be right.

<comment><USER14> I think that's their point.

</comment></comment></comment></comment></comment><comment><USER15> Wow. That's how one should pitch a new programming language to programmers.

>Yeah, we still count in KB.

Sadly, no one cares about such things nowadays.

<comment><USER16> I care. Demomakers care. Serious compiler and interpreter writers care. Embedded systems developers who have to write for microcontrollers based on 8051 architecture care. Even the 6502 and Z80 may still be in production in some capacity and their buyers care.

Maybe web developers don't care, but nobody really cares that web developers don't care. /s

<comment><USER17> Most web developers probably don't, but neither do most native application developers. In any area there's a subset that cares a lot [1] but for most apps getting the business model right is more effective than squeezing out a few kb.

[1] [https://code.facebook.com/posts/1365439333482197/how-we- buil...](https://code.facebook.com/posts/1365439333482197/how-we-built- facebook-lite-for-every-android-phone-and-network/)

<comment><USER18> Doing something is often more important than doing it well.

</comment></comment></comment></comment><comment><USER19> Great to see Doc and the team doing more cool stuff with Red. What's the word on Faces and other UI elements? Tough language to get into, but really intriguing.

<comment><USER20> I think what the Rebol guys found was that it was generally tough to get into by experience programmers who were used to looking at C-style syntax. New programmers, however, tended to pick it up very quickly.

</comment></comment><comment><USER21> If by expressiveness the author (wrongly) assumes number of characters per line and LOCs per commit, then Red/Rebol has _nothing_ on J/K (and probably Perl as well).

However. At one point reading and deconstructing a tangled mess of characters outweighs the "expressiveness" of the language.

More than "expressiveness" a language needs docs, community, tools.

<comment><USER22> >then Red/Rebol has nothing on J/K

And of course, you will show us same capabilities, gui, reactiveness in J/K, won't you?

<comment><USER23> Glad to oblige, for K:

        S..t:".[`D;(;);{. y};S[]];S[.;`f]:9$D[]"
        S:D:.+(`$'_ci 97+!26;26 99#,"")
        `show$`S

This K (K2/K3) version of a simple spreadsheet (so demoing GUI, "reactiveness") is also mentioned in the original post's comments.

<comment><USER22> So, I did this: [https://gist.github.com/maximvl/8d4cd6c9139f6f8f3729f4ba59fa...](https://gist.github.com/maximvl/8d4cd6c9139f6f8f3729f4ba59fa78d1) and nothing happened. How do I run this?

<comment><USER23> Seems you're running Kdb+ (also known as "Q" or "K4"). You need K in the older K2 or K3 version to run the above. Kx stopped selling K2/K3 so they are basically no longer available.

<comment><USER22> I see, well, it's good that Red is open-source.

</comment></comment></comment></comment></comment></comment><comment><USER24> A formula which is allowed:

        =alert("whatever")

Still, pretty cool though

</comment><comment><USER25> How fast is the red language?

<comment><USER20> My understanding is that when compiled it is nearly as fast as C.

But my feeling on "fast" is generally; how fast does the solution need to be? I have a co-worker who complained that more business logic client-side would slow down our application (it won't, of course). Our application gets on average about 2 requests per second for any given customer. It is by all human perception plenty fast. It doesn't need to be any faster and even being a little slower would go unnoticed. Its all behind a login and isn't intended to be crawled so SEO isn't an issue. Yet once again the ultra-vague benchmark of "fast" gets bandied about needlessly.

But back to Red. From what I've seen its pretty fast but its also early days for the language and they're not focused yet on optimization. Looking at how it is designed I can see how it will be eventually VERY fast once optimized.

<comment><USER6> In the early 90s I was using VB1 to write Windows apps, while a colleague was writing in C. He said my app would be a lot slower than his. I countered that my app would be a lot faster than his. Probably 12-18 weeks faster.</comment></comment></comment>


Model 3 production choices - <AUTHOR> http://www.businessinsider.com/tesla-model-3-problems-threaten-company-future-musks-job-2018-1 <comment><USER2> The article mentioned that "Tesla is striving and failing to build a pretty simple vehicle. The Model 3 is basically an electric Honda Accord. And Honda without noticeable effort builds and sells over 100,000 of those every single month in the US alone.".

I've always been too afraid to ask, with all the knowledge and best practices in car making, even consider Tesla isn't willing to hire other factories to make the car, what exactly is costing so much more time than it seems to its competition in terms of making car? Is it because Tesla bet too much time and resource on a much more autonomous production line which failed to deliver?

<comment><USER3> Honda also has multiple factories and is using tried and true technology. Tesla on the other hand uses newer parts, technology, and manufacturing techniques.

On the short term sure it's painful. Long term it should give them a huge competitive advantage. So long as they can keep up demand.</comment></comment>


Engineering's stark racial inequalities (U.K.) - <AUTHOR> https://www.theguardian.com/technology/2016/dec/26/engineerings-stark-racial-inequalities-revealed-by-report <comment><USER2> Race may not be working as postulated here. Not having minority friends can promote racism, but that goes both ways. Being a minority and not socializing with the majority much means minority STEM job candidates may not understand common assumptions, jargon, and other key details. Being disconnected from employers socially can lead to resumes and interviews missing the mark. Instead of calling for employers to be less racist it might be more effective to find more ways and motivations for minority STEM graduates to integrate with the subculture.

</comment><comment><USER3> If this was really about race (as opposed to skills) non-racist companies would be more effective and out-compete the rest, especially given current shortage. These companies would probably be started by the discriminated people in the first place. Pervasive unjust discrimination is only possible in mono and oligopolies and/or if the law compels it.

<comment><USER4> Racism can't exist because it's inefficient? Great! Glad we got that little "racism" problem solved. Good work.

<comment><USER3> If what you call racism is inefficient, you should explain what market barriers prevent its disappearance, for developers in the developed world, in the UK in particular.

If its efficient, by calling it a problem you're implicitly saying that some people - presumably company owners? - should make their companies & teams less efficient, which is another way of saying they should _waste_ resources. Even if some would agree with you, by doing that they would open themselves to a danger of being outcompeted by more efficient entities.

</comment></comment></comment><comment><USER5> I like the methodology of this study, does anyone know of something similar in the US for CS grads?</comment>


Marriage Isn't For You, It's For The Other Person - <AUTHOR> http://sethadamsmith.com/2013/11/02/marriage-isnt-for-you/

<comment><USER2> That's a really misleading way to put the sentiment that you should love your spouse selflessly. And marriage is definitely also about you. If you're in a relationship with someone who isn't reciprocating your selflessness you should probably give it some deep though.</comment>


How DEA Agents Took Down Mexico's Most Vicious Drug Cartel - <AUTHOR> http://www.theatlantic.com/magazine/archive/2016/01/drug-enforcement-agency-mexico-drug-cartel/419100/?single_page=true <comment><USER2> An ultimately futile thing to do until we change our own drug policies which fuel the economic incentives for such cartels to exist. Unless we change out laws and end prohibition new cartels will continue to spring up out of economic necessity.

<comment><USER3> It's a fantasy to think that the cartels and their violence would stop existing.

Even if governments legalized all drugs by eliminating all anti-drug laws and agencies, the cartels and the people who run them would quickly find another path to profitability. They would find or create another industry in which applying their violence gives them a competitive advantage.

<comment><USER4> Let them do that then. It's not as if it would be easy. Prohibition showed how effective legalization can be (and I don't mean just marijuana). Legalize everything across the board. That means pharma-grade cocaine, heroin being sold without prescription (and taxed) to any adult that wishes to buy them.

Alas, let's not pretend that the 'good guys' (at least the americans) want to solve the drug problem. It results in lucrative profits that can be kept off the books and fed into various "programs", and has also led to the establishment of a massive bureaucracy that will be hard if not impossible to dislodge.

Someone else mentioned the movie Sicario in this thread. It's pretty bad in terms of plot, but one line comes to mind: One of the characters that plays a CIA agent says: "If only 20% of the population could be pesuaded to stop smoking and snorting that shit..." in order to conveniently shift the blame towards the populace. As if that worked with alcohol, or cigarettes or anything that can short-circuit the pleasure/reward neural pathways.

But I'm digressing here. A bad movie does not a point make. The real CIA knows full well I imagine that legalization is the only real solution to the problem (even if it comes with its own costs) but of course the real CIA also needs endless suitcases full of dollars to fund its operations.

<comment><USER5> > pharma-grade cocaine, heroin being sold without prescription

what do you honestly think our society would look like if this were the case ? Have you seen what cocaine does to people ? Have you seen how it causes people to lose their impulse control and go crazy ? What about driving ? We have a bad enough problem on our roads right now with alcohol, what do you think the morning commute will be like with people high or nodding off from opiates ?

I'm certainly against our drug "war" just like most people, particularly with its draconian punishments, but be careful what you ask for.

<comment><USER4> Have you seen what huffing glue does to people? They go completely crazy. Maybe we should ban glue too.

You do realize cocaine and heroin used to be sold at pharmacies in the 1900s? There were a lot of functioning heroin addicts back then who could hold down a job and live a normal life. Nobody talks about that though.

Somehow they didn't trigger the collapse of civilization. The existing legal frameworks are enough to deal with _abuse_ of those substances, we don't need to ban the substances themselves just because of the _potential for abuse_.

This is the same idiotic argument that opponents of marijuana legalization present. They assume vast numbers of the population will start fiending on those substances and it's only THE LAW that keeps them in check. This has been proven false time and time again, in Europe and in the US states that legalized, but don't let that stop you making the same fallacious points.

<comment><USER5> > Maybe we should ban glue too.

if it bound to the same dopamine receptors it would absolutely be banned, and called a narcotic.

> You do realize cocaine and heroin used to be sold at pharmacies in the > 1900s?

what percentage of people drove back then, per mile, per day, and at what speed ? Nodding off in your model-T is quite incomparable to nodding off on the 405 Freeway. Hell, what percentage of people even had _access_ to a store ? Most people lived on farms and went to town once a week. They didn't rely on money as much, they grew their own food and sustained themselves.

This is the same idiotic argument that free-drugs-for-all proponents always present. They assume the same cultural viewpoints from 1900 still apply today. They assume every other variable has been controlled for and still applies, then uses strawmen aguments like "lets ban glue too".

People _didn 't know_ how addictive heroin was in 1900. It was just another drug in a pharmacy for people with a cough. The mechanisms for how they worked weren't discovered yet. The same stressors from family and society that drive people to seek chemical escape didn't exist back then. Please retry your argument, sans strawmen, and lets see how you do. Here's how ridiculous your strawman sounds: "You know, cars didn't have seatbelts back in 1900, those people were fine. See, we don't need seatbelts or even airbags today, because people in 1900 didn't have them..." Speaking of 1900, they didn't have the FDA in 1900 either, so by your logic, we should abolish that too and regress to the days when the pharmacy sold _literally_ snake oil and marketed as a cure for all types of cancer. I mean, they didn't have double blind trials back in 1900, so why do we need them today?

<comment><USER6> Do you think alcohol is less dangerous than cocaine?

<comment><USER5> Have you known anyone who has experienced sudden death / heart failure from ingesting one drink ?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> 'How DEA Agents Took Down Mexico's Most Vicious Drug Cartel', and how it was replaced with a similar organization within a week. Besides the drug money is keeping a number of western economies afloat.

</comment><comment><USER8> Money quote from the article: "Drug enforcement as we know it," Herrod [the DEA agent] told me, "is not working."

<comment><USER9> That would be refreshing to hear if you didn't know the next conclusion to be drawn would be, "Therefore, we need to double down and increase funding."

</comment></comment><comment><USER10> By spending billions of dollars to stop people from committing victimless crimes.

<comment><USER11> In other countries, no less. I wonder how the American public would like Mexican government authorities doing the same thing within our borders?

Team America, World Police.

</comment></comment><comment><USER12> "Mexico's Most Vicious Drug Cartel" \- ¿Dónde está Zetas?

<comment><USER13> The Zetas didn't emerge until after op's story ended.

</comment></comment><comment><USER14> Also, if you're interested in this topic I recommend this TED talk from Yale professor Rodrigo Canales: "The deadly genius of drug cartels" [https://www.ted.com/talks/rodrigo_canales_the_deadly_genius_...](https://www.ted.com/talks/rodrigo_canales_the_deadly_genius_of_drug_cartels?language=en)

</comment><comment><USER15> If you like stories like this, check out the movie Sicario for a very eerie telling of cartels and the police.

<comment><USER16> Narcos on Netflix is also pretty good.

Pretty good is underselling it. I think it's better than Game of Thrones :)

<comment><USER17> Also worth mention the DEA plots in Breaking Bad, especially the scene when bomb exploded next to a bunch of DEA agents, that was terrifying.

</comment></comment></comment><comment><USER18> Try harder seems like it has been done in this area for some time. Can some creativity get into this process? It gets worse the more we invest. The cartels are ever more monstrous.</comment>


DNSSEC Root Key Signing Key Ceremony Postponed - <AUTHOR> https://www.icann.org/news/blog/root-key-signing-key-ceremony-postponed <comment><USER2> And here I was all excited it was because the keyholders aka "trusted community representatives" were protesting the blatant corruption of ICANN. What a shame.

[https://www.iana.org/dnssec/tcrs](https://www.iana.org/dnssec/tcrs)</comment>


In Planning Digital Defenses, the Biggest Obstacle Is Human Ingenuity - <AUTHOR> http://www.nytimes.com/2011/12/06/science/stefan-savage-girding-for-digital-threats-we-havent-imagined-yet.html?_r=1

<comment><AUTHOR> Stefan Savage. Authentic Internet security bad-ass. NYT "Science" essay. Vote this guy up.</comment>


Twitter Missed Their Boat - <AUTHOR> http://rigelstpierre.tumblr.com/post/28143604315/twitter-missed-their-boat

<comment><USER2> I like the idea behind this blog post, but the spelling and grammatical errors made it a confusing read. :\</comment>


Oprah ads 1 million+ users to Twitter. - <AUTHOR> http://www.techcrunch.com/2009/04/20/how-many-new-twitter-users-post-oprah-a-lot-maybe-over-a-million/

<comment><USER2> Summary: first use a method to measure user counts that wrong, then apply voodoo to make the stats seem good, throw in compounding factors that most certainly affect the user count, forget about controlling/discussing other factors, and then publish on a high profile blog.

<comment><USER3> Oh TechCrunch....

</comment></comment><comment><USER4> My revised headline for the article. "@oprah signs up 1.2 million people to twitter; 800k of them to dumb to actually follow @oprah."

She only has 377k followers. If people signed up because of her you think they would follow her if they could figure it out.

<comment><USER5> > If people signed up because of her you think they would follow her if they > could figure it out.

Oprah messed up trying to post to Twitter on her show (refresh instead of update was clicked)

Oprah is a major celebrity who admits to not being able to know everything (that is part of her appeal to soccer moms ala Julia Childs dropping stuff while cooking). The interesting thing is that some social media experts pretend to know everything and/or are indistinguishable from an automated bot that tweets out article links/quotes (read any social media "expert"'s tweets to see what I mean), while some celebrities demonstrate or at least pretend that they are human/normal on Twitter.

"Yes, it's happened. This morning Oprah Winfrey joined Twitter (@Oprah) during her show. Her first Tweet: "ASHTON IS NEXT!" was very anti-climactic. Instead of hitting Update, Nate Berkus hit Refresh. So it went to Twitter purgatory. Her first successful Tweet:"

[http://www.mediabistro.com/webnewser/social_nets/jumping_the...](http://www.mediabistro.com/webnewser/social_nets/jumping_the_shark_or_a_whole_new_begining_for_twitter_114374.asp)

</comment></comment><comment><USER6> _If that pattern is correct — and there isn't much to suggest that it is, but bear with me..._

No thanks.

</comment><comment><USER7> I found out I'm #1766. Yikes! Oprah should put me on retainer, she could have been way ahead of the game.

</comment><comment><USER8> Now Twitter has reached its manifest destiny. Millions of stay at home moms twittering about the funny thing their cat/dog did, followed by "My god I wish there was something on...Oprah, where are you when I need you?"

</comment><comment><USER9> Flagged for being stupid.

<comment><USER2> Can we have a "this is stupid" flag here on HN? Not just a simple flag like we currently have, but an explicit stupid flag. Pretty please?

</comment></comment><comment><USER10> Is she using IE on her Apple laptop?</comment>


Macaw Scarlet – Live Design Environment - <AUTHOR> http://scarlet.macaw.co/

<comment><USER2> Is it just me or is modern web design degrading into flash-era sludge where you have to sit and watch 20 seconds of lines dancing around before you can get any information? As a nerd who can appreciate the technical aspects I'm even finding it extremely overdone and obnoxious. There are cases, such as telling an interesting/interactive story, where it makes complete sense. However for an informational/product web site, I'm generally not there to be W0W3d by your 31337 w3b skillz.

Am I just old fashioned?

<comment><USER3> This is a tool for web designers so it makes sense to try something a bit flashy. Now is it efficient or does it help convey a specific message I don't know. To their credit the site is responsive and there is less animation on smaller screens.

As an ex flash designer, the problem is often that doing these kind of stunts in HTML5 takes way to much time for an average result at best. And the browser tends to behave in unexpected ways( horrible lags when scrolling in Firefox, timing will always be an issue when it comes to webtechs and animation,especially with CSS animations that are totally unreliable , Flash kind of guaranteed a stable frame rate at the price of a higher memory and cpu cost ).

People are also less patient today, they want to get what something is about in less than 10 seconds when they visit a new website.

</comment></comment><comment><USER4> Does anyone have experience with Macaw? Are you using it regularly?

I tried the demo a couple times, but didn't fall in love. It seems like a very compelling piece of software, so I'd like to hear if people using it.

<comment><USER5> Yes, unfortunately I have some mild experience with the original release.

"The previous version of Macaw – soon to be rebranded as Macaw Indigo – excelled at prototyping and mockups. Said another way, Indigo is best for earlier stage, conceptual work and Scarlet is best for getting to production."

So the version I foolishly funded via Kickstarter (come on, it looked gorgeous) and discarded immediately is getting rebranded and the new version is being sold as the version I _thought_ "indigo" was supposed to be.

They should have just released "Macaw 2.0" and fixed the whole shebang, and possibly given early adopters a major discount. All this does is 1) create confusion and 2) skepticism of the company. It didn't have to be this way, IMO.

<comment><USER6> Before there were any comments I thought about typing roughly the same sentiment. I only spent a few hours in Macaw before realizing it wouldn't actually help me get work done and figured I'd take another look when they got around to implementing more than the basics. Based on my experience I also took this announcement as essentially spinning off the useful parts (which regular Macaw users have probably been looking forward to) into a separate product. They have a trial which I recommend, since you can get a feel for the product pretty quickly now that it's actually available. As for what comes next, I'll evaluate it when it's an actual piece of software.

</comment></comment></comment><comment><USER7> Ah yes, the design environment for the web where all your users have new gaming PCs... (the i5 with a mid-class GPU below my desk can't display that page smoothly)

<comment><USER8> I smiled in irony as the "Design for Responsive" text scrolled by at 0.5 fps.

<comment><USER9> It is possible that you are "old" like me and thought that "responsive" meant "responds quickly to your input". These days "responsive" means that if you have a different size display than the person who designed the website, it isn't foobared. It is very difficult for me to repress snarky comments about the state of web design these days, but then I have to remember how ugly the web used to be in the good old days... Flashing red text on blue tiled backgrounds still haunt my dreams.

</comment></comment></comment><comment><USER10> The idea is great, the concept of creating professional grade tools for something is admirable, but in this particular case, whats wrong with Brackets/Sublime/DW/Notepad and a web browser? I find trying to use these new tools results in me spending most of my time either fighting with them or writing custom code outside of them to get what I want done anyway. The website itself looks cool but has an awful frame rate on my i7 Laptop with 16GB of RAM and a Quadro 1GB, which isnt exactly slow.

<comment><USER3> > whats wrong with Brackets/Sublime/DW/Notepad and a web browser

Designers usually have a "visual first" approach, developers tend to have a "code first" approach. So a tool that allows setting up stuff visually instead of writing code in a text editor will make designers more productive.

I've been using Fireworks and Dreamweaver for 15 years and haven't found a good alternative to that. Fireworks is(was) very good at dealing with web assets,it was easy to write macros and extensions in JS, Dreamweaver has good templating capabilities (a bit like static site generators) which makes maintaining complex layouts on multiple pages really really easy for web designers.

The issue with Dreamweaver is obviously the fact that it's out of touch with modern web design (very little support for CSS frameworks and pre-processors, text editor below average, and of course Adobe succeeded in killing the best thing Macromedia had achieved,creating an awesome community around its products).As for Fireworks it's dead.

So designers like me are always watching for alternative tools that could replace these. There is a serious need for innovation in that space. I don't think the UI for such a tool should be 100% web based however.

</comment></comment><comment><USER11> wow that's the first time in years that a website crashed my entire computer (currently using a 1.3ghz dual core new macbook)

</comment><comment><USER12> I'm confused about Scarlet's place in the lineup.

Is it a complementary product for Macaw (now Indigo, apparently), or is it a successor?

<comment><USER13> Macaw indigo was really an app for starting a design but it worked via a proprietary file format. It could export html but couldn't open it. This new program opens html and works within it but has less drawing capability and seems to be more for tweaking like you might do with a text editor otherwise.</comment></comment>


Corporate campaign contributions: legal strategy - <AUTHOR> http://www.law.com/jsp/article.jsp?id=1202439434557&src=EMC-Email&et=editorial&bu=Law.com&pt=LAWCOM%20Newswire&cn=nw_20100125&kw=Risky%20Strategy%20Leads%20to%20Big%20High%20Court%20Win

<comment><AUTHOR> This is neither here nor there but the article as I had posted it was recast from its original title ("Risky Strategy Leads to Big Court Win," which I had used) to one that is actually inaccurate (since the legal case involved what might be called "issues advocacy" and not "corporate campaign contributions"). Just clarifying for anyone interested.

By the way, the interest of this piece lies not so much in its description of the underlying legal case as it does in the human elements associated with it - its theme might be summarized as "how does a government attorney so overplay his hand - by vehemently asserting at oral argument that the law would render illegal virtually all forms of traditional advocacy that an entity might use in this context, e.g., books, pamphlets - that it transforms a little-known case that should have been decided on narrow issues into a major decision that explodes in the government's face?" _That_ is the real drama of what happened here and it is interesting to observe this as a matter of legal strategy regardless of what one thinks of the decision in the case itself.

</comment><comment><USER3> "winningest attorney"?! Seriously?

But it's still interesting issue. While I agree that Freedom of expression is more important than preventing parties interested in the outcome of an election from creating publicity pieces that masquerade as documentaries, maybe we should also consider scrutinizing such expressions closely as to whether or not they should qualify as campaign donations or slander. Such scrutiny should come fast, because the damage done cannot be easily reversed.

OTOH, group A interested in electing candidate B could create a "docuslander" campaign against B in order to get candidate C punished.

It's a delicate and interesting issue.

<comment><USER4> > maybe we should also consider scrutinizing such expressions closely as to > whether or not they should qualify as campaign donations or slander.

How about not? Or, how about we subject "news reports" to exactly the same scrutiny? And, speaking of slander, how about campaigns themselves?

Almost every media outlet in the US is a corporation. It's absurd to argue that GE (owner of NBC) should have unfettered political speech yet Home Depot should not.

You remember GE - they're the folks lobbying for govt mandates for products that they make. Remember that the next time you watch NBC.

<comment><USER3> I am perfectly fine with political ads that look like political ads. I am not perfectly fine with political ads that pretend to be impartial depictions of reality.

I can't watch NBC because my cable-TV doesn't carry it (I live in Brazil - <USER2> English news, I have BBC, CNN, Bloomberg and - gulp - Fox News). Is it really that bad?

<comment><USER4> > I am not perfectly fine with political ads that pretend to be impartial > depictions of reality.

Let me guess - you think that documentaries are typically "reality". They're not.

If you think that news is reality, you've never seen coverage for something that you experienced personally.

That said, there is no objective line between political speech and truth. And, more to the point, political speech is supposedly what the first amendment protects. (In practice, the protections for porn are stronger but even there the excuse is protecting political speech.)

<comment><USER3> There is a reasonable expectation that documentaries should be unbiased depictions of whatever they happen to be about. When you set out to make a documentary it's expected from you not to misrepresent what you know about the subject matter.

I don't expect it to happen 100% of the time, but that's what separates good journalism from Fox News (or NBC, according to you). I take all journalism with a grain of salt, but I also expect journalists to at least try to properly inform their audience. You know the saying: with great power comes great responsibility.

<comment><USER4> > There is a reasonable expectation that documentaries should be unbiased > depictions of whatever they happen to be about.

Since they're not, that expectation isn't reasonable.

More important, even if they're not distorting what they're showing, they're choosing what to show, and that distorts.

> I also expect journalists to at least try to properly inform their audience.

Good for you. However, that's not how they actually behave.

And no, this is not specific to Fox or NBC. It's universal. Every source has a point of view.

> You know the saying: with great power comes great responsibility.

Nice saying, but it's a hope, one that isn't actually true. Great power does not imply anything more than great power. It doesn't, for example, imply truthfulness.</comment></comment></comment></comment></comment></comment>