Use Your Head, But Trust Your Gut - <AUTHOR> http://blogs.wsj.com/accelerators/2013/01/02/use-your-head-but-trust-your-gut/

<comment><USER2> Exactly backward IMHO. Use your gut (= your intuition), but don't trust it and use your head (= reason, rational analytical thinking) as much as you can to decide next actions.

Of course, with limited time and resources and incomplete data very often you can't go far on the analytical check and still have to trust your guts a lot. And that's particularly true for a small start-up. But that's not cool or a rule, that's a fact of life, and still worth minimizing as much as practical. Using your guts is a risk, and yes a start-up has to take a lot of risk. It doesn't make useless risk a good thing in itself.</comment>


Theglobe.com founder to facebook execs: sell your shares, now - <AUTHOR> http://www.alleyinsider.com/2008/6/theglobe-com-advice-to-facebook-execs-sell-some-shares-now

<comment><USER2> Sell _some_ shares != Sell your shares</comment>


HP imposes more salary cuts for EDS employees - <AUTHOR> http://blogs.zdnet.com/BTL/?p=14571

<comment><AUTHOR> These cuts are just for April. Interestingly enough, HP's fiscal calendar is set-up such that Q2 ends April 30th.</comment>


Five Years (doing mostly PHP) is Enough - <AUTHOR> http://alanszlosek.wordpress.com/2008/10/20/five-years-is-enough/

<comment><USER4> Being a hack to make a living sucks, but hey - everybody has to pay the bills. So there's no need to apologize or feel ashamed.

If you find yourself bored silly with your programming gig, do yourself and other people a favor. Get involved in an open source project you like and feel you can make a contribution to. You'll probably start to enjoy programming again, and other people will benefit too.

<comment><USER5> Regarding interesting open source projects, can anyone recommend an open source project that contributing to would teach me about real-life, effective usage of:

(1). git source control

(2). maintaining a medium sized/complexity Java project

I'm interested in the oral tradition i.e. the human operational aspects of how you use it, what aspect to use it in what circumstances etc, etc, etc - <USER2> aren't in the tool itself or its man pages or tutorials. Thanks for any pointers.

<comment><USER6> I can't recommend a particular project, but looking through [1] for something which catches your eye would be a good start.

[1] <http://github.com/search?q=java>

<comment><USER5> thanks for that

</comment></comment></comment></comment><comment><USER7> I'm naive, but isn't doing something over and over again always a sign that you're doing it wrong? Even if you have to work in PHP and write simple database table management screens all day long, there's nothing to stop you from stepping back a layer, for example by writing programs to write that PHP and MySQL code in whatever language you choose. I believe that if a problem really is trivial in programming, there's always a way to make it trivial.

<comment><USER8> I agree in principle, but at some point you're done with don't-repeat-yourself framework wizardry and you're up against the basic task of translating fragmentary verbal requirements into a technical solution. Web frameworks (sometimes) make that process more productive but no less boring.

<comment><USER7> That's true, but I think we can both agree that the author can do a lot better than spending 60% of his time to "copy-and-paste chunk of code, then tweak for new field names, then make sure to update the correct database fields, add validation, ad nauseum."

<comment><USER8> Sure, I totally agree.

</comment></comment></comment></comment><comment><USER9> This is a great idea - there's nothing wrong with neither PHP nor web development, but it's great idea to broaden your horizon.

First add another dynamic language to your tool-set: Perl or Python, preferably. This will be an easy transition and you will have a great degree of jobs open to you. There are dynamic language related jobs which aren't web- development: bioinformatics, data mining, toolsmith positions (build/release, qa, operations), platform engineering (creating custom OS images). Some of them may require domain specific knowledge for the more senior positions but would be willing to take on a strong coder on to a more junior position on the premises that you'd be able to pick up the knowledge and grow into a more senior role.

These positions will often either themselves involve projects in other languages (Java, C/C++) that you'd be able to pick up on the job or be in a larger engineering organization where you will be able to transition to these jobs.

And in all these cases your experience as a web developer will be appreciated and considered important.

I did the same transition myself: systems administration (involved in some internal web app development, lot of Perl scripting)-> undergrad (and becoming bored with systems administration after learning algorithms, operating systems, compilers, etc...) -> operations engineering (lot of tools development) -> Perl/C++/Java development. (At the mean time I've been working part-time on a Masters in Computer Engineering which is opening newer domain specific knowledge to me).

</comment><comment><USER10> I'd recommend doing a startup and/or side project involving interesting functions of massive datasets.

Technology-wise, at least consider...

\- learning SML or OCaml or Erlang

\- learning Python

\- going deeper into Python. It's a fantastic way to express oneself. It beautifully offers (generators, coroutines, multithreading, subprocesses, and networking) for piping and distributing your computation, a flexible blend of functional and imperative, and its syntax is the most conducive to elegance, simplicity, and rereadability of anything I've tried.

...then building the core algorithms in C/C++ with SWIG wrappers, the tip of the iceberg with Django, and everything else in pure Python.

A must-read: "Generator Tricks For Systems Programmers"

<http://www.dabeaz.com/generators/Generators.pdf>

<comment><AUTHOR> Most of the the side-projects I started were definitely interesting to me in some way. They were a way for me to explore how something could be made easier, how it should be done, and how it could help me get more done.

For my company/startup (<http://greaterscope.com>) I'm also building online storefront software, which has plenty of interesting problems. It can involve massive datasets (for me), clever algorithms, etc. It has been the perfect opportunity for me to harden and field-test my tools. This is written in PHP, because it's the language I know best, and I feel like the problem isn't "solved" for PHP yet.

But those are beside the point because I've started to think more about "what I really want to do" and how to "not get stuck doing something I don't want to do". So I defintely feel the need to find something I like doing even more than storefront software in PHP.

Thanks for the technology recommendations. Python is high on my list at the moment. I'm on the lookout.

</comment></comment><comment><USER11> "I can't stand having 60% of the work day tied up with: copy-and-paste chunk of code, then tweak for new field names, then make sure to update the correct database fields, add validation, ad nauseum."

no wonder with that approach (copy paste, field names, etc) ... one will get bored

a good approach is "do without"

how do i write better, simpler code w/o copy paste

how do i eliminate using field names (i don't know in php, but maybe use list and map ... nullify the need for temp variables)

maybe do w/o database? maybe use in memory persistence, load once, write every time?

how about javascript validation instead of php equivalent? better user experience

how about cutting the 100 loc (peppered with temp var, fn, loops and other nasties) to 5 loc (say using map, apply, lambda, closure -- again, i don't use php)

i do notice that codebase that has limits (like can't be > 1000 loc) is usually better than the no-limits equivalent

"do without" will force u to think and it's more fun because your code won't be similar to others' boilerplate

the code probably won't be 'best industry practice' aka code that coworkers/employers will appreciate; however, the beauty of your own code can only be enjoyed by you only ... and i think that itself is a great reward

but of course u can't hide from responsibility when the code breaks, otherwise one can always blame the copy-paste or legacy codes -- anyway holding the responsibility alone is a priviledge, not liability

</comment><comment><USER12> Find a niche which is new - so no one has years of experience doing it - <USER3> appealing enough that there's a strong demand for skilled coders. Right now, iPhone and Android are two examples of such fields, there's probably some more.

Build a small app in it, and put it online for people to download. This will both teach you the skills and show you can produce results. That should be enough - no one will care about your experience/education/etc if you can show past work in an in-demand field.

</comment><comment><USER13> I wonder if OP may be confusing the technical environment (PHP) with the user environment (boring apps).

I think you can work on really cool stuff in _any_ platform.

Similarly, you can also work on mind-numbingly boring stuff in any platform.

Perhaps he should just try to find something cool to work on (something that _really_ turns him on), _without regard_ to technology, and then just learn that technology _in order to_ work on in.

It's not about which hammer or screwdriver you use.

It's about satisfying those who will live in the thing you build.

<comment><USER14> While it's possible to have a very cool and challenging PHP project, most of the work you get paid for is glorified HTML forms. What I do to fight the boredom is build my own framework. Over 2-3 projects I've gotten to something that is close to Rails in functionality (tailored to my taste, of course).

<comment><USER13> _What I do to fight the boredom is build my own framework._

Excellent idea. I have done this myself several times.

My dilemma: At what point do you realize that your code is so cool that you _don't_ want to develop it on someone else's machine (and dime)? I often find myself saying, "This is WAY more than they're paying for and will be worthless to me since they will own it."

<comment><AUTHOR> To the parent: This where I've been. I've built many of my own tools and frameworks. Problem is, they're still related to the space that I no longer enjoy being employed in. It was fun work, with plenty of great challenges, and proved to be a great strategy for securing most of my sanity. Elevate anything to a "higher purpose" and you'll find some extra motivation to get the job done.

To edw519: This where I'm going (in addition to looking for another line of work I might enjoy more). I've been making my own tools for about three years. I guess that's my "breaking point". I'm using them personally, but I don't want to be at shops without some kickass tools and practices already in place. I like my tools, but working at a place without any useful abstractions is no fun. In the meantime, I'm trying to make the best use of my tools and talents on my own dime, for my company (<http://greaterscope.com>). There I can solve the problems I want to solve, without restrictions (until I get customers). Hopefully it'll be a much better ride and I won't post another similar thing in another five years.

<comment><USER13> greaterscope looks very promising!

Good luck and keep us posted.

</comment></comment></comment></comment></comment><comment><USER15> PHP isn't like nationalism - you aren't unpatriotic to criticize. If you are enlightened, all languages must have either some utility, or some feature that teaches you something. Keep exploring.

Also, I dealt with this by getting _deeper_ into PHP by seeing what made it tick - writing C/C++ extensions for PHP. Not super fun, but helped me understand the value of Python/SWIG.

<comment><USER8> Or the even greater value of ctypes: <http://docs.python.org/library/ctypes.html>

</comment></comment><comment><USER16> Pft. Web development involves solving a very different set of problems, but it's no less a profession. Web development is more concerned with usability and business needs than desktop development, so while the code challenges are less extreme, you often are working under the watch of far more direct users. Information architecture is also more of a focus in web applications.

<comment><AUTHOR> You're right. It's just not for me. I'm a big self-motivator, and am learning more of what makes me happy and unhappy.

</comment></comment><comment><USER17> You might consider some iPhone development. Strong demand for programmers and the work is pretty diverse.

<comment><USER18> Diverse? How so?

Maybe I'm wrong but the way I see it, not many business people are using it and - do we really need another Zippo Lighter app?

Oh, you can do games I guess if that's what you're into. I just don't see a big need for utility apps other than what's out there already.

</comment></comment><comment><USER19> What you want to do is game development. Preferentially for mobile devices, aka iPhone and Android.

Game development can involve all fields of computer science and software engineering, in addition to a considerable amount of Physics, Mathematics, Design, Music and Story Telling. There's nothing more complete and fun than it.

<comment><USER20> Unless you're working on someone else's game. Yes, it still gets boring.

</comment></comment><comment><USER21> Interesting I should read this today. I saw an ad for a job I wanted back in early September. I wasn't qualified for it that I could tell from the ad. I applied anyway and went through the interview process. I didn't know exactly why I wanted the job until I was close to actually getting an offer. I figured out I was just bored doing web development. I was already 3 months on a job I had just taken, doing .NET, PHP and web dev using a variety of CMS's. I did it for three months and I realized I just didn't enjoy it anymore. I started doing web dev back in 1999-ish and that's all I know in real world experience.

But this new company took a chance on me. If I can keep up, I'll have that low-level C++ programming experience I have always wanted, including multithreaded stuff.

My intense interest registered and my new employer decided to take a chance on me. Of course, there is more to the story. Such as, I had spent significant time learning C++ on my own and had code to show for it. I'm also older and maybe people take me seriously :)

I have a feeling the top developers are going to all start getting bored with web dev soon. It stands to reason all these 20-somethings start branching out and discovering the underlying software that makes the web work and will want some of that action.

I'm just glad I'm ahead of the curve so I had little competition for this job. The wave will be behind me! Yay!

More comments by me and possibly others here: [http://www.crazyontap.com/topic.php?TopicId=41745&Posts=...](http://www.crazyontap.com/topic.php?TopicId=41745&Posts=2)

</comment><comment><USER22> s/enough/too much/ ?

5 minutes of PHP is too much.

</comment><comment><USER23> Be a man an do a startup

Best of Luck</comment>


JQuery 1.4 and Malformed JSON - <AUTHOR> http://yehudakatz.com/2010/01/15/jquery-1-4-and-malformed-json/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+KatzGotYourTongue+%28Katz+Got+Your+Tongue%3F%29 <comment><USER2> >> "Again, though, you should probably be modifying your busted server-side code to stop sending malformed JSON!"

I still think it was a silly mistake to impose a 'must be enclosed in quotes' rule for JSON parsing in js.

Those quotes are just wasted extra bytes. Needless.

Yeah sure, you can argue that someone silly will use a reserved word, like {new:"hello"}. But I don't think that's a good enough reason to waste more bandwidth+time for those that know what they're doing.

<comment><USER3> either way I still think its great that libraries are taking the risk to not support malformed dataformats, if browser developers had of made the same decision I think the web would have been far ahead of where it is now

<comment><USER4> In some way the browsers already have made the decision. The new JSON.parse method available in Firefox, Safari, and IE 8 is capable of parsing a valid JSON string and turning it into a JavaScript object. The exception is the one provided by Chrome, as it accepts malformed JSON strings (such as {foo:1} and {'foo':1}).

In jQuery we wanted to take advantage of this new JSON.parse method for speed and security - but we couldn't have it throwing malformed JSON exceptions in some browsers but not others, so we simply equalized the field (throwing an exception in all browsers).

<comment><USER2> For some reason, the performance doesn't seem that clear cut.

For instance, I get the following on Chrome, running it a few times: (Doing 100,000 parses of a small JSON string)

JSON: (1653ms) vs eval: (206ms)

Firefox the two are about even (650ms). Safari is also pretty much identical (250ms).

Surprising that the Chrome JSON parse is so much slower than eval.

Do you have any performance figures for JSON parsing?

So you have JSON.parse which is the same, if not slower (Chrome) than using eval. Having to include extra unnecessary characters costs you bandwidth, but you do get the slightly better security from JSON, although that can be done with a quick regexp beforehand.

{foo:1} _should_ be valid dammit. It tells us exactly all we need to know, with 0 ambiguity.

just my 2c.

<comment><USER4> Test case: <http://ejohn.org/files/json-parse/>

      Firefox 3.5: eval: 549 JSON.parse: 490
      Safari 4: eval: 246 JSON.parse: 215
      IE 8: eval: 1438 JSON.parse: 1031
      Chrome: eval: 241 JSON.parse: 656

So yeah, a bit faster in Firefox and Safari, much much faster in IE 8 (the one that matters), and oddly slower in Chrome. I'll go out on a limb and blame their lax parsing (they support malformed strings).

In the end though the parsing is a distant second to the improved security: Guaranteeing that eval will never get touched in modern browsers is a huge win from a framework perspective.

</comment></comment></comment></comment></comment><comment><USER5> Came up at least once before, but no discussion there:

<http://news.ycombinator.com/item?id=1054409>

<comment><AUTHOR> Ah, my URL had the utm_* params in it. I was surprised it wasn't already posted. Oh well, at least more people are seeing/discussing.

<comment><USER5> It's all good. I almost didn't post the link, but I thought it'd salt the discussion to have another comment in there.

</comment></comment></comment><comment><USER6> I had a problem with this today when upgrading from jQuery 1.3.2 to 1.4. The AJAX functions worked fine in Firefox, were returning "parseerror" in Safari because there was a non-UTF-8 character in the JSON response.

</comment><comment><USER7> Could someone tell me why the example given is malformed? I rarely write JSON anymore (except with json_encode in php and simplejson in python).

<comment><USER8> The malformed example given is:

        {foo: "bar"}

which is missing the quotes around foo so it should be:

        {"foo": "bar"}

Since both of those would have had the same meaning the JSON spec sensibly restricts things so that only one is valid. See <http://json.org/> for the (very short and readable) spec.

<comment><USER9> The reason for outlawing the first syntax is that it isn't a legal javascript literal in the case where the key is a javascript reserved word (if we change 'foo' to 'for' in this example).</comment></comment></comment>


PHP library that detects users' mobile phone based on device OS - <AUTHOR> https://github.com/pH-7/PhoneDetector <comment><USER2> This is 3 lines of code. Why add a dependency for:

$isIos = preg_match('/(iPhone|iPad|iPod)/i', $_SERVER['HTTP_USER_AGENT'] ?? ''); $isAndroid = preg_match('/android/i', $_SERVER['HTTP_USER_AGENT'] ?? '');</comment>


Boeing 787 control and in-cabin entertainment networks are/were connected (2008) - <AUTHOR> http://www.educatedguesswork.org/2008/01/holy_airgap_bat.html

<comment><USER2> How can any engineer think this is a good idea? Boeing must have a good union.</comment>


The Myth of Risky Startups - <AUTHOR> http://www.instigatorblog.com/the-myth-of-risky-startups/2007/06/01/ <comment><USER2> I don't think this is a valid argument. When startup employees lose their jobs it's usually because the entire company has gone under. Motorola may be doing massive layoffs, but they're still around and they still have plenty of employees. If you're good enough to be right for a startup, and your current BigCo isn't so bureaucratic that they do their layoffs strictly by seniority, then if half the company gets laid off, you stand a pretty good chance of being in the other half.

What's really important is just to have enough faith in your own abilities that you don't consider losing your job to be a big deal. Of course, you should still either go in with enough savings to cover living expenses for a month or two, or join a company that has enough money in the bank that you can acquire those savings before their money runs out.

</comment><comment><USER3> The guy is seeing from one perspective but the reality is those who have needs of security probably shouldn't be at a startup. ie: kids, tuitions, and SOs. Pick one, but I don't think it's safe for a person to get all three and step on board the startup instability train.

Yes, you may find kindred spirits.

Yes, you may find yourself back in the job search doldrums--how long does it take before you go back to the banks (insert your locales stable tech-pool) to put food on the table.

Startups rock, but they not be feasibly rockable for everyone. ;D You do what you need to, and that can only be done by the do-er.</comment>


The story of comint mode - <AUTHOR> http://edward.oconnor.cx/2010/07/comint

<comment><USER2> This is the most important and most difficult work in engineering and science. Building common abstractions (APIs, theories, mathematical frameworks, programming languages, modelling tools, ...) that _work_ good enough

\- for people not to reinvent the wheel to reach their goals

\- for people to relate their work that is based on the same abstraction

\- so problems don't need to be solved individually, but to solve _all_ problems of a certain class at once

It is often said that we are standing on the shoulder of giants. For me that is synonymous to standing on the common abstractions of our predecessors.</comment>


Thoughts on 1984 Macintosh Demonstration - <AUTHOR> http://esusatyo.net/post/74600275727/thoughts-on-1984-macintosh-demonstration

<comment><USER2> It wasn't a "demo", it was the real thing. Everything worked. Right, there was only one level of undo, but going from 0 to 1 was a bigger step than going from 1 to n. And Apple may want to leave some innovation to third party developers, it wouldn't be a good practice to make a perfect product for release 1.</comment>


Little: a tcl-based c-like scripting language - <AUTHOR> http://www.little-lang.org/index.html <comment><USER2> I really, really like that "Why?" explanation page; I feel like many projects could benefit from copying that idea.

Frequently, the first thought I have when I see projects is, "okay, neat, but why does this exist?", and the answer takes some digging. It's wonderful that in this example the answer is made so obvious.

<comment><USER3> > I really, really like that "Why?" explanation page;

Me too. Especially the comparison of tcl to their language:

      set x [expr {[lindex $red $i] - [lindex $blue [lindex $green $i]]}]

      vs

      x = red[i] - blue[green[i]]

I had to work in Tcl early in my career...80 hours a week for a straight year, so I recognized that madness immediately.

<comment><USER4> Keep in mind that this example was (presumably intentionally) cherry-picked to show off the worst of Tcl's syntax. It's not really representative of how expressive the language can be in the right context, and it doesn't show the benefits that you can get from having a very simple, regularized syntax with little added sugar.

On the topic of expr, though, it can be avoided if desired in favor of Lisp- style prefix operators: [http://www.tcl.tk/man/tcl8.5/TclCmd/mathop.htm](http://www.tcl.tk/man/tcl8.5/TclCmd/mathop.htm)

<comment><USER5> That example was contrived but it wasn't designed to show off the worst of Tcl's syntax. There is worse out there.

Little wasn't a slam on Tcl, if you think that then you miss the point. Little is trying to bring people to Tcl. The Tcl ecosystem has a boatload of good stuff, people should check it out.

But many people are put off by Tcl's syntax, it's fine for glue, which is what Ousterhout intended, but it sucks for 300,000 lines of code. If you want to write big programs then perhaps some type checking could help you. And perhaps some familiar syntax might help. Little is for people that have to maintain a pile of code.

<comment><USER6> Whats the best resource for Tcl ecosystem and getting its main benefits?

<comment><USER5> [http://www.tcl.tk/about/language.html](http://www.tcl.tk/about/language.html)

is decent place to start. Then move on to

[http://www.tcl.tk/software/](http://www.tcl.tk/software/)

and there are all the Tk (GUI) APIs and libraries.

If you wade through that, or you get stuck, #tcl on freenode is a great resource.

Edit: #tcl told me to pass on this:

[https://core.tcl.tk/jenglish/gutter/index.html](https://core.tcl.tk/jenglish/gutter/index.html)

</comment></comment></comment></comment></comment></comment><comment><USER7> Always nice to see Tcl/Tk get attention, it's a language I've often found quite useful. Seems like I'd heard of "L" before in connection with Tcl/Tk, but not sure it was the same thing as Little.

Certainly seems it could be a good alternative, a quick look at the syntax makes me think of it like a kind of typed Javascript. The ability to tap into the underlying language, e.g., event loop, Tk UI, coroutines, should be an advantage.

There probably is a way to install Little when TclTk 8.6 (and extensions) are already installed (there's a warning about trashing the pre-installed binaries), and not have problems due to moving or replacing existing libraries that applications depend on finding in established locations.

<comment><USER5> Little is L, we used to call it L and got beat up because you can't google it. Supposedly googling little-lang is better.

If you build it with our makefile then it will live next to tcltk 8.6. If you don't then it will want to dynamically link in some libs and it will get the wrong ones and barf.

<comment><USER7> I remember being interested in L when I read about it a few years ago, so it's great that it's open-sourced now. Should be fun to try it out. I'll give the makefile a whirl.

As for the name, "L" _would_ be hard to Google, though "C" and "Scheme" are too. While I guess "little" would be somewhat easier to search for than "L", it sure isn't as obvious as "Clojure" or "fortran". Outstanding names are hard to invent.

<comment><USER5> Let us know what you think. This thread will be fleeting, we are on the IRC channel as well as the forum at [https://users.bitkeeper.org/c/little- language](https://users.bitkeeper.org/c/little-language)

The IRC channel seems most active.

</comment></comment></comment></comment><comment><USER8> Banging out GUIs in Tk is a delight when contrasted with developing in whatever javascript framework is popular this hour. Tcl itself is pragmatic to an extreme; a great framework for both organizing large projects and heaping up fast primitives written in C.

Anyway, great job! I hope Little's syntactic sugar gets more people exploring Tcl/Tk. Can't wait to give it a whirl.

<comment><USER5> You hit the nail on the head. Tcl/Tk doesn't get enough love, it's a really useful system even after all these years, it's gotten much better in terms of looks and it was always great in terms of what it could do. All Little does is make it more approachable for the 9x% of the world that prefers C, types, etc.

When people say Tk looks bad point them here: [http://www.little- lang.org/gui.html](http://www.little-lang.org/gui.html)

Tk can look just fine.

<comment><USER9> > Firefox vs us on Linux

That's a bit of an unfair comparison. Gtk has lots of nice themes which AFAIK Tk can't use. That dialog doesn't exist on Firefox anymore, but this is what Thunderbird's preferences look like on my machine: [https://my.mixtape.moe/fggaex.png](https://my.mixtape.moe/fggaex.png)

It's true, Tk can look _okay_ on linux, but it will still be out of place when placed side by side with Gtk and Qt apps (Qt can use Gtk themes).

<comment><USER5> Yup, that's the price you pay for having it cross platform and avoiding C++. If I were making that choice today, might lean towards Qt, but I'm not sure. Tk's widgets are really pleasant to use, the last time I looked at Qt it was a lot lower level (may have gotten better, it's been a while).

</comment></comment></comment></comment><comment><USER10> From the "L Programming Language" PDF:

        "It's like perl without the nastiest bits."

I think that really does capture the spirit of what this language looks like. I'm not sure it will reach any kind of general applicability, but it seems like a tasteful nod to the extensible nature of Tcl either way. Curious to see the inclusion of PCRE over Tcl's ARE which I thought was pretty routinely trotted out as a better performing, more limited, RE engine.

<comment><USER11> "higher performance" depends on the specific case. I think the Tcl RE engine (Henry Spencer's[0], which is also used in PostreSQL[1][2]) does avoid some pathological cases where Perl/PCRE fall down[3], but PCRE does best Spencer's work in other areas. They also simply have a different feature list[4].

[0] [http://wiki.tcl.tk/396](http://wiki.tcl.tk/396)

[1] [http://www.postgresql.org/docs/9.3/static/functions- matching...](http://www.postgresql.org/docs/9.3/static/functions- matching.html)

[2] [http://www.regular-expressions.info/postgresql.html](http://www.regular- expressions.info/postgresql.html)

[3] [https://swtch.com/~rsc/regexp/regexp1.html](https://swtch.com/~rsc/regexp/regexp1.html)

[4] [https://en.wikipedia.org/wiki/Comparison_of_regular_expressi...](https://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines)

</comment></comment><comment><USER5> BTW, a buried discussion here: [https://news.ycombinator.com/item?id=11527154](https://news.ycombinator.com/item?id=11527154)

</comment><comment><USER12> I haven't tried this yet, I've just looked at the examples in the docs. However, I think this could be pretty cool.

I think the combination of the Perl influences with the possibility (which I'm interested in, but haven't proven yet) of using this with Tclkit (a statically linked version of Tcl that can just be copied over for deployment) might make this a nice cross platform replacement for the kind of things I might otherwise want to do in Awk.

Tcl itself is also certainly a good cross platform Awk replacement, but heavy regex stuff seems like it might be a bit more concise with this syntax than in Tcl itself.

<comment><USER5> Tclkit should work, we haven't tried though. The tcl folks on #tcl on freenode might be able to help.

Tcl doesn't get enough love, the built ins and the libraries provide a pretty rich environment and then you toss in Tk and all the Tk extensions and you have something.

And now you have it all with a C like syntax, kinda cool.

</comment></comment><comment><USER13> Looks like a very interesting little language, I enjoyed working with TCL a fair bit due to things like wish being so interactive. It's also interesting that they added pointers to TCL, which solves my biggest gripe with TCL.

<comment><USER5> Tcl had them already, we're just using upvar under the covers. upvar uses the variable in the stack frame you specify. Which is clever and all but sort of a pain to use so we just did the &this_is_sort_of_a_pointer thing but it's a compiler managed upvar under the covers.

<comment><USER14> That was actually the original prototype. Little has moved on to have a pointer object type.

</comment></comment></comment><comment><USER15> Trying to figure out where the code for Little lives - is it in a fork of the Tcl/Tk repo itself?

<comment><USER5> Yes it is a fork but the core team is already trying to unfork it. We're excited about that and will try and help.

</comment></comment><comment><USER15> I didn't see a LICENSE file on github. What is this code licensed under?

Edit: Nevermind - it's in the README.

<comment><USER16> For other people reading here: It is built on Tcl and released under Tcl's license. BSDish.

</comment></comment><comment><USER17> Well, this is a really well designed and beautiful language, i really enjoyed it.

</comment><comment><USER18> Congrats on the release!

</comment><comment><USER19> I...I...still feel like this is a joke, even after reading the "why" section.

<comment><USER20> Please don't snarkily dismiss other people's work on HN.

Thoughtful criticism is fine, but it should be grounded in respect.

<comment><USER19> The vibe I got from reading the "why" section was "yeah we had some fun making this, and yeah we think this syntax is a bit better, but isn't it ridiculous our boss thought this was a good idea!" Like a wink at anybody who think this isn't needed.

So to the extent I think its a joke, I think its intentionally a joke --- and whoever made it I respect their comedic talents.

<comment><USER5> I'm the boss and I wrote the why page, I was poking fun at myself. Perhaps my sense of humor needs an upgrade.

<comment><USER6> I totally missed that the boss wrote that page. Maybe I wasn't perceptive enough but it came off to me like employees taking a crack at their boss. Not in Dilbert-style disrespect more as everyone turning an eye-rolling issue into a fun project. It was funny.

I just didn't think it was you, though. Maybe sign it "The Boss" or something similar at the end to make sure the rest of us get the full joke.</comment></comment></comment></comment></comment>


Why the React community is missing the point about Web Components - <AUTHOR> https://dev.to/ben/why-the-react-community-is-missing-the-point-about-web-components-1ic3/comments <comment><USER2> Read the comments. The back-and-forth between Dan Abramov and Benny Powers is very enlightening (at least for someone like me who doesn't follow Web standards and library internals closely).

I used to be skeptical about Web Components' ability to impose common standards [0], but I've recently become fascinated with Polymer (LitElement [1] and lit-html [2], specifically). There's even a Redux mixin for LitElement components. Were it not for React Native, I would be giving Polymer much more serious consideration for my go-to technology.

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

[1] [https://github.com/Polymer/lit-element](https://github.com/Polymer/lit- element)

[2] [https://github.com/Polymer/lit-html](https://github.com/Polymer/lit-html)

<comment><AUTHOR> Yeah I was surprised by lit-element as well, I wonder why it didn't get traction on HN.</comment></comment>


Disney Patents a Piracy Free Search Engine - <AUTHOR> http://torrentfreak.com/disney-patents-piracy-free-search-engine-141029/

<comment><USER2> > Disney believes that current search engines are using the wrong approach as > they rely on a website's "popularity."

Translation: Disney doesn't like that web site popularity is determined by people and not corporations.

> For example, a manipulated page for unauthorized sales of drugs, movies, > etc. might be able to obtain a high popularity rating, but what the typical > user will want to see is a more authentic page," they explain.

Translation: Disney wants to determine what your moral values should be.

> such as results referencing piracy websites, child pornography websites, > and/or the like,

Translation: searching for illegal Disney movies is commensurate with child porn. Don't every forget that when you think about illegal movies.

</comment><comment><USER3> If this method worked (which I doubt, but let's assume it did), hackers could probly simply build a very effective search engine for pirated content simply by reverting the authenticity metric.

<comment><USER4> No, it doesn't try to suppress pirated contents as such, it tries to boost quality sites like those of Disney and its brethren. Reverting would bring all kinds of things to the top, good and bad, not just TPB.

To me it looks like the original pagerank plus a large dose of wishful thinking, and if it were implemented disney.com would rank 0.01 until manually boosted (in an act of "editorial judgment").

</comment></comment><comment><USER5> Why would they patent it? Do they not want other companies to use their magical invention?

<comment><USER3> They want to force other companies use their magical invention by law and then rip them off because they have to use their patent.</comment></comment>


Jobless IT graduate sues her college - <AUTHOR> http://news.bbc.co.uk/1/hi/world/americas/8180806.stm

<comment><USER2> So that college forced her to choose this education ?

I'm sure she would have shared her income with them as well if she did find a job, after all they are responsible and should get a cut of the benefits as well as the blame for the risks.

Choosing your education is your own responsibility and if you choose a path for which there are not enough jobs in the area where you graduate you can do a whole bunch of things:

\- learn something new

\- take a job that may pay less and does not match your education

\- move to a place where work is available

If the college can not follow up on its promises made in better times because the economy has tanked in the intermediate period then you have plenty of options, suing them does not seem to be the most productive way of going forward.

It's the one way in which you probably can just about guarantee that any employer that has heard about this is _NEVER_ going to hire you. They'll already know you have a history of frivolously suing parties that you have a relationship with, it would't take a lot of imagination to think that you could be suing your would be employers next.

<comment><USER3> Although with some colleges, the advertisements imply strongly that you will get a job with their degree. Don't know in this particular case.

<comment><USER2> That's true, but caveat emptor still applies. Common sense will tell you that they are not in a position to make such a promise unless they can show you the paperwork on a deal with the name of a third party that is willing to hire you provided you pass their program _up front_.

Anything less than that and you know for sure that there is no such thing as a guaranteed job, especially not in a marketplace that is as variable as the IT market is.

</comment></comment></comment><comment><USER4> Part of me wants to blame the society we're creating with all these bail outs. I want to say we've created a culture where people have gone to the complete opposite of self reliance to the point where they simply can't accept their circumstance in life might be their own fault

But honestly, when I put that logic up to scrutiny I have to think it's an over reaction. When society thinks this woman is justified then we have a problem but right now I think it's an issue of not reading too much into the actions of an idiot. Anyone who is straight out of college in the current economy and thinks they are entitled to a job is just being foolish.

</comment><comment><USER5> This could be a legitimate lawsuit. There's not enough information in the article to know what promises the school made to students and if it delivered on them.

<comment><USER6> All schools promise job placement assistance and in general it's very poor. The real issue is they can't put you in a job that doesn't exist.

</comment></comment><comment><USER7> If she does not find a job, maybe it's her fault, not the college's.

She was not forced to go to that college, and she should had done some research about the institution before enrolling, if it happens to be so bad as she claims (that should be confirmed looking at other students).

</comment><comment><USER8> My snarkier side wants this to be tit-for-tat. If she believes her degree is worthless and is seeking reimbursement for tuition, should she also be allowed to retain her diploma?

<comment><USER9> Then she should not only get her money back, but be compensated for lost time too.

</comment></comment><comment><USER10> If she's finding someone else to blame before she even gets a job, imagine how quickly she'll find someone else to blame as soon as something goes wrong on the job. Maybe it's just as well. I don't know if I want to work with someone like that.

One way an IT job is like real life is that you need to find a way to solve your problems. Her solution won't work. Not much of a problem solver, huh?

<comment><USER2> It's the entitlement problem. If you don't get what you think you have a right to in life sue someone.

</comment></comment><comment><USER11> Her lawsuit may not be legitimate, (I have little idea what Monroe college is and who owns it.) but if it is a for-profit college, then I for one enjoy seeing SOMEONE bring some kind of lawsuit upon one of these schools. Their business is unethical, their priority is profit not education. When i was born my father started putting money away in tax-free Mutual Funds. With some help of the 90's boom, I had a nice college fund. My father went to Vietnam instead of college, and my mother... well she's a nice lady. So when i graduated my only encouragement from them was to go to college, they had no advice to give me as it was new territory for them. Being a young naive geek I saw the commercials for going to school for game development, and I knew that was the greatest thing ever. My parents knew I was going to school, and that was all they cared about. Fast forward a year of drama, and I was starting an internship for Activision. While there, I quickly realized game companies have no interest in hiring people from these programs for anything other then testing positions. Admittedly with good reason, I remember having one good professor, and about four pretty shady professors. The decisions made at these places are profit driven. Even the accreditation is a facade. The accreditation is from another child company owned by the same corporation that owns the school. After the internship, I started looking for jobs at a help desk. I managed to land one pretty quickly, as I had some pretty good experience working at a cable station when I was in high school. What surprised me was I was now working full time with fellow graduates from my school! This was enough to completely convince me to quit the program altogether, and start looking around. The thing about an 18 year old making 40k is he doesn't understand just how little that is (even in Minnesota) after a few months I gave up the search, and started searching for a better job instead. At this point in time companies didn't care what kind of experience you had, I taught myself to program when I was twelve, and I taught myself C# since I was working nights at the help desk (and had lots of free time) It took about a month before I found a position working in a development lab for a fortune 500 company. When I started I was building servers, and before I left I was writing software to build servers. The experience I gained, and the technologies I worked with opened the door of possibilities wide open. I also got a significant pay raise twice. After a year and a half (thats two years since I left school) I had this vision of people my age graduating in 2 more years, then in another 3 or 4 years getting my level of experience. It might take 5 years but soon, I won't be the hotshot that I thought I was. So I decided to go back to school, this time I chose a Community College since it worked well with my full time schedule and was inexpensive, which was important since I was paying for it all myself (did i mention that a year at the for-profit school ate ALL my college money that my dad spent 18 years saving) The difference between the two schools was night and day. What value! my professors were truly professional, and knowledgeable on their subjects. The students were not hood rats, and did not interfere with classes. They spoke proper English, and had actual goals. Unfortunatley I decided to move from Minnesota to Boston after two Semesters because I was offered a great job (and the environment at the fortune 500 was getting extremely depressing) I'm happy here, I make 70k now which makes my father very happy but It's not the best I can do. My friends from school graduated about 8 months ago, and the last I talked to them not a single one has a job which doesn't matter to the school since it has made at least 700k from their tuition not including the 800k from the students in the class when i first started

<comment><USER8> [Reposting for clear formatting. This post is worth reading. For reference to the original poster, don't try to indent your paragraphs, it makes Hacker News think you're trying to post a code snippet.]

Her lawsuit may not be legitimate, (I have little idea what Monroe college is and who owns it.) but if it is a for-profit college, then I for one enjoy seeing SOMEONE bring some kind of lawsuit upon one of these schools. Their business is unethical, their priority is profit not education.

When i was born my father started putting money away in tax-free Mutual Funds. With some help of the 90's boom, I had a nice college fund. My father went to Vietnam instead of college, and my mother... well she's a nice lady. So when i graduated my only encouragement from them was to go to college, they had no advice to give me as it was new territory for them. Being a young naive geek I saw the commercials for going to school for game development, and I knew that was the greatest thing ever. My parents knew I was going to school, and that was all they cared about. Fast forward a year of drama, and I was starting an internship for Activision. While there, I quickly realized game companies have no interest in hiring people from these programs for anything other then testing positions. Admittedly with good reason, I remember having one good professor, and about four pretty shady professors. The decisions made at these places are profit driven. Even the accreditation is a facade. The accreditation is from another child company owned by the same corporation that owns the school. After the internship, I started looking for jobs at a help desk. I managed to land one pretty quickly, as I had some pretty good experience working at a cable station when I was in high school. What surprised me was I was now working full time with fellow graduates from my school! This was enough to completely convince me to quit the program altogether, and start looking around. The thing about an 18 year old making 40k is he doesn't understand just how little that is (even in Minnesota) after a few months I gave up the search, and started searching for a better job instead. At this point in time companies didn't care what kind of experience you had, I taught myself to program when I was twelve, and I taught myself C# since I was working nights at the help desk (and had lots of free time) It took about a month before I found a position working in a development lab for a fortune 500 company. When I started I was building servers, and before I left I was writing software to build servers. The experience I gained, and the technologies I worked with opened the door of possibilities wide open. I also got a significant pay raise twice. After a year and a half (thats two years since I left school) I had this vision of people my age graduating in 2 more years, then in another 3 or 4 years getting my level of experience. It might take 5 years but soon, I won't be the hotshot that I thought I was. So I decided to go back to school, this time I chose a Community College since it worked well with my full time schedule and was inexpensive, which was important since I was paying for it all myself (did i mention that a year at the for-profit school ate ALL my college money that my dad spent 18 years saving) The difference between the two schools was night and day. What value! my professors were truly professional, and knowledgeable on their subjects. The students were not hood rats, and did not interfere with classes. They spoke proper English, and had actual goals. Unfortunatley I decided to move from Minnesota to Boston after two Semesters because I was offered a great job (and the environment at the fortune 500 was getting extremely depressing) I'm happy here, I make 70k now which makes my father very happy but It's not the best I can do. My friends from school graduated about 8 months ago, and the last I talked to them not a single one has a job which doesn't matter to the school since it has made at least 700k from their tuition not including the 800k from the students in the class when i first started

<comment><USER12> One paragraph break does not a reformatting make.

<comment><USER8> When it was originally posted it was two paragraphs, but with leading spaces that set it as two really long pre-formatted lines. My "reformat" was just to de-pre it.

</comment></comment></comment></comment><comment><USER13> Tuition costs to join the middle-class are so high that most kids today end up in a form of indentured servitude in order to pay off the loans. I don't support the notion that universities and colleges are responsible for finding anyone a job, but the price these kids pay should be investigated.

I have my doubts as to whether the current loans for tuition model is sustainable.</comment>


WriteWith : Everybody point and laugh - <AUTHOR> http://www.uncov.com/2007/4/12/writewith-everybody-point-and-laugh <comment><USER2> One of the rules people who understand web startups all agree on is that you should launch early-- as soon as you have even a minimal core of working features. As Reid Hoffman said, "if you're not embarrassed by your first release, you launched too late."

In a domain where the _correct_ thing to do is launch something easy to make fun of, it's easy to sound clever by making fun of things that have just launched. I wonder if the anonymous geniuses behind uncov ever consciously thought about that.

<comment><USER3> I think it's actually not a bad review of us if you filter the anger out. The only part of their post that actually stung was the bit about spellcheck, because it's not done. I wanted to have it finished for launch, but we felt it wasn't worth delaying for. But, we've rolled out two new versions so far today and we're gonna keep iterating fast.

The post also reminds me of this classic Kathy Sierra graphic: <http://headrush.typepad.com/photos/uncategorized/loveandhate_1.jpg> These guys are talking about how much we suck, and around the world a blogger in France said "je dois dire que je suis seduis par la legerete du systeme." My French is poor, but I'm pretty sure that's "I must say I was seduced by the system's simplicity." This beats a collective shrug any day.

</comment></comment><comment><USER4> It's good to pay attention to your enemies' criticisms, because they'll tell you things your friends are too kind to say.

If you can manage to satisfy even these guys, you're in good shape.

<comment><USER5> _If you can manage to satisfy even these guys, you're in good shape._

That assumes they're being objective; so far, it looks like jealousy or other frustrations manifesting themselves.

It'll be interesting to see whether or not they _do_ like anything in future.

<comment><USER4> Skimming the other posts, I saw one or two positive things dragged out of them.

"To get a good review from uncov, you really have to earn it."

K said something relevant a while back: <http://www.roadtoforbes.com/index.php/ksblog/why-the-80-20-rule-doesnt- always-work/>

Anyway, even if they ARE utterly impossible to please, they're still telling you outright what you can improve. And an extreme view can sometimes help to put everything else in perspective.

</comment></comment></comment><comment><USER6> i think it's quite cute how people who lack the balls to do their own startups feel so qualified to comment on the people that do.

still criticism is more useful than congratulations and when the writewith guys make this a massive success, i'm sure they'll buy this guy a drink. or not.

<comment><USER7> As someone who'd like to think of himself as a decent hacker, I usually think criticism is a good thing. I don't however, enjoy criticism when it's combined with insults to attract more attention.

I know and like the WriteWith developers, so I'm not really interested in spending time defending a team I have confidence in and a product that will figure itself out with time. I haven't had any long discussions about where they're aiming - but they're smart guys who work damn hard, so I'm sure we'll see new things out of them.

I would however, enjoy helping to filter some of the lower quality posts here on news.ycombinator.com - so let's take a look at the quality of the people behind uncov.com (based on 5 minutes worth of googling). A couple of their articles have made it to news.ycombinator.com in the past few days - and I haven't particularly enjoyed any of them when compared to the rest of the articles posted.

'whois uncov.com - returns "Kyle Shank" with DNS pointing to www.shanksoft.com/

shanksoft.com reports a 404

You can do your own googles for "Kyle Shank", but what's more important to me is the quality of the critic - ie, what software he's written in the past.

A google for "shanksoft.com" returns some old shareware "ASPXEdit" that I would assume does what it should, and is a basic ASP editor. There wasn't an updated version on any of the sites I checked, and I'm assuming this was a failed attempt at "making something people want". It also returned what appears to have been an attempt my the same "group/person" at Shanksoft to make an original p2p client, "Shankster". Also couldn't find a version, but it seemed like yet-another-gnutella client, and never really got much traction.

Point of the story - uncov's team (at least just this one) doesn't seem to be anything substantial, but more some college aged wannabes (aren't we all?) who aren't actually out there doing it themselves.

In hindsight - this comment wasn't really worth my time. The research just proved what I thought before - and Harj's comment.

<comment><USER8> Weird, the first 3 Google showed me who Kyle Shank is:

<http://canadaonrails.com/speakers/show/7>

Apparently he's the lead of RadRails and other projects.

</comment></comment></comment><comment><USER9> Kyle Shank is launching a startup called Persai right now, it should be interesting to see where that goes...

"Persai is a startup that seeks to apply advanced machine learning techniques to content and advertising. We are using Amazon's web services to build a scalable architecture that will learn from consumer interests over time and match them with content crawled from around the web. The idea behind Persai is that you will have an active agent crawling the web looking for content that is relevant to you and only you. Every link we recommend will be something you want to read. We are zigging to social news' zag where popularity trumps relevance to the individual."

</comment><comment><USER5> I don't understand the point of the uncov blog, except as a place for juvenile "haters" (is that expression mainstream yet?) to vent their frustrations.

If a web service is ill-conceived, useless, etc. it will die of its own accord.

I'd be willing to wager, though, that something they lambaste will wind up as a huge success, and they'll look (even more) ridiculous.

<comment><USER8> Well we have Techcrunch and GigaOm already. What wasn't there yet was a blog like Uncov. I'll give you +1 because I agree with your last statement that one of these startups will be successful. But out of x YComb startups, there will be plenty to go down.

<comment><USER5> Those sites (TechCrunch and GigaOm) are not cheerleaders, because they do post negative reviews, albeit not for any YC companies (yet).

The uncov blog, OTOH, seems to be all negative (we'll see if that changes in the future).

<comment><USER8> That maybe because Uncov people (or person?) have technical background. Even though TC and GO did post negative reviews, usually they're not that striking. But TC and GO mostly hyped things up with weak reasoning.

I remember back then when I was caught by the hype of web 2.0, I read TC review about this website called Zooomr. TC said it's like "Flickr on steroid". What happened to Zooomr now? still in beta and seems inactive. Have you seen Zooomr UI? not so good.. it's just Flickr with patches here and there, mashup here and there. I wonder how relevant TC reviews are. Even some of my friends these days have moved on and tagged TC as irrelevant and biased

</comment></comment></comment></comment><comment><USER10> He does have some good points though. I do find myself wondering if all the good web application ideas have been done? I mean there must be a finite amount of useful things to put on the internet. I'd like to get everyone's thoughts on that, it's a worry I have.

<comment><USER11> Only in the sense of finite like there is a finite amount of computation that the universe is capable of: <http://www.americanscientist.org/template/BookReviewTypeDetail/assetid/51924>

And, "things to put on the internet" isn't that right way to think of it. Think of: "things to do with people and information". It may as well be infinite.

<comment><USER10> That's a very inspiring way to look at it. I'm starting to feel better :-)

</comment></comment></comment><comment><USER12> Clearly they're having fun with their blog. Did you look at the comments? I wish my blogs launched with that much traffic.

</comment><comment><USER13> Uncov is the FOX News of the tech world.

</comment><comment><USER14> Uncov is stupid, unfunny, and they have an ugly layout.

</comment><comment><USER15> "unoriginal idea"

He should stop using gmail then...</comment>


Children of the Opioid Epidemic - <AUTHOR> https://www.nytimes.com/2018/05/09/magazine/children-of-the-opioid-epidemic.html <comment><USER2> I feel a great deal of sadness and sympathy for drug addicts when I think about them, and a great deal of resentment and anger at drug addicts when I think about the other people in their lives.

<comment><USER3> i can understand this sentiment, but there are many mental illnesses that bring pain to the people around the afflicted. why do we single drug addicts out for judgement?

anecdotally, i have seen that the ones that recover do not succeed through willpower or strength of character. the main factor is the strength of their support network. it is not a moral deficiency.

<comment><USER4> _i can understand this sentiment, but there are many mental illnesses that bring pain to the people around the afflicted. why do we single drug addicts out for judgement?_

At some point a drug addict, predisposition and circumstances aside, had to make a choice to start taking drugs. Someone with a mental illness never chose to flirt with mental illness, they're just mentally ill.

Now, I also have a lot of sympathy for drug addicts, because we can't ignore predisposition and environment, but it was still, somewhere in their past, a matter of choice. I don't think that means we should hang them out to dry, but it's not quite the same as someone who was just born sick. Of course that does exclude the hefty portion of the drug addicted populace who found their way to drugs as the result of a mental illness...

<comment><USER5> Talking about environment, I saw a very good quote by a woman named Tine Brubak Jahren, that I have taken the liberty to translate to English:

 _" It's odd when it comes to sympathy for drug addicts: Everyone has much sympathy for sexually abused children, children of drug addicts, victims of violence and abuse, people with mental health issues that are not helped by the system. BUT, when they grow up to become dysfunctional adults that use drugs to take away the pain and their problems, then it is suddenly full stop for the sympathy.

Suddenly, they are expected to take charge of their lives and behave like everyone else, and if they can't do that, there is no lack of suggestions such as sending them to desolate islands, forced sterilization or simply locking them up for life."_

She makes a great point, that also highlights the absurdity of using fines and prison for addicts. The system essentially punishes them for something the system has predisposed them to.

<comment><USER4> I agree with the conclusion, but the problem with perception is that no sexually abused child or child of an addictt _ever_ made a choice to be that child. 100% of the time, they're purely victims. A lot of drug addicts are the same way, but quite a few are also people who enjoyed doing drugs until it got the better of them. They're not all abused children or mentally ill, some are just drug addicts. The result is that you can be unreservedly sympathetic with abused children, but need a bit of background to feel the same sympathy for an addict.

Now, I'd argue that either way treatment and support is the answer, not jail. I'd also argue that the addicts who were screwed over and over into addiction are enough of a majority that we should give all addicts the benefit of the doubt. _However_ I also understand the perspective of people who have been urned by those addicts who are just selfish assholes, and can't manage that. They shouldn't set policy, but they'd have a valid view too.

tl;dr All victims of child abuse are victims, _some_ drug addicts are only victims of their own poor decisions.

<comment><USER6> Except that twin research shows that drug use and progression from light drugs to hard drugs to addiction is largely from genetics: [https://archives.drugabuse.gov/news-events/nida- notes/twin-s...](https://archives.drugabuse.gov/news-events/nida-notes/twin- studies-help-define-role-genes-in-vulnerability-to-drug-abuse)

Some quotes:

> "The progression from the use of cocaine or marijuana to abuse or dependence > was due largely to genetic factors."

> "The genetic influence for abuse was greater for heroin than for any other > drug."

Different paper: [https://onlinelibrary.wiley.com/doi/pdf/10.1002/978047001590...](https://onlinelibrary.wiley.com/doi/pdf/10.1002/9780470015902.a0005230.pub2)

"For instance, it is estimated that 50–60% of the variation in risk for alcoholism is accounted for by genetic factors."

Now add this on top of the stuff that affects you growing up you can't control.

Saying, "enjoyed doing drugs until it got the better of them" ignores that whether or not you're going to be driven towards drugs is largely determined before you're even born.

</comment></comment></comment></comment></comment></comment><comment><USER7> This is one of the most beautiful and hopeful articles I've read in a long time. I was expecting a depressing read but was delightfully surprised.

</comment><comment><USER8> To get an idea of how the New York Times depicted children of a drug addiction epidemic when it was black children affected, see here:

CHILDREN OF CRACK: ARE THE SCHOOLS READY? - A SPECIAL REPORT: Crack Babies Turn 5, and Schools Brace

[https://www.nytimes.com/1990/05/25/us/children-crack-are- sch...](https://www.nytimes.com/1990/05/25/us/children-crack-are-schools- ready-special-report-crack-babies-turn-5-schools.html)

<comment><USER9> It would be nice if an approach with such a humanitarian tact used in the OP's article were used back then. Hopefully we continue to grow in such a way.

<comment><USER10> The article points out that race has a lot to do with how these two epidemics of addiction were portrayed.

</comment></comment></comment><comment><USER11> I find this hard reading, the seeds of tragedy sown early.

How many children are abandoned to poor parenting - and is there a fix?

I know this is somewhat SF utopian but I keep banging on about "MOOP" \- massive open online psychology. the idea that we are monitored day in day out by our phones, listening to us and our interactions, the actual useful data that could be extracted about our psychology, our behaviour and how to improve it is immense (yes the risks huge - but that's why it should be open)

anyway - imagine a fridge that says "don't eat the chocolate" or a phone that's says "don't take the opioids"

Or a phone that's suggests new ways to talk with your children.

<comment><USER12> When you're a technologist, all problems look like technology problems I suppose.

My own solution to poor parenting isn't any more appealing, mind you. If meritocracy is desirable in a society, and parents have such a huge effect on the opportunities and potentials of their children, then the obvious solution is to do away with parenting. All children would be raised by trained experts and parents would, ideally, never know who their children are. They'd all have medical care, food, shelter, schooling, and other things that many children are currently deprived of because they simply fell out of the wrong womb. With this approach, having children is no longer as life-altering an event as it is currently, so abortion should be less frequent. Another advantage is that you can move the children around frequently, exposing them to many different regional cultures and other children from all over the country, broadening their understanding of the nation and its people.

Obviously there are disadvantages, not the least of which is that human nature makes the whole concept completely non-viable because very few people will accept the idea of not raising their own children. Worse, the idea that the state is solely in control of their education is downright horrific to some, and the inevitable homogenization of national culture would be seen as a threat by existing cultural enclaves. Not to mention that, deep down, people really don't actually want meritocracy at all.

<comment><USER13> It truly would be a brave new world at that point.</comment></comment></comment>


Real Not Complex: Free Math Resources - <AUTHOR> https://realnotcomplex.com/ <comment><USER2> I am almost always disappointed in such lists as they almost never contain the books I have never seen before. I got lucky today.

The list has [0] Multivariable Calculus by Don Shimamoto. I saw it on Amazon first(so I have seen it before, but not on lists such as the linked one), but didn't want to pay $40 for this strikingly beautiful book. Turns out it's free.

The real analysis section has [1] by Lafferriere, Lafferriere and Mau Nam. It's short, sweet and very pretty. No bloat. Logically organized. For example, the section "Applications Of The Completeness Axiom" contains everything you need to know as pertains to the topic (within elementary analysis) in one place. Such things usually get lost in the weeds in regular analysis books. Another book I like there is [2] which is on Lebesgue Integral and Measure Theory by Cheng.

[0] [https://drive.google.com/file/d/1IB-fSe- KR6mbo89iFTJVSA0CrFf...](https://drive.google.com/file/d/1IB-fSe- KR6mbo89iFTJVSA0CrFfIpE-D/view)

[1] [https://pdxscholar.library.pdx.edu/cgi/viewcontent.cgi?artic...](https://pdxscholar.library.pdx.edu/cgi/viewcontent.cgi?article=1015&context=pdxopen)

[2] [https://www.gold-saucer.org/math/lebesgue/lebesgue.pdf](https://www.gold- saucer.org/math/lebesgue/lebesgue.pdf)

<comment><USER3> > The real analysis section has [1] by Lafferriere, Lafferriere and Mau Nam. > It's short, sweet and very pretty. No bloat. Logically organized. For > example, the section "Applications Of The Completeness Axiom" contains > everything you need to know as pertains to the topic

I guess this is a matter of taste. I went to look at this and it really bothers me that, true to the name they give, the "completeness axiom" is presented as an axiom. My analysis class used Strichartz' _The Way of Analysis_ , which is certainly not "short and sweet" \-- the professor described it to us as "chatty" \-- but it goes ahead and actually proves the "completeness axiom".

Compare the completeness axiom

> Every nonempty subset A of ℝ that is bounded above has a least upper bound. > That is, sup A exists and is a real number.

with Strichartz' theorem 3.1.1

> For every non-empty set E of real numbers that is bounded above, there > exists a unique real number sup E such that

> 1\. sup E is an upper bound for E

> 2\. if y is any upper bound for E, then y ≥ sup E

Maybe Laferriere, Lafferiere and Mau Nam could use a little more "bloat". :/

<comment><USER4> In the first one, they already defined upper bound and least upper bound beforehand, so the statement is more concise than the Strichartz's one. On the other hand, the proof of the completeness axiom, or rather a detailed construction of the reals, is a part I always enjoy in analysis textbooks.

<comment><USER3> Yes, I have no problem with the fact that the concept "sup A" is defined before the statement of the axiom and then not repeated in it. (It's defined before the statement of theorem 3.1.1 in Strichartz too, it's just also repeated there.) I'm objecting to the fact that they present a theorem as if it were an axiom.

<comment><USER5> One model's axiom is another model's theorem.

<comment><USER3> Sure, the proof in Strichartz is constructive, defining a real number that is the supremum of the set.

LLN (I'm going to assume that the family name is Nguyen) _can 't_ do that, because they have no model of the real numbers, so it isn't possible to say that some construct is or isn't a real number.

So this is more a case of "what is a theorem if you have a model is only an axiom if you don't".

If you changed the statement of the completeness axiom from "every nonempty subset _A_ of the real numbers that is bounded above has a unique real least upper bound _sup A_ " to "every nonempty subset _A_ of the _rational_ numbers that is bounded above has a unique real least upper bound _r_ ", you'd have the Dedekind cut construction of the real numbers. That's not generally presented as an axiom either.

<comment><USER6> There are sometimes good reasons to define a mathematical object under study (vector space, real numbers, ...) by an axiomatic list of properties it satisfies instead of constructing it from simpler objects. John Conway's ONAG has an interesting mini-chapter about this.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> On the other hand, your time is never free - to the point that no matter how much you pay for a math book, you will end up paying incomparably more with your time spent studying it.

<comment><AUTHOR> > On the other hand, your time is never free - to the point that no matter how > much you pay for a math book, you will end up paying incomparably more with > your time spent studying it.

This is true.

However, I find that I tend to buy much more than I read. Not just because I tend to hoarde these things, but also because I try to seek out sources that click with me before I work through them.

<comment><USER8> I utterly agree with @Koshkin. the monetary cost of a book is virtually irrelevant compared to the days or weeks time cost in reading it.

I take your 2nd para in a way, the cost of a book being so cheap when I do read up on something I tend to buy 2, sometimes 3, books on the subject so where I get stuck on one the other will see me through.

Still, I am discomforted by your book-buying habits; a book unread is a valuable resource wasted :) But each to their own way.

<comment><USER9> >a book unread is a valuable resource wasted

"Unread Books Are More Valuable to Our Lives than Read Ones":

[https://www.brainpickings.org/2015/03/24/umberto-eco- antilib...](https://www.brainpickings.org/2015/03/24/umberto-eco-antilibrary/)

<comment><USER8> I can't even tell if that heap of twattery is self-aware enough to be parody.

<comment><USER10> Framing this on my blog

</comment></comment></comment></comment></comment></comment><comment><USER11> If you guys like visual / intuitive guides, I'm trying to release my own and you can find them using the links below:

\- Linear Algebra: [https://github.com/photonlines/Intuitive-Overview-of- Linear-...](https://github.com/photonlines/Intuitive-Overview-of-Linear- Algebra- Fundamentals/blob/master/PDF/An%20Intuitive%20Overview%20of%20Linear%20Algebra%20Fundamentals.pdf)

\- Maxwell's Equations: [https://github.com/photonlines/Intuitive-Guide-to- Maxwells-E...](https://github.com/photonlines/Intuitive-Guide-to-Maxwells- Equations/blob/master/PDF/An%20Intuitive%20Guide%20to%20Maxwell's%20Equations.pdf)

</comment><comment><USER12> A more recent version of the last link in the Statistics and machine learning section is (1)

(1) [https://github.com/percyliang/cs229t/blob/master/lectures/no...](https://github.com/percyliang/cs229t/blob/master/lectures/notes.pdf)</comment>


Relative deprivation predicts voting for far-right [pdf] - <AUTHOR> http://eprints.whiterose.ac.uk/145906/1/Urbanska%20%26%20Guimond%202018%20GRD%20ER%20IRSP.pdf <comment><USER2> It doesn't seem reasonable to describe any party getting over a third of the vote as "extreme left" or "extreme right" — they are mainstream almost by definition.

<comment><AUTHOR> The article used the term "extreme right", seemingly because it's a traditional term for this kind of movement, but I used more colloquial term "far-right". Please let me know if there are any other more appropriate names for the movement.</comment></comment>


Front Page of HN Gave me 21k Views and 10 New Twitter Followers. That's Right,10 - <AUTHOR> http://robbieabed.com/front-page-of-hacker-news-gave-me-21000-views-and-10-new-twitter-followers-thats-right-10/

<comment><USER2> 1\. I haven't seen any indication that a majority of the HN population are also sincere twitter users.

2\. Your social media call to action is in the same old place everyone else's is; top right sidebar.

I sometimes read posts on Yoast.com. If you look at the bottom of his posts (<http://yoast.com/optimizing-tags/>) you'll see a a social media call to action. That's where the reader ends up, at the end of the article. So right before they click the X, ask them if they'd like to subscribe for more content.

<comment><AUTHOR> thanks for the input, I'll take a look at yoast.

</comment></comment><comment><USER3> Count quality not quantity. People come here for the former not the latter.

Also, you'll get more Twitter followers if you tweet stuff that gets retweeted.

<comment><AUTHOR> Good point & I'm not complaining, but it just seemed a little odd to me. The people that did follow me were definitely quality follows.

</comment></comment><comment><USER4> Of all the things you can measure yourself by, I think twitter followers should probably pretty far down on the list.

Your profile on HN says you've founded a mobile consulting company but doesn't give URL. Most of your blog posts are 'pearls of wisdom' types but there isn't a whole lot about you, so people really can't evaluate your advice within their own personal value analysis.

21 of 30 of the latest submissions you've made here are to your own blog,

Please don't misunderstand this statement, you are not 'real' yet.

If you look at any one of the leaders here, or the folks in the tech industry, you will find a strong correlation with people for whom celebrity is an artifact of their execution against their goals, it has nothing to do with 'them' per se.

Here is a sure fire plan to having a million twitter followers:

1) Build a company from nothing to a multi-million dollar exit where you personally take home at least $10M. This will instantly get you 1 million followers of the 'shallow, gosh I wish I were rich like you, I've got this killer idea but just need a few thousand to get if off the ground' types.

This takes no time to go from 0 to a million followers, post big payday.

2) Take a job in broadcast journalism, and then take an extreme political view (right, left it doesn't matter just tailor it to the folks on that side who thing the media is an opposite-wing conspiracy to keep the truth from coming out.)

This takes probably 6 months from the time you accept the position to the time the number of real journalists complaining about you reaches into the hives of conspiracy enclaves.

3) Find your passion and devote all your time and energy to it, share your joy of discovery and your passion in your writing and your friends.

This will take years, maybe even decades.

HN is not a place to do #1 or #2, perhaps another site can help you out there.

</comment><comment><USER5> I personally believe that "Site X gave me %Y increase in traffic" articles are what kill social websites, essentially because increasing numbers of people try to game the site to help drive traffic, and the publishers, rather than the readers, become the customers (see Digg v4).

So hurrah! Fewer followers would be even better.

</comment><comment><USER6> Dustin Curtis has some tips for you.

[http://www.dustincurtis.com/you_should_follow_me_on_twitter....](http://www.dustincurtis.com/you_should_follow_me_on_twitter.html)

<comment><AUTHOR> awesome, thanks.</comment></comment>


Tulsi Gabbard Sues Google for $50M - <AUTHOR> https://www.salon.com/2019/07/25/tulsi-gabbard-sues-google-for-50-million/ <comment><USER2> Dupe of [https://news.ycombinator.com/item?id=20528366](https://news.ycombinator.com/item?id=20528366)

<comment><USER3> Yes. Comments moved thither.</comment></comment>


On the Value of Hard Focus - <AUTHOR> http://calnewport.com/blog/2009/06/22/on-the-value-of-hard-focus/

<comment><USER2> I wholeheartedly second the Murakami book recommendation. It's really nice how he talks about being a hardworking writer in a very personal and unglamorous manner. The analogy he draws with running is also very thoughtful.

</comment><comment><USER3> How (or does) this relate to ADD and ADHD? Can ADD be trained away? I ask this seriously, I personally think our ability to literally change our minds is not well understood and extremely underestimated.

<comment><USER4> When I twisted my knee and strained a ligament, I was told to do exercises to strengthen the muscles around the knee. Apparently strong muscles can make up for weak ligaments. Maybe strong "concentration muscles" can make up for whatever is weak in a person with ADD. Or, maybe ADD can be defined as a person with weak concentration muscles.

<comment><USER5> Except that concentration isn't a muscle, its a chemical.</comment></comment></comment>


The Ten Commandments of Crypto Taxes - <AUTHOR> https://medium.com/@david_97757/the-ten-commandments-of-crypto-taxes-8ab9c532c500 <comment><USER2> Yay! I was starting to worry how the hell I was going to figure this out. #useful!

</comment><comment><USER3> This is SO useful. Thanks

<comment><AUTHOR> No problem, Avi I hope we can help solve your crypto taxes! Give YaxReturns.com a try I'm interested to hear your thoughts.

</comment></comment><comment><USER4> Great tool!</comment>


In 1973, I invented a 'girly drink' called Baileys - <AUTHOR> https://www.irishtimes.com/culture/books/in-1973-i-invented-a-girly-drink-called-baileys-1.3240945?mode=amp <comment><USER2> > Over the years I have come to the conclusion that the real heroes of ideas > are not the people who have them – they are the people who buy them.

The power of the venture trifecta; the idea, the inventor, and the investor.</comment>


Sicilian Defense - <AUTHOR> https://en.wikipedia.org/wiki/Sicilian_Defence <comment><USER2> Is there death on the line?</comment>


Developer pulls critical code from tech company after ICE contract revealed - <AUTHOR> https://mashable.com/article/chef-ice-seth-vargo/ <comment><USER2> This has been discussed a lot a couple of days

Former developer at software company deletes his code to protest its ties to ICE [https://news.ycombinator.com/item?id=21042606](https://news.ycombinator.com/item?id=21042606)

Chef CEO Defends Contract with ICE [https://news.ycombinator.com/item?id=21030561](https://news.ycombinator.com/item?id=21030561)

Chef dependency removed after agreement with ICE [https://news.ycombinator.com/item?id=21025037](https://news.ycombinator.com/item?id=21025037)

'Everyone Should Have a Moral Code' Says Developer Who Deleted Code Sold to ICE [https://news.ycombinator.com/item?id=21028349](https://news.ycombinator.com/item?id=21028349)

To fight 'evil' ICE, an engineer pulled his code off GitHub [https://news.ycombinator.com/item?id=21032643](https://news.ycombinator.com/item?id=21032643)

</comment><comment><USER3> Chef got lucky. If that dev is so stupid as to believe all that, best to not use his code.</comment>


Facebook deepens ties with intelligence agencies. Is it selling data? - <AUTHOR> http://social.venturebeat.com/2010/04/22/facebook-lobbying/

<comment><USER2> It's somewhat unfortunate that technology is moving a lot faster than the law can keep up with. Among some groups of people, Facebook is essentially the modern-day version of the phone network: how they do their routine communication. But the phone network has a bunch of legal protections, e.g. if the police want to listen in on some conversations they need a warrant, _even if_ the phone company were willing to sell them a wiretap without a warrant (that's why the warrantless-wiretapping scandal was a scandal). But Facebook is currently just treated as a simple case of a company that has some information, which the government can purchase if it wishes.

</comment><comment><AUTHOR> "...helping legislators and intelligence agencies understand how to use the social network for campaigning, reaching out to their constituencies and in their regular line of work."

Hmmm...I wonder what "regular line of work" Facebook is helping the CIA with.

<comment><USER3> the most obvious would be large crowd behavior analysis. That would not necessarily require divulging individual information.

The other possibility would be some form of association tracking. This is not significantly different than trying to determine enemy dispositions by inspecting who communicates with whom, and at what frequency. IOW, traffic pattern analysis.

</comment></comment><comment><USER4> Stay away from social networks as much as possible. The world will be a better place if personal data stays personal.

<comment><USER5> I don't know why there isn't a groundswell in favor of a gnu facebook, democratically run, ssl enabled, with powerful opt out privileges... Maybe because I don't have time to start it...

<comment><USER6> Because open-source can only do some things. It took an Ubuntu to make Linux somewhat usable, and even then it is miles behind an OS X. Some endeavors can only be done when there is lots of money at stake, that's a reality of our world today.

<comment><USER5> I disagree -- it takes motivated, large scale cooperation of resources. Sometimes money can buy it, sometimes you don't need money to buy such.

PERHAPS you can argue given a boring problem (e.g. Linux usability for grandma) and getting people to work on it takes money. But that is contingent on the arrangement of society, it isn't a universal principle or anything.

As for Ubuntu -- um, as a newly converted FreeBSD user, I think there appeared a free usable system a long time ago...

</comment></comment></comment></comment><comment><USER7> Heh. Many people believe that Facebook was founded by people from the CIA, which would make perfect sense for them to reach back.

See [http://www.itsecurity.com/features/cia-facebook- conspiracy-0...](http://www.itsecurity.com/features/cia-facebook- conspiracy-092007/) for a reasonably balanced take on that theory.

<comment><USER8> That sounds a little too conspiratorial. However legally, it would somehow make sense.

NSA probably already copies all the data it wants by tapping straight into the backbone connections via AT&T and other providers. NSA is more hidden from public scrutiny and doesn't have to worry much about those pesky little laws. CIA on the other hand, is more visible, might not have access to all of that technology as NSA, and is scrutinized a little more by the public. So they might choose a "smarter" approach than just brute-force copying everything.

So legally I would guess that other parties (companies, other citizens) probably can spy on American citizens, and then sell the data back to the CIA. I am sure that is already going on as far as Choicepoint, for example, is concerned. So I would say, it would certainly make sense for them to somehow obtain data from Facebook.

</comment></comment><comment><USER6> I saw a guy buy a meat cleaver the other day. Is it possible he is a psycho killer?

<comment><USER8> But was he also buying formaldehyde, rope, a shovel and was google-ing stuff like "how to dispose of a body" recently.

</comment></comment><comment><USER9> Why the editorialized title? the "is it selling data?" addendum is just commentary as it's not related to the article....

</comment><comment><USER10> Wait, Facebook might _not_ be selling data? I find that surprising.</comment>


Material, a Graphics Framework for Material Design in Swift - <AUTHOR> https://github.com/CosmicMind/Material <comment><USER2> First of all, it looks great, so well done for that! It's fantastic to actually make it to the release stage.

That said, I'm a big fan of adopting the best design paradigm for the platform. If I was building an Android app, material design would be the go to. Why? Well, Android users have already used it. The cognitive burden to how things feel and work has been removed, letting your users feel familiar with the app from the get go.

Similarly, with iOS, closely following their human interface guidelines will produce the best results for allowing iOS users to immediately feel at home in your app. This sentiment is mimicked in the WWDC2014 video Designing Intuitive User Experiences.

For this reason, I'd personally tend to shy away from trying to port design principles to other platforms. It sure looks nice, but is it worth it?

<comment><USER3> I can't comment on whether it's the best for the platform, but I don't think there's much of a cognitive burden placed on iOS users by material design. A whole lot of iOS users use the Google Maps and Youtube apps, and many also use Gmail/Inbox for email, and Chrome as a browser. My Grandmom uses Google Maps and has never had to ask me any questions about how to do things with it.

<comment><USER4> Honestly it bothers me every time I use a Google app on my iPhone. Because it feels like they've willingly sacrificed a uniform platform experience to push their own brand. Now I can't comment on the quality of the app itself, but consider what Apple did with the UI for the Apple Music app for Android: [https://play.google.com/store/apps/details?id=com.apple.andr...](https://play.google.com/store/apps/details?id=com.apple.android.music&hl=en_GB)

<comment><USER5> For years Android users complained, that when apps were originally introduced on iOS and later brought to Android, they were looking like iOS apps. I guess that Google realized in the end, that it works both ways.

<comment><USER6> I instant uninstall any apps from my Android phone if it looks like an iOS app.

<comment><USER7> I instantly uninstall the apps don't work.

</comment></comment></comment></comment></comment></comment><comment><USER8> _Why for Heaven 's sake should iOS users ever adopt Android's so-so Material Design?_

My perception is that iOS users—both developers and users—are rather 'hostile' against Android and its ecosystem. They believe that if there is one design authority, it must be Apple, so again _Why?_

I had Android phones for 4-5 yrs and I still like Android, I think there is a lot innovation on Android. It's in some parts more advanced than iOS but I've still switched back to iOS for 2yrs. I waste now less time with tweaking every tiny detail of the system (what I loved about Android).

Material Design is ok but not stunning. Everything is big and if you have a 5.7" brick every piece of Material Design gets even more bloated because most manufacturers have wrong ppi/scaling settings which you can't change. All the Notes from Samsung have this problem and people root them to correct this. It feels like if the MyFirstSony product head designed the UI: you can easily hit the baby-buttons with elbows and closed eyes. Again, Material Design is not really bad but not something I would upvote on Dribbble. It's a careful design that wants to be liked, not brave, a happy and randomly colored design language that doesn't want to hurt, with an impersonal and indecisive personality. Even Windows Phone's design is _way_ more bold and daring, with a mind of its own, it doesn't want to be liked.

<comment><USER9> I switched back from Android to iOS as my everyday mobile OS a few months ago, mostly for stability reasons. I think that both OSs have very mature GUI styles, iOS more visually appealing in theory (smooth animations, Gaussian blur; just compare Chrome's tab switcher with Safari's) but also more conservative. Material design is certainly easier to "get right," meaning that more third-party apps look quite polished than on iOS (it used to be the other way round before Material came up).

Before the switch, I thought that I would continue to use iOS versions of Google's great Android apps (especially Keep, which on Android has way better UX than many alternatives). Actually, I more or less abandoned all Google apps except Maps. Material Design is only one reason, but certainly a big one. Once I got used to the iOS style again, those colorful hamburger menus felt out of place. All in all, _Google 's apps felt like "bad citizens." I don't want to rethink my interactions between apps._

What made me angry (obviously that's because I'm a nerd) is the Roboto font, which looks quite similar to San Francisco, but still noticeably different. This violates typographic principles: you don't mix Helvetica and Univers, it will look like an accident. Heck, even Apple Music on Android uses Roboto. Can't you try to be a good citizen in return, Google?

</comment></comment><comment><USER10> OT: are there any modular Material design CSS frameworks?

I can't use material-ui (no react).

<comment><USER11> I've used a few and like Material Design Lite the most. There may be others that are easier to work with, but MDL feels the most true to the Material Design specs and it follows the BEM method, which makes sense to me. Their example pages are useful as well.

<comment><USER10> Can you elaborate why you like MDL better than the rest?

I find the CSS class names a bit clunky. Materialize makes a much better figure.

<comment><USER12> MDL is closer to the material spec than materialize, even materialize's site doesn't follow the material guidelines</comment></comment></comment></comment>


Gopherspace in the Year 2020 - <AUTHOR> https://cheapskatesguide.org/articles/gopherspace.html <comment><USER2> I love that gopherpedia (Wikipedia over Gopher) is a thing. Probably one of the best lynx experiences one can have.

My first introduction to Gopher was actually by recently bumping into Gemini [0], which tries to fix a lot of the known problems with Gopher.

The Gemini protocol is still super small and pretty slick---definitely worth the 30 minute read. The simplicity also means that a lot of clients already exist [1]. I've been using Bombadillo [2], which supports Gopher, Finger, as well as standard HTTP(S) if you enable a flag.

[0]:[https://gemini.circumlunar.space/](https://gemini.circumlunar.space/)

[1]:[https://gemini.circumlunar.space/clients.html](https://gemini.circumlunar.space/clients.html)

[2]:[https://rawtext.club/~sloum/bombadillo.html](https://rawtext.club/~sloum/bombadillo.html)

<comment><USER3> Does the gopherpedia just strip out inline links? This seems like a big trade off to me. And the formatting seems also a bit plain which makes things like source code hard to read.

Though I think this is my biggest gripe with Gopher or Gemini. I love the idea of going back to a more text focused web where the user decides how to consume content, but I really don't get the like for plain text. I still want it to be rich text, regarding formatting and semantic meaning. Plain Text just seems tedious.

<comment><USER4> Completely agree about Gopher. I still love it, but it has some real pain points.

Gemini, on the other hand, has links, preformatted blocks, headings, quotes, lists, etc. as part of the content specification.

By keeping most of the visual _formatting_ out of the hands of the author, the content can be rendered however the user/client wants to display (or hear!) it. It can be viewed raw in a terminal or it can be typographically beautiful. There are even some clever efforts to apply different styles to different sites.

The other appeal is to be able to _author_ content very easily. The text/gemini formatting is so simple/conventional, you pretty much already know it without trying. But its simplicity also lowers the barrier to building tools around it for authoring, displaying, syntax highlighting, and so on.

(Gopher is also pretty easy, but the menu format is an arcane artifact from The Old Days and annoying to write by hand. Content is "plain text" by convention, but there is absolutely _no_ specification about line wrapping, character encoding, etc. so it's not as simple as it looks either. The lack of links in content leads some folks to use menus _as_ content - tooling helps, but...yuck.)

</comment></comment></comment><comment><USER5> SGBlog ([http://sgblog.stargrave.org/](http://sgblog.stargrave.org/)) is Git- backed blogging engine with gopher protocol support (for making plogs). Out of the box, just with inetd.

</comment><comment><USER6> What about setting up a Gopher server?

</comment><comment><USER7> We need a website that tunnels gopher to html</comment>