eBay workers stalked, threatened authors of critical newsletter - <AUTHOR> https://www.nytimes.com/2020/06/15/technology/ebay-cyberstalking-with-cockroaches-and-bloody-pig-face.html <comment><USER2> Already discussed, with over 150 comments: [https://news.ycombinator.com/item?id=23529035](https://news.ycombinator.com/item?id=23529035)

<comment><USER3> HN needs some topic extraction and push the threads with more comments to the top.

Just saying.

<comment><USER4> Personally, I would like a dupe button separate from the flag button. When you click "dupe", you're prompted to enter the URL of the original, so the system can cross check multiple people.</comment></comment></comment>


The top 10 signs that you don´t understand evolution at all - <AUTHOR> http://dippost.com/2013/12/29/the-top-10-signs-that-you-dont-understand-evolution-at-all/ <comment><USER2> lol about the Pokemon Evolution and the Darwin's evolution theory.

This is why I love Science, because the only thing I is believe and trust is humans and human intelligence.</comment>


High-quality ordered math videos from ground up - <AUTHOR> https://www.youtube.com/channel/UCoHhuummRZaIVX7bD4t2czg <comment><USER2> I've been going through his series on Statistics to complement some MOOCs I've been doing on Data Science / Statistics. Very helpful stuff. Likewise, I just started going through his Calc I sequence to help me brush up on that stuff. Definitely one of my favorite Youtube personalities. I find his videos tremendously useful.

<comment><AUTHOR> I too like his teaching style. Started from the beginning. Prealgebra. Working my way up and math is fun now!

<comment><USER2> If you aren't already familiar with them, you might also want to check out the stuff by Gilbert Strang (Calculus and Linear Algebra), MathBFF (pre-calc/trig, calculus), and PatrickJMT (little bit of everything).

</comment></comment></comment><comment><USER3> I started with his

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

on Green's theorem. He was _animated_ and involved. Started with a nice overview. But, bad sound. Bad lighting. They were so bad I gave up.

Please, someone help him get some okay video _production quality_.

<comment><AUTHOR> Im watching 1080p with earbuds and have not noticed any problems. I seems ok to me. [http://i.imgur.com/rx4sjHq.png](http://i.imgur.com/rx4sjHq.png)

</comment></comment><comment><USER4> How does it compare with Khan Academy? Content seems to overlap - what's the differentiation?</comment>


YC Application Advice From a 6x Reject - <AUTHOR>

The hard truth: You're not going to get into YC. You're not going to get an interview and your application isn't going to be read in full by anyone who doesn't love you.
You will be rejected.
That might sound harsh, but it's the likely outcome for the vast majority of applicants.
But don't let it phase you.  Buckle down, find people that you can rely on, work hard, and you're going to do fine.
Remember, rejection from society is what created the X-Men.  (http://pretendmoney.s3.amazonaws.com/x-men.jpg) <comment><USER2> Well, I've been rejected 4-5 times now (various projects). I'll still keep applying but I'm certainly not relying on it by any means. My last project is still progressing and is an actual business. I can feel myself getting far better with each attempt. I've explored a lot of what not to do. At some point I'll either look good enough for YC or I'll succeed on my own. I'll keep applying so that the YC door is open, at least from my side.

Also, I have become better at dealing with professional rejection as a result of YC. It was one of the few things I've ever "applied" for, _really_ wanted, and not gotten. So that alone was a powerful and useful learning experience.

Keep learning. Keep trying. Keep applying.

<comment><AUTHOR> Applying to YC actually forces you to think about the things that you need to do to make a project work.

If you keep at it eventually you become more capable, start to find traction on your own, and you find that you've gained most of the skills that you thought you needed something like YC to teach you.

I spent my 20's grasping for something that was just out of reach, and I'm better for it.

</comment></comment><comment><USER3> Were your previous applications under other HN usernames? I only found one rejection for this username.

<comment><AUTHOR> Yes, they were usually submitted under one-off accounts. I think that one was 'itemshoppe'.

<comment><USER3> Ok, I found 4 more by doing a text search for "Urbanski." 2 of them I'd read myself, incidentally.

Why did you ditch mcu? Did you forget the password? I can reset it for you if you like.

<comment><AUTHOR> Ah! My first submission was for w09, I thought that I re-submitted my apps for each of the next cycles, making this my 10th. I'm at 6? Will update the title.

Should have made it: "From someone who has been applying for 5 years"

I've had a mix of of mcu/mikeurbanski accounts online for years, when I finally decided to pick one I settled on mikeurbanski. A rename would be useful, but the two accounts have diverged in the past year.

</comment></comment></comment></comment><comment><USER4> My guess one of these items:

1\. Market - is it large enough? What's your angle? what has everyone else missed. Do you have evidence or are you guessing? 2\. Team - Why you? Experience? Previous success(Have you done something awesome?) Have you gotten any traction? Do you know they right players? 3\. Product - People just love the product. Think Iphone or Ipod.

</comment><comment><USER5> Would you care to release any of the applications you've submitted? I would be curious to see if it's really a quality application that YC overlooked or if there are other reasons you were not accepted.

<comment><AUTHOR> If I had to guess why they were rejected I'd say that it's because they're typically:

#1: Consumer focused

#2: Unsexy/unknown markets

Were they wrong to reject them? Probably not. Traditional gaming isn't a market that many take seriously.

I'm still implementing many of the ideas that have been submitted to YC. I'll release the apps and write retrospectives as we push out features in the future.</comment></comment>


DoorDash (YC S13) and  Cruise (YC W14) to Deliver Food via Self-Driving Cars - <AUTHOR> https://venturebeat.com/2019/01/03/doordash-and-gms-cruise-team-up-to-pilot-food-delivery-via-self-driving-cars/ <comment><USER2> Hmm, food delivery seems like the last thing that needs to autonomous driving given there needs to be someone to pick up the food and to deliver it the last few feet to the waiting customer.

<comment><USER3> People will meet the vehicle outside if it saves them money.

<comment><USER2> In the very long term. You're going to be rifling through bags looking for your order.

<comment><USER3> Or... perhaps you'll just be presented with a bunch of lockers, and only the locker with your order in it will open.

This sounds like a problem that can be solved immediately, and when 20% + ~$5 is currently going to delivery fees for these orders, it's going to be easy to get people to go to some extra trouble.

For its first year of existence, Uber Eats in my city didn't require drivers to go to the door of the user, so it's something that already happened millions of times without anyone trying to force it.

<comment><USER2> The Uber drivers had to go pick up the food.

The news here is that the safety drivers are also going to cart around food while monitoring the autonomous vehicle's systems.</comment></comment></comment></comment></comment>


Graphical Linear Algebra - <AUTHOR> http://graphicallinearalgebra.net

<comment><USER2> I understand that brevity is not the goal here but I have read through the first 3 "episodes" and feel as though the content has been mostly trite remarks. I don't mean to be a grinch here. I love what the author is doing and the informal "Khan Academy" approach to mathematics but I can't help but want more meaty content.

<comment><USER3> Yeah. I also don't want to be too negative, but I skimmed through the posts so far, and it seems like we don't actually have much graphics or linear algebra yet. Instead, we have a bunch of wordy prose preparing us to someday get to the graphical linear algebra.

To the author: you might want to lead off with something a bit more substantive, or many readers are going to get bored and leave before you ever get to teach them anything.

</comment></comment><comment> daniel-levin This needs considerably more content. I find that 'graphical' linear algebra becomes a powerful tool when it is used to develop visual intuition for concepts such as determinants (areas/volumes in space and what it means for this quantity to be zero), solutions to linear systems (intersecting lines/planes/hyperplanes), subspaces (lines embedded in planes/hyperplanes and planes/hyperplanes embedded in planes), why a transform from R^2 -> R is not invertible (collapsing a plane into a line) what an eigenvector looks like and how it relates to other matrix properties such as invertibility (with illustrative examples such as a scaling matrix and a rotation matrix)

Having said that, I like the lego analogy for direct sums and why they don't commute. It explains concepts a lot more abstract than the basics of linear algebra. I was not expecting that from the title

</comment><comment><AUTHOR> I am not the author, but the blog series is based around this paper AFAIK: [http://arxiv.org/abs/1403.7048](http://arxiv.org/abs/1403.7048)

<comment><USER4> these diagrams are ubiquitous - it's funny they are the same diagrams in both electrical engineering and theoretical physics

e.g. Topological Quantum Field Theory [http://tex.stackexchange.com/questions/17031/topological- qua...](http://tex.stackexchange.com/questions/17031/topological-quantum- field-theory-diagrams-with-pstricks-or-tikz)

</comment></comment><comment><USER5> Honestly, there's not really much content here.

</comment><comment><USER6> Seems like a good idea. I would have liked this better if it covered harder theory. Khan Academy's linear algebra section is pretty good. I find it very long, though. Text + graphics wouldn't have that limitation.

My suggestion would be - take mathematics required by game development and explain how that works - collisions, intersections, visibility, rotations. All the juice is right there!</comment>


Ask HN: Why don't TED talks get voted higher? - <AUTHOR>

It blows my mind that http://www.ted.com/talks/harald_haas_wireless_data_from_every_light_bulb.html only has 3 points, and I've noticed that other fantastic TED talks that I watch also don't do well. I'm genuinely confused. Am I really in the minority liking this sort of content? <comment><USER2> There was a run of too many crap ones and I don't even look at the titles anymore. That's my story anyway.

<comment><USER3> I'm glad I'm not the only one who felt this trend. It seems like it used to be "look at this great new idea and how it might change the world" (usually with a technical slant), but now its more "look how important we all are and how much we care!" (with a political slant).</comment></comment>


Scientists find what controls waking up and going to sleep - <AUTHOR> http://www.northwestern.edu/newscenter/stories/2015/08/scientists-discover-what-controls-waking-up-and-going-to-sleep-.html <comment><USER2> This is pretty sweet. A lot of people get addicted to OTC sleep aides. Maybe this will lead to better, more targeted help for people with sleep problems, and not have them get addicted to things that don't even really help.</comment>


Show HN: Pathtracing Neon Landscapes in R - <AUTHOR> https://www.tylermw.com/pathtracing-neon-landscapes-in-r/ <comment><AUTHOR> Author here, just wanted to show off an example of using my pathtracing R package, rayrender. Here's a link to the Github page:

Github:

[https://www.github.com/tylermorganwall/rayrender](https://www.github.com/tylermorganwall/rayrender)

And here's the pkgdown website that includes the documentation and examples:

[https://www.rayrender.net](https://www.rayrender.net)</comment>


YouTube hilariously impotent against ASCII comment pornographers - <AUTHOR> http://arstechnica.com/business/2013/11/youtube-tries-to-stem-the-flow-of-a-new-kind-of-terrible-comments/

<comment><USER2> Solid evidence that real-name policies _do not_ necessarily improve behavior. The world has many jerks, and they're _already_ jerks in real life with their name and face attached. Why should the internet be any different?

<comment><USER3> They're tried for like, a few days now, which _proves_ it can't work!!!

<comment><USER4> YouTube promotes the comment:

> _Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger > Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger > Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger > Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger > Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger > Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger > Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger > Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger Nigger_

Which seems like a pretty big fail.

<comment><USER5> you really had to post that here?

EDIT: I see the downvotes, but I still believe there are better ways to get the point across without having to create that block of text on HN.

<comment><USER4> You need to see the word, 85 times, to see just how fucking hard YouTube / Google fail at comments.

When you have a single racial slur repeated 85 times even an idiot should know it's not conducive to decent conversation. You don't even need to see the user avatar of a Nazi propaganda cartoon of a Jew to know it's a troll comment.

<comment><USER3> So, to be clear, you want Google to decide what decent conversation is?

Or maybe should the person who posted the video have some control over the discussion, and it should be up to them?

Do you want them to remove martinlutherking.org (a horrific troll website) from the results for "MLK" as well?

<comment><USER4> Google say they want to decide what decent conversation is.

That's why they started banning people from Google services. Those people were using their real names (but Google didn't believe them) or were using long established names (but that wasn't good enough for Google).

Google is making many changes in order to "improve comment quality" on YouTube.

And yet they still fail, really hard.

> Or maybe should the person who posted the video have some control over the > discussion, and it should be up to them?

I guess that's easier to say when you're not getting dozens of hateful messages trolling your channel every day. But, really, if that's what Google wants (channel owners to control the channels) that's fine. Just stop banning people for using something that Google doesn't think is a real name, stop tying G+ into everything, give channel owners better tools.

> Do you want them to remove martinlutherking.org (a horrific troll website) > from the results for "MLK" as well?

This discussion is only about YouTube comments. Why are you dragging in other irrelevant hypotheticals? Me asking you "So, you don't care if someone spraypaints 'pakis out' on someone's shop?" would be just as daft.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I suppose the only way to combat this is to combat ASCII art in general?

This would make a very interesting paper on machine learning.

<comment><USER7> Slashdot did this ages ago. Google should look at their moderation system too.

<comment><USER8> I really don't understand why practically no other sites have adopted the slashdot moderation system. It isn't perfect, but it is by far the best moderation system that does not require large time commitments from the site owners.

</comment></comment></comment><comment><USER9> # 12 One of my advisors will be an average five-year-old child. Any flaws in my plan that he is able to spot will be corrected before implementation.[1]

[1] [http://www.eviloverlord.com/lists/overlord.html](http://www.eviloverlord.com/lists/overlord.html)

</comment><comment><USER10> Funny how one of the world's largest companies can be both so powerful and yet so stupid and impotent against a sea of penises.

<comment><USER11> The Internet is full of dicks.</comment></comment>


Building beauty out of logarithms and cosines - <AUTHOR> http://www.techradar.com/news/world-of-tech/past-present-and-future-of-the-demoscene-616817?artc_pg=1

<comment><USER2> I've always been puzzled by the little attention HN pays to demoscene. Coders of those little gems are truly expert hackers in their domains, getting the most of a limited amount of resources with pretty clever algorithms.

</comment><comment><USER3> The 'elevated' 4k demo by RGBA group is almost unbelievable.

Of course the DirectX libraries needed to run it wouldn't fit on a floppy :-).

<comment><USER4> where's the link to it? couldn't find it on the page.

<comment><AUTHOR> And in addition to that, iq shares insights and techniques behind his 4kb graphical hacks at <http://iquilezles.org>

<comment><USER3> Thanks!

</comment></comment></comment></comment><comment><USER5> Pretty neat that they could fit all of that into such a small package. Even as compilers advance more and more, I wonder if they'll ever end up hitting a "wall" in the sense that they could be extremely efficient and run up against Kolmogorov complexity:

<http://en.wikipedia.org/wiki/Kolmogorov_complexity>

If you've never heard of it, it basically has to do with the 'information' inherent in some data; you could generate a plot for a function like y = x^2 + 5, but the bitmap would require much more data than the equivalent ASCII that stores the actual equation (and so is less efficient).

I haven't checked out the demo code, but I imagine that they could be doing some self-modifying code or using part of their image as an executable to save space. I just don't think compilers will ever be able to get up to that kind of efficiency, unless someone finds a new and unique way of writing them (genetic algorithms, perhaps?).

<comment><USER6> There's no real motivation for compilers in such a niche area. Most programming these days is about gluing lots of code together, which requires a higher level of common idioms than has historically been commonplace.

For example, people using Python, Ruby and Javascript rely on those languages' built-in dictionaries, arrays, array comprehensions, closure support, etc., just as part of the interface between modules. Similarly, Java depends on the standard collections and their corresponding interfaces; much .NET these days depends on extensive reflection and dynamic runtime code generation (directly or indirectly using Reflection.Emit, perhaps through LINQ).

A certain amount of this infrastructure needs to be present and, more importantly, taken for granted, for high-level libraries to be built and used freely without worrying about conflicting idioms. Contrast that with the historical situation in C, where the lingua franca is more often than not text files and perhaps a struct of callbacks. Every module has its own ideas about containers, and ideas like LINQ don't get much of a look in because it requires too much infrastructure.

So, if one is building a graphical program for .NET, one is probably going to be using the Bitmap class at some point, or a specialized version (texture etc.) for DirectX. Compilers will try and focus on the runtime execution profile of the agglomeration of different modules, and make the hot path run as fast as possible, possibly inlining and optimizing across module boundaries. The hot path might add up to less than 4KB of code (though that's smaller than the CPU cache, so probably wouldn't be worth the effort in this specific case). But the starting-out executable probably isn't 4KB in size, and the high-level libraries its linking against will certainly take it well beyond 4KB. Those high-level libraries have nice rich info for debugging, intellisense support and object-oriented development.

So, compilers do focus on efficiency, and can focus that efficiency in ways that humans would find difficult and tedious, through cross-module interprocedural optimization. Separation of concerns is not just good engineering practice; it's also a matter of economics and specialization of labour. A human trying to optimize the critical path needs to know a lot about all the layers in the stack, while a compiler works best when it does the work of optimizing those layers so long as the individual layers are reasonably well-design and efficient to begin with.

Another point: none of the demo code runs on my machine, they all either give a blank screen or crash on startup. Perhaps I have the wrong aspect ratio, perhaps I have too many monitors, perhaps I have a piece of hardware (geforce 8800gtx) they haven't tested fully. It's pretty trivial for code to be the smallest and fastest in the world if it doesn't need to work reliably.

<comment><AUTHOR> Since the discussion is about toolset and compilers, it's worth noting that 4kb intros on windows platforms are nowadays built using a "compressing linker" called crinkler.

Instead of compressing the binary code of the original executable as data which then gets uncompressed when the real executable is run (in that area, kkrunchy is the state of the art on windows), crinkler produces a compressed executable directly, at linking time.

\--

<http://www.crinkler.net/>

[http://www.pouet.net/nfo.php?which=18158&f=none](http://www.pouet.net/nfo.php?which=18158&f=none) \-- description of crinkler's operation

<http://www.farbrausch.de/~fg/kkrunchy/> \-- kkrunchy, a packer which does a code transformation pass before actually compressing it.

</comment></comment></comment><comment><USER7> are there competitions / groups who try and do this with statically linked bins? A 4k all-in app sounds more fun

<comment><USER8> This comments seems a little bit shortsighted. Where do you stop? Is it okay if you write your own interface to the hardware drivers, bypassing DirectX/OpenGL? Or do you also have to write your own drivers to the graphics and sound? Your own operating system? Design your own hardware? There's no such thing as an "all-in" app.

All of those things have certainly been done on the demoscene. In the demoscene, size-limited competitions have implicit convections, unwritten rules if you will, to ensure that everybody competes on fair terms. For 4kb intros it is currently accepted (if not encouraged) to use the DirectX/OpenGL APIs. It is also considered acceptable to use the font-writing API's, and some groups exploit this to generate vector graphics out of obscure font symbols.

For sound, it's expected that you either write your own software synthesizer (or collaborate with somebody who has written one), or use the MIDI APIs. For 1kb intros, MIDI API sounds are expected. There was a big controversy in 2008, when the 4kb intro Texas (<http://pouet.net/prod.php?which=51448>) won the 4kb competition at NVScene. Many people considered its use of samples from mp3s included with the Windows operating system cheating, since it went outside the bounds of what is considered acceptable use of the OS resources.

So there are some implicit conventions about what you can and cannot do, and if you want to compete fairly and impress your fellow sceners, you should follow them.

Of course, most demoscene parties feature the wild demo competitions, where pretty much anything goes. Demosceners always reward hard work and clever hacks, so if you want to impress, create a demo on your self-built hardware and enter into this competition. You will have a fair chance at one of the prizes.</comment></comment>


Go Challenge 1 - <AUTHOR> http://golang-challenge.com/go-challenge1

<comment><USER2> It was already discussed here five days ago:

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

<comment><AUTHOR> Thanks - I had missed it back then, and HN didn't send me to that link when I added it.</comment></comment>


I hate queries - <AUTHOR>

Yes. Queries to me is a "annoying" requirement of software/product/website development. What is strange to me is that we are living in  2010 and yet here we are writing queries for a backend layer that should simply be a lot more easy and fast to do. Imagine for websites, you have to create a database with tables and fields and so on, then you have to write extra code in some perhaps to you foreign language where you select what data you wish to present based on some parameter.
Why oh god why!? I don't want to write queries, and it's not because I think it's hard or anything like that, the reason is more about time and funfactor. Writing queries to me is the most boring part of any project and often a very time consuming process, imagine spending this time designing or improving your app in other ways. So what could we have instead?
Well imagine a perfect world where all you would have todo is create some table/fields or documents depending if it's a relational or no sql db. Then you would simply through some amazingly easy and efficient interface select what data you want to present and it would automagically generate whatever code/query or a process that is necessary, then you would just invoke that process to obtain that data.
Nooo no no I am NOT talking about query builders, those are horrible! They take even longer time to work with than just writing plain simple query code, I am talking about a revolution in the way we deal with this layer - "queries" I call it a "layer" because to me it's like a layer of a development process that is necessary but should not be as time consuming or boring as it currently is. Sorry to all you query writing lovers out there!
There should be some tool or way to generate a function/stored procedure/x that outputs your data as arrays/objects/json/xml/whatever based on some simple dragging or dropping or marking that you would do with a super neat efficient interface. The tool would then do all the work for you, and whatever query/procedure/function that it generates would already be amazingly optimized, now you would just invoke it and bam there is your result set ready in some array or object for you to use as you want. Que rico, verdad?
Maybe I am living in the 90s still, maybe this already exists, and I have been living under a rock, perhaps I am asking for too much, who knows I am just letting the world know and I am sure there is a lot of people that can agree with me. Especially people more oriented at design or frontend stuff...
Gaah the frustration, Please don't hate, ps english is not my mother tongue so forgive me if you can't understand it ;-) <comment><USER3> I don't get it. Queries are a precise, textual specification of the data you need from a database. How can you hate that?

Perhaps what you mean is you hate dealing with converting the results to the data types you will use in your application?

Perhaps what you mean is you hate the administrative overhead of creating separate files and dealing with deployment when creating stored procedures?

Perhaps what you mean is you hate properly inserting your native data types into a written SQL query in a secure way?

Or do you actually hate writing SQL? To me, that's the best part of interacting with databases.

<comment><USER4> No doubt, I mean any kind of coding can be tedious. I feel that way about virtually anything in Java. SQL while far from perfect in many ways is at least extremely terse and flexible. Sounds like maybe he just needs an ORM for his day-to-day stuff so he can focus on only the _interesting_ queries.

</comment></comment><comment><USER5> Try Ruby on Rails!

With Active Record you rarely if ever need to write SQL any more.

<http://guides.rubyonrails.org/association_basics.html>

<http://guides.rubyonrails.org/active_record_querying.html>

I think SQL is slowly going the way of assembly language over time - <USER2> useful to write by hand in special cases but most of the time you want to write in something higher level and have it generated automatically.

<comment><USER6> In my experience, most layers that make things easier generally suck under load. I would think it's especially true with something that adds a layer between you and the database.

How is Active Record with regards to performance under load?

<comment><USER7> Much like other ORMs, ActiveRecord makes it almost effortless to accidentally do very stupid queries in bulk. For example (from <http://guides.rubyonrails.org/active_record_querying.html>) this code

      clients = Client.all(:limit => 10)
      clients.each do |client|
          puts client.address.postcode
      end

looks harmless but requires eleven sequential round-trips to the database. This version

      clients = Client.includes(:address).limit(10)
      clients.each do |client|
          puts client.address.postcode
      end

still requires two, and one of the queries _gets bigger_ as the number of ids increases. You can get into find_by_sql, but at that point ActiveRecord isn't adding any value.

<comment><USER8> Sure, but how many times have you seen someone create something equal to that with SQL queries? Instead of using a join, they execute a SELECT against the database for every row they fetch. This is shockingly common in horribly written PHP code.

In addition, ActiveRecord also supports joins instead of using includes. Includes is almost always fine, unless the initial result set is large (100+ rows).

<comment><USER9> At least with SQL, it's obvious and not hidden by a layer of abstraction.

</comment></comment></comment></comment></comment><comment><USER10> Here is why SQL exists: <http://en.wikipedia.org/wiki/Relational_algebra>. Most criticisms of SQL are wrong because the people who write them never bother to read the mathematics or theory behind their construction.

Any language with similar power will be just as complex.

If you just have a limited use case that you want optimized, that's what most ORMs try to do.

<comment><USER11> Well said. Here's another way of looking at it: if you select an element from a hash (or dictionary or associative array) you're doing the same thing as a simple query. A query is like a higher-order version of a key lookup.

</comment></comment><comment><USER12> ORMs do that, mostly. Look at Active Record: <http://en.wikipedia.org/wiki/Active_record_pattern>

The problem with ORMs is that relational databases are complicated, and you often do wind up having to do manual SQL writing anyway if you want well- performing queries in edge cases. But for simple cases where you have a person table and need to make Person objects in your app... it works.

In fact, Rails used this as one of its big selling points, combined with convention-over-configuration. If you stuck to the naming patterns Rails preferred, it really would Just Work without you having to tell it anything beyond the names of your classes.

<comment><USER13> The problem with ORMs is that life is complicated, and data describes life, so data is complicated. And abundant. SQL queries are a relatively elegant way to encode the often complicated manner in which data answers a particular question.

<sarcasm>Gah! You know what I hate about building software? The programming. All those data structures are no fun! Lists and arrays and vectors and hash tables and trees, red-black trees, binary trees, b-trees, tries. Why can't we have a programming language that automagically stores all our information in simple variables and just gives me the answer I want?</sarcasm>

<comment><USER8> You have apparently never used a well-designed ORM. A well-designed ORM isn't to create this magical, leak-proof wrapper for the database. The point is the make common use cases simple and allow the developer to incrementally use more SQL as needed, for more control.

</comment></comment></comment><comment><USER14> Sounds like Microsoft Access.

Couple things:

1\. Most of the times, when you're building a webapp, your queries depend upon user input. How would you model that in your GUI? Once you start having to do significant processing on your input to figure out what to query, the visual model falls down pretty hard.

2\. I suspect that if you actually used this interface in day-to-day work, you wouldn't like it so much. There's a reason why many hardcore hackers still use the command line: once you've burned the language syntax into your brain, you can get things done much quicker than with a GUI. If you _do_ like it, I'd encourage you to try MS Access.

</comment><comment><USER15> I havent written a query in almost 4 years.

<http://rubyonrails.org>

<http://code.google.com/p/redis/>

<http://github.com/nateware/redis-objects>

<comment><USER4> Really, no query in 4 years? What happens when the business people need some new data view? Do you dump all the data and reduce it via some one off procedure?

<comment><USER16> I can't speak to the GP, but I can say I've written a few systems ('moderate' in size, with a growing dataset) and was able to do the first pass and go for 6 months or so without needing to write any SQL. I ended up writing _some_ because some reports needed to be run _fast_. The ORM was working, but doing more than it needed to, and it was easier to just write the SQL in that case than it was to try to figure out how to express the use cases in the ORM (GORM/Grails, using Hibernate under the hood).

I can't say I _never_ write queries, but on the few Grails projects I've worked on over the past 18 months or so, I've probably _needed_ to write fewer than 15 queries total.

<comment><USER8> This has been my experience with Rails as well. Most of the time, no SQL is needed, but it's easy to access when it is needed.

</comment></comment></comment></comment><comment><USER17> Are you sure you're not looking for an ORM?

<comment><USER18> I didn't clearly see the 'R' part of ORM in his text. Also, the 'M' part may not be necessary.

Any object store could be the solution for his problem. Depending on the requirements, this could be as simple as keeping everything his program needs to store in memory.

</comment></comment><comment><USER19> Why don't you imagine a perfect world where business people define their rules and easily draw the screen they want, and the rest is auto generated by the tool ([http://en.wikipedia.org/wiki/Computer- aided_software_enginee...](http://en.wikipedia.org/wiki/Computer- aided_software_engineering))?

Apparently, there are some great complexities in the software engineering process which can't be visualized or simplified enough to be aided by a tool.

SQL or the programming language you have is textual dsl's, abstracting you from the details / complexities and powerful enough that you can access all the underlying functionality. ORM's, ActiveRecord pattern etc. are all another abstraction but they're not as powerful as bare SQL. As long as you don't hit their wall, you'll be OK. But keep in mind that each layer makes some functionality inaccessible.

I once wrote a visual designer for Castle ActiveRecord & NHibernate, called ActiveWriter. It was great for the begginer on that technologies. Once you need more, the tool lacks the functionality since it gets harder and harder to implement all the details of a textual DSL in a graphical DSL. Today, I prefer Fluent NHibernate for my mappings since it's more complete on the mapping front. It seems more work but it deals with the complexity better than my own graphical tool.

<comment><USER8> Basically: almost every attempt to simplify programming has failed. We have successfully made the task of programming more efficient and accessible, through the use of libraries, tools, and abstraction, but this is merely the elimination of duplicated effort. At it's core, it's still a task that requires significant mental focus, intelligence, and dedication to craft.

</comment></comment><comment><USER16> Grails with GORM is the closest I've found. Not perfect, but I rarely write 'queries' for most projects unless I have specific complex reporting needs with performance considerations.

<http://www.grails.org/GORM>

I don't write create scripts, or data management stuff, or SQL of any kind.

def smithUsers = User.findAllByLastname("smith")

It's not drag/drop/gui, but it's a lot less mental friction for me when writing code.

</comment><comment><USER20> I feel your pain writing SQL Queries is bug prone exercise. And trying to optimize a SQL query shows that it is a leaky abstraction.

Things that I think are a better option are:

1\. Object Oriented Databases (OODB) A database that behaves like your objects. I like Gemston(Ruby & smalltalk) and db4o (java & .Net)

2\. Graph databases: <http://neo4j.org/> Neo4j is a graph database. It is an embedded, disk-based, fully transactional Java persistence engine that stores data structured in graphs rather than in tables. A graph (mathematical lingo for a network) is a flexible data structure that allows a more agile and rapid style of development.

Try this alternative databases... I think they are close to the answer.

PS: ORMapping is not a solution... it always ends up being messy: "Object- Relational Mapping is the Vietnam of Computer Science" [http://www.codinghorror.com/blog/2006/06/object- relational-m...](http://www.codinghorror.com/blog/2006/06/object-relational- mapping-is-the-vietnam-of-computer-science.html)

</comment><comment><USER21> It might be good to go beyond your comfort zone and dive into relational theory and practices. Data tend to live way longer than applications. You want to have a language and application agnostic way to store and access data so that different applications in different languages can share the same data. You also can evolve your application platform and languages using the same data over time. Want to re-write your app in C# instead of Ruby? No problem. The data and access method stay the same.

Of course if you are just building throw-away prototype or single usage app, you don't have to use RDBMS. Use object serialization, persistent hashtable, or OODBMS. Those tend to mesh well with the language you are using.

</comment><comment><USER22> Of course, there's almost a guaranteed trade-off between making things super easy, and making things super-specific and customizable. There are lots and lots of different requirement possibilities that are possible even with a small amount of tables, and anything that builds these queries for you needs to know about all of them, or _be able_ to know about all of them, at which case you're going to have to describe some things to it in some sort of, um, query.

I'm positive there is some framework that makes touching a DB barely needed, but I don't personal know it. I'm going to upvote your thread and hope somebody comes along and tells you what it is.

</comment><comment><USER23> _There should be some tool or way to generate a function/stored procedure/x that outputs your data as arrays/objects/json/xml/whatever based on some simple dragging or dropping or marking that you would do with a super neat efficient interface. The tool would then do all the work for you, and whatever query/procedure/function that it generates would already be amazingly optimized, now you would just invoke it and bam there is your result set ready in some array or object for you to use as you want._

Write it yourself? If you did it well, maybe it would help other people understand your point.

</comment><comment><USER24> Clearly you have never needed to do anything remotely complex with a database. There is a reason visual programing languages aren't successful outside of a few extremely simple domains.

<comment><AUTHOR> I have, I have actually worked with financial systems using Oracle, Forms etc, but even with that it's hell. I don't HATE "SQL" the language itself, I think it's very clever, beautiful etc. What I don't like is the whole part of actually creating the queries.

I understand that obviously for some applications a simple model is impossible, but for a lot of things, probably 80% of the work I currently do, webapps/simple listings, etc it would be very possible that a tool could solve the query writing part for the less complex type of things.

</comment></comment><comment><USER25> Queries work -

An SQL statement tells you in almost-English exactly what to expect

The SQL standard allows me to understand what's going on in an MSSQL query when I've never used MSSQL before.

Conclusion: even though you say writing queries is easy for you, it probably isn't. Once you familiarize yourself better with SQL, you will appreciate it.

</comment><comment><USER26> What you are describing is the combination of a fifth generation programming language, a universal semantic/ontology data layer, and an intelligent search engine with insight into the information you want, where it is, and how you want it computed and displayed.

I assure you, this is an even harder problem than it sounds.

</comment><comment><USER27> What language are you using?

<comment><AUTHOR> Depends, a lot of python/php and javascript/html5 stuff for frontend. Web stuff basically.

</comment></comment><comment><USER28> Writing queries is one of my favorite activities. Some of the queries I had to write for w3roi.com are two pages long printed in 10 point font. They're efficient as possible and quite beautiful to me.

</comment><comment><USER29> The best you can do is either write a layer on top of SQL or simply use a NoSQL database... Dragging and dropping won't work, because you would still have to use the results in your application.

</comment><comment><USER30> I prefer Django's ORM but using the ORM can be quite tricky if the database has not been created with the ORM in mind (i.e. you have a few pages of subqueries).

</comment><comment><USER31> The reason we still need 'queries' or maybe 'handmade data access' is because you dont know all the questions your systems will have to answer upfront.

</comment><comment><USER32> LINQ is great.</comment>


To cut waste, U.K. grocery chain will sell products past 'best before' dates - <AUTHOR> https://www.npr.org/sections/thetwo-way/2017/12/04/568299294/to-cut-waste-u-k-grocery-chain-will-sell-products-past-best-before-dates <comment><USER2> Why wouldn't they just order less?</comment>


Ask HN: What service should we use for customer support? - <AUTHOR>

We've been using zendesk for a while but recently ran into API limits.  Their search and view performance is also not optimal.  What are some YC startups using for customer support?  Our needs are: 1) must handle high volume of tickets 2) support for searchable metadata attached to tickets 3) API 4) fast and flexible view & search system (would love regexes) <comment><USER2> Helpscout</comment>


Macintosh Y2020 - <AUTHOR> http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/Entries/2020/4/5_Macintosh_Y2020.html <comment><USER2> The reason why an epoch in the past was picked, I think, is that the designers wanted date stamps to represent all dates in common use, e.g. birth dates (of course, that did not cover >80-year-olds in 1984).

Pretty sure that the reason to pick 1904 in particular was to simplify leap year calculation to !(year & 3). 1900 didn't have a leap day, and by picking 1904, all leap years within the range of the time stamp had one.

</comment><comment><USER3> What a delightfully geeky post!

After explaining how this one affects computers over 2 decades old, that this doesn't affect the system but _only_ setting of the clock, and how a utility already provides a workaround, I had a moment of giddiness when I read that we're going to walk through patching _every_ version of the 20-40 year old OS.

Why? Because we can!

</comment><comment><USER4> Does anyone else remember the weirdness with dates in Excel files? On Windows, they used 1900 as the epoch, and on the mac they used 1904 (like the Mac itself), so if you got a spreadsheet from someone on a windows machine, dates would sometimes shift by 4 years.

[https://docs.microsoft.com/en- us/office/troubleshoot/excel/1...](https://docs.microsoft.com/en- us/office/troubleshoot/excel/1900-and-1904-date-system)

I haven't thought of that in years.

<comment><USER5> Excel also has a deliberate bug where it thinks 1900 is a leap year because they wanted compatibility with Lotus 123, where the bug was actually a bug! [0]

[0] [https://youtu.be/bC6tngl0PTI?t=325](https://youtu.be/bC6tngl0PTI?t=325)

<comment><USER6> All because Joel Spolsky told Bill Gates it was there.

[https://www.joelonsoftware.com/2006/06/16/my-first-billg- rev...](https://www.joelonsoftware.com/2006/06/16/my-first-billg-review/)

Reading Joel's post again, I suspect Bill's style of review (having read the spec, made notes, and having a "F" counter for screwups) lends credence to the idea that he would have done exactly as Joel did and sought out Fries or some other senior Excel person if he didn't get a satisfactory answer.

As Joel laments, you can't bullshit a programmer, and Gates was (underneath it all) a programmer.

</comment></comment></comment><comment><USER7> I've got a PowerBook G3 Wallstreet (the last machine that couldn't be updated to OS X) that still runs a couple hours off its battery and looks very much like the screenshots shown in this article. I've also got the original boxed game of Myst which is the main reason I kept it.

<comment><USER8> I've done far too much research into this lately, but I believe that Wallstreet was officially supported by OS X (although only up to 10.2).

The PowerBook G3 Kanga, however, cannot without some hacking; it's a frankenstein model which was only available for about four months. It shoehorned a super fast (at the time) 250mhz G3 CPU into the old 3400c form factor and looks like it's from another era in comparison to the sleek Wallstreet.

<comment><USER7> I'll have to get it out (might end up wasting some time on Myst tonight!) ... I'm remembering that some Wallstreets had Ethernet ports and others didn't and that those without couldn't be updated. Of course, that machine wasn't terribly speedy with OS 9 on it so I'm not sure it's worth the upgrade. Still, it was an amazing piece of hardware which still runs almost 25 years later.

</comment></comment></comment><comment><USER9> > This is why there was no alarm in January 2020 among the small but dedicated > group of Old Macintosh enthusiasts.

> Nobody I know wants to set the computer's clock to 1920.

What about the even smaller and more dedicated group of old Macintosh using time traveling enthusiasts?

<comment><USER10> Do electrolytic capacitors rejuvenate when travelling backwards in time?

<comment><USER11> You first have to replace all of the electrolytic caps with the flux type to make the computer time travel.

</comment></comment></comment><comment><USER12> About the housekeeping overhead in PowerPC machine code generated by the C compiler:

> This, combined with the (correct) practice of modularizing everything into > small subroutines that don't individually do much, produces very long > programs dominated by instructions that don't do anything we care about.

I wonder how much of this was due to the RISC nature of the PowerPC instruction set and how much was the relative inefficiency of compiler code generation. For a fairly recent ISA like RISC-V or ARM64, with a modern compiler like clang, are things now better or worse? I imagine link-time optimization helps some.

<comment><USER13> Both, probably. The CISC certainly would have made shorter, and since it was hand-written it would probably do much better than the compilers of the day.

</comment></comment><comment><USER14> The original Xbox has a similar problem coming up soon, I believe the clock only goes up to 2022… I can't remember the exact year and it's become impossible to Google thanks to the clock battery issues.

</comment><comment><USER15> This web page looks like it's straight out of 1999 itself. Why does it require JavaScript to render?

<comment><USER16> This doesn't answer your question, but the site looks to be made using Apple's iWeb, interestingly. That's where the dependencies on JS may come in.

<comment><USER13> In fact,

      <meta name="Generator" content="iWeb 3.0.3">

</comment></comment></comment><comment><USER17> Can you force Chrome on Android to render this simplified? It's illegible otherwise.

</comment><comment><USER18> is it just me, or did MacOS get uglier with each release?</comment>


Alan Kay: The computer revolution hasn't happened yet - <AUTHOR> http://video.google.com/videoplay?docid=-2950949730059754521 <comment><USER2> Does it seem to anybody else that we've actually stagnated instead of moved the field of computing forward during the last 10 years? Sure, machines are faster, we've got more bandwitdth, etc., but we're still "automating" stuff, rather than transcending the "pink plane".

Or, is it just that I've spent too much time at the dayjob, hacking Java together to make the customer happy?

<comment><USER3> Completely stagnated. In another great quote from Alan Kay he says, "Java and C++ make you think that the new ideas are like the old ones. Java is the most distressing thing to hit computing since MS-DOS."

I think it was the demand/money. Once the PC revolution hit, there was so much to do just to automate current processes that we got lost in the workload. It doesn't help that our industry is both woefully ignorant of its past and horribly dogmatic about its present.

That said, there are some very good people currently working in this space -- looking for the "pink plane". I'm very optimistic about this area actually.

<comment><USER2> (I think/hope you meant looking for the "blue plane", unless the reason for looking for the pink one is to see what it is we're trying to transcend.)

I'm curious; who are these people? What are they working on? Can I help?

<comment><USER3> Yes, I meant the blue plane. (It's an old presentation -- I didn't watch it again -- but an important one.)

The people are: Alan Kay himself, Charles Simonyi, and a company I'm affiliated with called Anemach. They each have very different approaches and we'll just have to wait and see what comes next.

</comment></comment></comment></comment><comment><USER4> "OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them."... Alan Kay 2003

[http://userpage.fu- berlin.de/~ram/pub/pub_jf47ht25Ht/doc_kay...](http://userpage.fu- berlin.de/~ram/pub/pub_jf47ht25Ht/doc_kay_oop_en)

</comment><comment><USER5> I thought his style of presentation had much to improve on, but it shed new light on what he intended with smalltalk. Apparently, encapsulation was only really one small part of his whole idea.

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

I think this particular post sums up his ideas in his presentation. Also, watch it with 1997 in mind. That's why he rails against MS so much.

<comment><AUTHOR> He always seem so sad and wistful. He always seems to be lamenting things.

But, he's still so influential that he can't be ignored.

</comment></comment><comment><USER6> It's some indication of the greatness of James Watson that he shows up even in a talk about OO programming.

E pur si muove

</comment><comment><USER7> Wow, just watched this. Really fascinating talk - especially his points about the wonders of scalable computation in biology and how clunky man-made computation seems in comparison so far. Definitely worth the watch.

<comment><USER8> Is there a transcription, or an abstract? I haven't got time for video.

<comment><USER9> It's one of the better talks I've listened to (it's been posted before) and I usually can't sit through such things.</comment></comment></comment>


3 DApps You Have to See - <AUTHOR> https://www.youtube.com/watch?v=vCBCyO7SE5I <comment><USER2> pretty cool description for the masses of what decentralization means.

I'd love to see a decentralized replacement combining the functionality of LinkedIn & Glassdoor.

LinkedIn so that we can share CV's and skills with the right people and Glassdoor so that the feedback (or lack of feedback) of hiring managers becomes more visible. E.g. companies should be rewarded by giving feedback to candidates (or to recruiters who then give the feedback to candidates). Glassdoor started out in the right direction but has moved on to a business model where they earn their money from job-ads (copying LinkedIn).

You shouldn't have to spend crazy amount of money to some shady middleman (whether these are recruiters, LinkedIn or Monster) to find the right talent. And also job seekers shouldn't have to go through these channels and be treated the way they are.</comment>


History of Lambda-calculus, Combinatory Logic, and Types - <AUTHOR> http://www-maths.swan.ac.uk/staff/jrh/papers/JRHHislamWeb.pdf

<comment><USER2> As a random aside, Dr. Haskell Curry has the interesting distinctions of:

1) Having his _first_ name borrowed for something, putting him in the company of Ada Byron and few others

2) Having his last name not merely borrowed, but frequently written _lowercase_ , putting him in the company of Boole, Abel, and (again) few others.

A fair tribute, I suppose, while so much else seems to focus on Church and Turing.

</comment><comment><USER3> How they did that without a Lisp Machine and a massively complex keyboard, I will never know.

</comment><comment><USER4> Interesting read.</comment>


Hands on with Bootstrap 3 - A landing page - <AUTHOR> http://www.williamghelfi.com/blog/2013/08/04/bootstrap-in-practice-a-landing-page/ <comment><USER2> One of my biggest complaints with Bootstrap is the grid system (classes or mixins) and the very strict hierarchy of container > row > columns. I find this pattern leads to a lot more extraneous elements than I would like.

I'd compare this to [Bourbon Neat]([http://neat.bourbon.io/](http://neat.bourbon.io/)) (which I've only looked over) and [Foundation's grid]([http://foundation.zurb.com/docs/components/grid.html](http://foundation.zurb.com/docs/components/grid.html)) mixins which seem to be much more flexible and offer the ability to use columns without rows (and no "container" required) allowing for a much more "semantic" results.

I spent a lot of time trying to decide between Bootsrap, Foundation and Bourbon + Neat recently and in the end had to settle for Foundation for the following reasons:

* Has decent default typography settings (not available with Bourbon + Neat though Bootstrap's is fine)

* Much better Grid than Bootstrap (though I think I may like Neat better)

* SASS not LESS (all my current work is in SASS though switching wouldn't be all that painful)

I say "settle" because I think so much of Bootstrap's styles and UI components are superior. Particularly the forms, but also progress bars, badges, labels, navigation, menus are all nicer.

Right now I think what I'd love to have is a set of extension defaults for Bourbon + Neat that bring in nice styling for forms, buttons, typography, etc. In fact I'm half tempted to just copy it all from Bootstrap. Who knows when I'll have time to do something like that though.

<comment><USER3> The timing of this post is fortuitous, as I'm looking at building a landing page and had a long discussion last night with a front-end developer about using Bootstrap to do it. He's urging me to use Foundation instead.

I haven't developed production level front-end code for years, and Bootstrap looks like a quick and easy way to get something up that doesn't look like arse (instead, it looks like Bootstrap). But I am hearing great things about Foundation as a good basis for long-term development; semantic design being a major point, plus lack of bloat.

<comment><USER2> I don't know why people say Bootstrap is "bloated" and Foundation is not. They are pretty similar, in fact the Foundation CSS has a larger footprint (86kb vs 65kb). I think people say it because Foundation feels more "raw" but this is not a selling point in my opinion. In fact I find that Foundation's biggest flaw is that it's components don't look that hot.

I will also agree Bootstrap _is_ a quick and easy way to get something up. I would argue it is quicker and easier than Foundation, but many people with serious CSS skills don't want to work with it for some of the reasons I brought up. I think that Foundation is more flexible and extensible which is a big strength.

However, none of this is that important for a landing page, I have been able to build landing pages quite comfortably with both and don't think either has a huge advantage here. A landing page isn't a huge task either so I'd try doing a rough design on paper and building with both to see which you like best.

I will probably concede though for most "product/fit" finding experiments Bootstrap may still have the speed advantage, particularly if you are not that familiar with CSS (in fact I credit Bootstrap with teaching me a lot about CSS).

<comment><USER4> What's funny is how many people use the kitchen sink (all-in) bootstrap.min.css files... I generally pull the source .less files and then copy the variables, and mixins file, and create my own bootstrap-custom.less that points to the copied files, and the rest of the original... from there, I can modify the copied bits at will, and better integrate my own extensions.

</comment></comment></comment></comment><comment><USER5> Really nice walkthrough!

But, it's a little copy heavy. And you have to scroll a lot, there's too much info below the fold. Let's use a carousel.

I kid, I kid!

Really, excellent walkthrough, the step by step screenshots were super helpful.

<comment><AUTHOR> I know I know... needs also way more jQuery!

Joking :p Thank you

</comment></comment><comment><USER6> I don't see the need to use a whole heavy framework for such a simple page. I know it's just a demo but people need to be aware. I bet that page has only used 15-20% of the selectors in bootstrap meaning 80-85% code bloat.

I do like bootstrap, if used correctly and in the right situation.

<comment><AUTHOR> True. But don't forget the CDN and caching shenanigans.

</comment></comment><comment><USER7> Nice work!

Unfortunately, doesn't really work on either iPhone or Android 4.3 phone - background is not visible and the design doesn't look as stunning.

That's the problem with responsive design - very difficult to get perfect.

<comment><AUTHOR> Thanks :)

The problems you are reporting sound strange to me, because it works on my Android 2.3 with default browser...

BTW, I didn't specifically focus on obtaining a more than "ok" version on mobile, this time ;)

<comment><USER7> I'm using Chrome on 4.3 (Galaxy Nexus) and safari on the iphone (fully updated to whatever is the latest).

<comment><USER7> On Nexus 7 (1st gen) the background is visible, but in portrait mode only covers 3/4 of the screen. In landscape looks normal.

</comment></comment></comment></comment><comment><USER8> I _love_ how you used song lyrics instead of Lipsum text. That's amazing, and I will be stealing this.

</comment><comment><USER9> Last week I switched my project to customized Bootstrap 3. It has lots of useful features compared to previous version and it has a flat UI look and feel. In your example, I would use a larger side margin around the text. Otherwise, it lacks a bit of spacing.

<comment><USER10> I'd be interested in an article with the new features. I looked at Bootstrap 3, and as someone who casually uses Bootstrap 2, it looks the same to me.

</comment></comment><comment><USER11> "We horizontally centered the content with a .col.lg-6 .col-offset-3."

It could do with explanation of or links to what that means. As it is, ".col.lg-6 .col-offset-3" meaning "horizontally centered" is completely opaque to newcomers.

<comment><USER12> It's a 12 column (col) grid, so a 'col-lg-6' takes up half of the page. 'col- offset-3' adds a 3 column margin on the left, effectively centering the element.

[http://getbootstrap.com/css/#grid](http://getbootstrap.com/css/#grid)

</comment></comment><comment><USER13> The Google Fonts link should be protocol relative.

</comment><comment><USER14> I'm more of a server-side guy but have to make occasional trips to the front- end. This guide was great for people like me who don't know all of the jargon. Thanks, and I'm really looking forward to your e-book.

</comment><comment><USER15> I looked at the live demo first. It didn't look like there'd be much bootstrap involved so I almost closed the article, but it's actually worth a read because there's more to it than meets the eye.

</comment><comment><USER16> Totally unrelated, but what editor is this that is being used here for the screenshots? Anyone know?

<comment><USER17> It's not a screenshot - Just some CSS :-).

<comment><USER16> What with the Mac window chrome and all? Well, fooled me.

Thanks for the reply

</comment></comment></comment><comment><USER18> This article shows that it's not too hard to get a bootstrap page to look different from vanilla bootstrap. A lot of bootstrap users just slap a new background color on the default navbar and that's the end of their customization.

</comment><comment><USER19> Bootstrap is great but I usually end up having to override a lot and it ends up becoming a pain sometime. Also if the responsive theme isn't set up right it can end up looking like a disaster.

<comment><USER4> It works better if you use the source .less files, and make your own modifications as needed.. I make copies of the variables and mixins, and generally only need to edit my copies, then have a custom less that loads my variables/mixins along with the other source files as-is.

</comment></comment><comment><USER20> For someone just beginning to learn Rails and using Bootstrap this was a very interesting post! Great to see the progression as you added on the different parts.

</comment><comment><USER21> Nice walkthrough and +1 for using Creedence Clearwater Revival lyrics for the landing page copy! :)

</comment><comment><USER22> what are you projected timelines for your book? I need to learn Bootstrap "properly" for a project, sometime in the next 6-12 months, and wondering whether your book will be around in time!

<comment><AUTHOR> I don't have a certain date, but it won't be too much after the final stable release of Bootstrap 3

</comment></comment><comment><USER23> It's annoying that EACH input field in BS3 should have class .form-control and that requirement to be inside span<row<container - very high coupled. But Foundation 4 is unacceptable ugly, despite of awesome grid...

<comment><USER24> ugly? you know you're supposed to adapt css to your design, not the other way around, right?

<comment><USER23> Yes ugly. And not, CSS framework it's not only grid, it's styles also.

</comment></comment></comment><comment><USER25> Looks beautiful. I look forward to the book. :)

</comment><comment><USER26> Use Bootstrap + Angular and you can write your whole application in HTML-only!

<comment><USER27> This may interest you: [http://angular- ui.github.io/bootstrap/](http://angular-ui.github.io/bootstrap/)

</comment></comment><comment><USER28> [Oops. Wrong post!]

</comment><comment><USER29> Nice tutorial

</comment><comment><USER30> so nice, saving this

</comment><comment><USER31> We can't have a submission related to Bootstrap without Foundation being mentioned, can we?</comment>


Film Director James Gunn's Firing by Disney Sets a Worrying Precedent - <AUTHOR> https://birthmoviesdeath.com/2018/07/23/james-gunns-firing-sets-a-worrying-precedent <comment><USER2> Give me a break. They hypocrisy is astounding. Did I see this author write that Roseanne's firing set a worrying precedent?

</comment><comment><USER3> It's actually funny, because I feel like _on basis of the title_ I'd agree with the author, and the topic of not punishing people in a work context for social-space mistakes (especially historical) is one close to my heart, and is one I've argued for in the past at my own expense.

But the way in which the author argues their point rendered the article nearly unreadable to me.

I stopped reading when they accused "Internet Nazis" of being the reason Price was fired (in the GW2 drama.) As a member of that game community, her behavior towards a paying customer, IN HER CONTEXT AS AN EMPLOYEE, was unacceptable in any way shape or form. Remove the male/female dynamic, and the way she responded (including calling game fans "rando assholes" and claiming that she only "pretended to care") is enough to get _ANY_ employee at the companies I've worked for shitcanned. There was absolutely an internet hubbub, but I have no doubts in my mind (especially given that the incident happened on july 4th and was handled immediately at work-start the next day) the decision would have been made in isolation by any business conscientious of the negative impact of their employees on the bottom line.

The amount of distortion present in many writeups like this makes it unfortunately difficult to trust other smaller establishments without a track record I can rely on, and I think further poisons the discourse such that those who would trumpet "Fake News" as a catch-all can feel vindicated.

</comment><comment><USER4> This joker should have been fired. His tweets are completely uncalled for....

[https://metro.co.uk/2018/07/23/james-gunn-say-tweets-got- fir...](https://metro.co.uk/2018/07/23/james-gunn-say-tweets-got-fired- guardians-galaxy-7747580/)

<comment><USER5> Since when is making jokes in poor taste a fire-worthy offense?

<comment><USER6> Especially prior to working with Disney.</comment></comment></comment>


Steve Jobs, World's Greatest Philanthropist - <AUTHOR> http://blogs.hbr.org/pallotta/2011/09/steve-jobs-worlds-greatest-phi.html

<comment><USER2> I think similar statements could have been made about Bill Gates: we would be without microcomputing, we would be without computers in home, business would not have a computing platform to carry them for 2 decades, etc (and who is to say someone else would not have done those things?). But Bill Gates, in doing all that, also found time to give away tons of money.</comment>


My path to not drinking - <AUTHOR> https://medium.com/@igorzij/my-path-to-not-drinking-8a26a827e9ad <comment><USER2> Congratulations on figuring it out so easily. If you check the literature you will see that most of us take far longer to come to the conclusion you did.

</comment><comment><USER3> Made an account just to take a moment and say how awesome it was to find this. Perfect timing.</comment>


Windows 3.0 Is 30 Years Old: Here's What Made It Special - <AUTHOR> https://www.howtogeek.com/674574/windows-3.0-is-30-years-old-heres-what-made-it-special/ <comment><USER2> Funny that Windows10 UI pretty much resembles Windows 3.1 UI in terms of sharp corners, no 3-D, no beveled edges etc. All the artistic evolution has become extinct in the name of modern simple UI.</comment>


Global Crisis 'Vastly Worse' Than 1930s, Taleb Says - <AUTHOR> http://www.bloomberg.com/apps/news?pid=20601080&sid=aYijnS7fUBRc&refer=asia <comment><USER2> "The current global crisis is "vastly worse" than the 1930s because financial systems and economies worldwide have become more interdependent, "Black Swan" author Nassim Nicholas Taleb said."

I disagree. I don't think we're at risk at the moment of seeing a resurgence of dictatorial states. Similarly, I don't think any European powers are harboring resentment over treaties imposed on them in the last few years. Autarky isn't being pushed as a solution to anybody's economic problems (at least not on a large scale).

If we're still able to realistically talk about internet startups, we're doing better than the early 30's. I don't think anybody's facing 25% unemployment, and nobody (even the US) is setting out to cause hyperinflation to screw those demanding reparations of it.

And, please, oh please, let's get a few comments in place before tripping Godwin's Law.</comment>


Social network creator Ning raising $70M at $560M valuation - <AUTHOR> http://venturebeat.com/2008/04/18/social-network-creator-ning-raising-70m/

<comment><USER2> I thought Marc A's comment at the end of the article was interesting:

      We raised the money to enable us to keep scaling given
      our accelerating growth ... and to make sure we have
      plenty of firepower to survive the oncoming nuclear
      winter. At current growth rates, we don't need it to get
      to cash flow positive, but having lived through the last
      crunch, it's good to be conservative with these things.

Which is at least a reasonable justification for getting so over-capitalized: get the money while it can be gotten for cheap, don't burn through it, and use the cash reserve to survive the downtown Marc A. is predicting.

<comment><USER3> Why aren't they "cash flow positive"? How do you spend $44 million and not make money?

I'm not being rhetorical, I admire what Ning is doing.

<comment><USER4> They must be investing in some enormous infrastructure. Server farms, international markets, maybe Akamai.

But in general, it's not uncommon for companies that raise a lot of capital for rapid growth to not be profitable. Back in AOL's heyday, they had huge revenue growth, but they were reinvesting it in customer acquisition so fast that they never started to make money until their growth slowed down. This also happened in the retail boom in the 80s with companies like Home Depot and Staples. They kept building out more stores, which cost them more money than they were making.

Having said all that, I really fail to understand valuing Ning at half a billion dollars. It seems like a useful thing, but only an incremental improvement over, say, Yahoo Groups.

</comment></comment></comment><comment><USER5> Splitting hairs a bit, but Marc says $60m:

[http://feeds.feedburner.com/~r/pmarca/~3/273226506/ning- news...](http://feeds.feedburner.com/~r/pmarca/~3/273226506/ning-news- serie.html)

<comment><USER6> net investment banker fees

<comment><USER5> Ah. Should have studied finance. :)

<comment><USER6> haha believe me it wasn't worth it

<comment><USER7> The investment bankers who got the missing $10 million might differ in that opinion :)

<comment><USER6> touche - but not the lower level analysts who worked 100 hours a week at essentially McDonald's manager wages (100k per year divided by 50 weeks divided by 100 hours per week = $20 per hour), staring at TPS reports, pitchbooks and never ending excel schedules.

which unfortunately would be my level.</comment></comment></comment></comment></comment></comment>


Show HN: SendRail - Easy P2P File Transfer From The Desktop - <AUTHOR> http://www.sendrail.com/ <comment><USER2> _We use Facebook to validate your identity and send the download link directly to the recipient's Facebook message inbox._

You might want to consider offering a couple of different options; none of these file transfer services have a FB requirement:

<http://wetransfer.com> <http://yousendit.com> <http://letscrate.com> <http://ge.tt>

Or perhaps you want to position this as a FB-only service? It would certainly differentiate your service, but might also limit your user base unnecessarily.

<comment><USER3> _It would certainly differentiate your service, but might also limit your user base unnecessarily_

Limiting user base? I don't think it would hurt much. Half of internet users use Facebook. I think they have a good chance at giving better user experience by tying with Facebook.

<comment><USER2> _Limiting user base? I don't think it would hurt much. Half of internet users use Facebook._

Even assuming that figure is true, why cut your potential user base in half right off the bat? And for those who are FB users, what do they do when they want to exchange files with non-FB users? The service will be unusable in such cases even for FB users, and sendrail ends up losing more transactions.

<comment><AUTHOR> We also support hooking into your address book on your Mac, and are working on integrating your online email address book and ActiveDirectory into it. We're trying to cover every single contact mechanism out there so you don't have to worry about "finding the right tool" to send a file to someone -- we hope to make SendRail work for every single use case you encounter.

<comment><USER4> So how do you plan to make money? I can't see any pricing information, so I guess this is yet another case of users being the product.

</comment></comment></comment></comment></comment><comment><USER5> Peer to peer? I guess I am getting old. I can remember when peer to peer meant that one host would communicate directly to the other host and not store the file transfer on a centralized system. Or that an application would not use a centraliozed third party for authentication.

<comment><AUTHOR> We only store the file on our central server if the receiving end doesn't have our app. If they have the app, we create a direct connection between both parties and transfer the file(s) directly without them ever hitting our servers.

<comment><USER5> So you actually think this is a P2P architecture?

On a related note how do you handle firewall piercing?

<comment><USER6> probably with port knocking? pretty standard I would think.

<comment><USER7> Port knocking makes no sense in this situation. I think it's something more like STUN (RFC3489).

<http://www.ietf.org/rfc/rfc3489.txt>

</comment></comment></comment></comment></comment><comment><USER8> "All our files are encrypted with top of the line 256-bit AES encryption. We use Facebook to validate your identity and send the download link directly to the recipient's Facebook message inbox. No one but the recipient will ever be able to access the file."

No, thank you. Above is a turn off. First of all, the files can't be yours and you can't make people use Facebook to use your service.

</comment><comment><USER9> I love seeing apps that replace what we misuse email for -- e.g. sending files to a friend -- and looks like you guys have that spot on. The biggest issue with other solutions is that they grow to a point where it's no longer easier than just emailing the file. Hopefully you guys don't outgrow the ease of use!

</comment><comment><USER10> I'll never use a service that requires a FB login exclusively.

<comment><USER11> We also support hooking into your address book on your Mac, and are working on integrating your online email address book and ActiveDirectory into it. We're trying to cover every single contact mechanism out there so you don't have to worry about "finding the right tool" to send a file to someone -- we hope to make SendRail work for every single use case you encounter.

</comment></comment><comment><USER12> Cool product and integration with OS X. Your video needs a lot of work - you're talking way too much about technical things like 'threads' 'asynchronous' and 'in the background' - no normal user cares about these things. Show me how I can click a file, press a shortcut, and have it show up on my friends computer. This is a killer feature and you need to HAMMER it.

</comment><comment><USER13> Every time people think about a solution about this (to my mind) huge e-mail issue I'm really happy to be not the only one who is sick of the existing solutions out there.

I used to use things like Dropbox or other syncing services and then share the link of a file, which is for me an okay solution. But not what makes me really happy.

Your idea looks also interesting, but how do you want to manage things like the file storage time? Do you want to store them permanent? What will become also some interesting challenge is to make the "send file functionality" everywhere in the world fast, regarding up- and downstream.

Really looking forward if other people will find an idea soon. I've been thinking for a while now about it and still never found the kick-ass idea.

I wish you all the best for your product.

Ps: on the bottom of your website is a "-->".

Best, Felix

</comment><comment><USER14> Great that other smart people are trying to make sending files easier!

We at Dropdock ( http:/getdropdock.com/getstarted , check at the end for invite code ) are also working on this problem. We have developed a Cross platform application that send files to anyone, wether they are a dropdock user or online.

Dropdock also work flawlessly over LAN. Our client auto detect other dropdock users on the LAN so you can send them larges files with ease.

We have working on an Android & iOS app too so you can send all those photos and HD video to anyone in one big batch instead of uploading them to different services or sending multiples emails.

We don't want to replace file attachement. If you want to send a simple spreadsheet to someone, you should sent it through email with explanation and not upload it somewhere and C/C the links.

Finally, we though going the facebook route too, but it wasn't too user friendly since you can't auto detect other users base on their facebook account and it just didn't make sens for us to use Facebook messages for notifications.

We are currently in private Beta ( Alpha-ish ) but are about to release a big update with a lot of fixes and new features. If you want to try it out, signup at <http://getdropdock.com/signup> with the invite code DROPDOCKBETAP1.

</comment><comment><USER15> It may well be a great product, but sadly as soon as I see the word "facebook", my gut reaction is good bye privacy, there for Im automatically excluded. Shame.

</comment><comment><USER16> I literally just finished something today that attempts to solve a similar problem: <http://copyfile.net/>

<comment><USER17> Cool concept. Is there not a way to streamline the process even more? Is it possible to generate a magnetized link that sets the file location for you?

<comment><USER16> Unfortunately, for security reasons, browsers only give you the base of the filepath, so all you can pick up is the filename. Even if you had the full filepath, though, I don't think the format of a torrent file lets you specify the file location.

</comment></comment></comment><comment><USER18> Looks so simple, it's hard to believe it's really true. Good job! Can't wait to get my invite.

</comment><comment><USER19> Secure via HTTP? I think your URL is missing an 's'.

<comment><AUTHOR> We host our files on a completely different server which is completely secure. Sorry for the confusion there and thanks for raising this point -- we'll add SSL to our main website too.

</comment></comment><comment><USER20> This seems almost identical to Sendoid which appears to have died completely. For asynch file sharing, we can use Dropbox, for synchronous file sharing, Skype. Is there a file size limit on Skype?

I must say that when I've seen a very very similar product completely die as recently as Sendoid did, I get pretty sceptical about the viability of the idea.

</comment><comment><USER21> Side note, but I'm curious: what do you use to send messages directly to the Facebook messages inbox? The standard FB dialog or is there some Graph API endpoint that will let you do that? My memory of the FB API is hazy, but a quick scan seems to indicate that you still can't post messages to the inbox without popping up the UI.

<comment><AUTHOR> Great question - we're using the xmpp_login permission that Facebook Auth provides to get messaging permission from the user and we have an XMPP server running on Node.js that handles all the messaging.

</comment></comment><comment><USER22> This is a problem I run into all the time. Really excited to try SendRail out!

<comment><USER11> Thanks! We'll be sending out versions to our beta users really soon.

</comment></comment><comment><USER23> I use a flash based p2p file transfer service for this now:

<http://www.filesovermiles.com/>

Can't really see how this could be more convenient to me.

</comment><comment><USER24> I am surprised that nobody mentioned Nitroshare, which is great for a number of use cases, and completely free

</comment><comment><USER25> How are you different from SoShare[1]?

[1]: <http://www.getshareapp.com/>

<comment><USER26> It's not an attempted Facebook clone used for uploading files?

It has a desktop client? (Which is the whole point.)

<comment><USER25> You may be confused at what Share is; it's a desktop application that uses the bittorrent protocol[1] to do P2P transfers between users. It integrates with Facebook for very much the same reasons as SendRail does.

See [https://torrentfreak.com/bittorrent-releases-new-share- appli...](https://torrentfreak.com/bittorrent-releases-new-share- application-120105/)

[1] It's actually developed by BitTorrent Inc, the same guys who write µTorrent.

</comment></comment></comment><comment><USER27> you lost me at 'we use FB to validate your identity'

</comment><comment><USER28> What if I have two friends with the same name?

</comment><comment><USER29> Epic Ketchup Prank.mkv :D

</comment><comment><USER30> how will you generate revenue?</comment>


Does Google harm local search rivals? EU antitrust regulators ask - <AUTHOR> https://www.reuters.com/article/us-eu-google-antitrust/does-google-harm-local-search-rivals-eu-antitrust-regulators-ask-idUSKCN1NZ2ER <comment><USER2> The EU has taken the position that all of these vertical specific search engines are industries that should be treated separately from "general search". I think this is faulty as \- from a customer perspective, I just want an answer to my question regardless of the vertical \- from an industry perspective every small competitor is of course going to complain that big bad X is taking their business

So we just end up with arbitrary enforcement of the rules based on which companies the EU is angriest at.

<comment><USER3> >> _I just want an answer to my question regardless of the vertical_

You want the _best_ answer and Google was not the best one for local for example. But they stuffed it there because the could. When competition is bankrupt or no one enter the space because Google will not rank you fairly then the problem is bigger.

Like hotel bookings, do we know if they are best for shoppers or best for Google's bottom line?

with 95% market share come responsibilities.

<comment><USER4> > Like hotel bookings, do we know if they are best for shoppers or best for > Google's bottom line?

Sounds like a business opportunity. If the market isn't being well served, it would seem that someone might try to serve it. You know, like maybe TripAdvisor or Booking.com or Expedia or the numerous similar companies.

We are basically saying that nobody will enter the search business because Google is too good? That doesn't make any sense. Nobody is compelled to use Google. Every browser lets users choose alternatives. That people don't is probably because they think Google does a pretty good job for their needs. If that isn't true, then it should be realistic for a competitor to make it better. IBM owned computing until they didn't — nobody thought competing with IBM was a high percentage play, but people did.

If the Europeans want to make some big tech, then perhaps making the investment, M&A, and taxation environment more favorable is a good place to start. Capital gains taxes are so high that there isn't a huge amount of incentive for moon-shot investments in Europe. Employment law (in France at least,) is so Byzantine that there is a real fear of hiring fast and scaling quickly because the consequences of a misstep are hugely expensive. Investors in Europe look for high percentage 2x companies to fund rather than making big, bold bets on 100x companies. One of the reasons is that you have a tax structure that punishes success so the risk-reward ratio favors safer investments. There is money in Europe, but much of it is through government programs that require government friendly business plans and friends in high places to even be considered. And the money that those programs do provide, it certainly isn't US-level. It's extremely rare to raise €50 million in Europe, but it happens all the time in the US.

It's the indefinite pessimism of Europe that's the root of it. See the book Zero to One for a great explanation of that concept. Google isn't the problem. It's a symptom. Look at DailyMotion as a case study. The French government blocked the sale to Yahoo — which would have been a huge payday for the founders and investors — a payday they would have, in the tradition of Silicon Valley, could have been used to start angel or VC investing. (Although the original founders sold to France Telecom for a relative pittance, and France Telecom has the innovation level of a can of peas. So it's possible to say that the sell to Yahoo wouldn't have made any ripples in terms of creating new angel investors.) Instead DailyMotion, rather than becoming Yahoo's YouTube, languished into near obscurity compared to YouTube.

[https://m.france24.com/en/20130501-france-minister- montebour...](https://m.france24.com/en/20130501-france-minister-montebourg- blocks-meyer-yahoo-dailymotion-deal-usa)

Vivendi finally bought DailyMotion in 2015 at a valuation far below its 2013 levels.

[https://www.forbes.com/sites/jeanbaptiste/2015/04/07/dailymo...](https://www.forbes.com/sites/jeanbaptiste/2015/04/07/dailymotion- how-france-is-killing-youtubes-main-competitor/#96e6ae33eacf)

The point of the story is the socialist government of France cared more about some misguided nationalism rather than actually creating an environment for innovation, business and growth. Even in France, YouTube is far bigger than DailyMotion and it certainly doesn't have anything to do with Google being anti-competitive, but everything to do with this petty provincial bullshit common with European government ministers.

<comment><USER5> How is it an opportunity? There used to be a whole selection of businesses in those niches. Some great, some terrible, some American, some European. Google have been continually adding niches to their web search over the years. All the way back to Froogle that became Google Shopping, that went from a comparison search to paid listings only.

Are most people still going to search for price comparison sites when it's right there on a Google tab? Are most people aware that tab may be ad only, when Google have constantly done their utmost to disguise ads, "highlighting" them in almost invisible colours?

Not a very compelling business opportunity to enter a market where 90% of the clicks never get outside Google. Half of those who were doing fine in those niches are forgotten, or closed. Just because some search monopoly decided it wanted to grab all those other pies too.

<comment><USER6> Are there any price comparison sites that are not just disguised ads?

<comment><USER7> For electronics there's Geizhals in the EU. That collects prices from most online stores and gives you the cheapest offer for any given product. It's also nice for researching gear in general, since it has tons of filtering options.

<comment><USER8> Also idealo.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> The necessary song and dance to start a process that in a year and change will cost Google a "record fine".

That what happens when the unofficale mandate is to counter the success of US tech companies in the eurozone: first endow the commission with broad enforcement powers, then pursue every frivolous complaint.

Come to think about it I've built an image search engine recently, maybe I should lodge a complaint about Google for their images "vertical" search function. This whole thing is ridiculous.

<comment><USER10> Is there a point as which Google is just running profit negative in Europe, and they are better off just pulling off business from there? I'd love to see how much of their economy would collapse without Google, let alone citizen unrest. Just a small instance of snippet tax was shutdown pretty damn quick to the impact, imagine the impact of all of Google being pulled out of Europe.

<comment><USER11> Yes, definitely.

There would be unrest, rioting, insurrection, and finally, civil war. Europe would be torn apart, the economy reduced to primitive agriculture. The European people will offer their prettiest daughters to Page and Brin, draped in blue, red, yellow and green veils to win back the favour of their distant and angry masters.

<comment><USER12> Don't forget goats. I can't imagine how many goats Larry and Sergey would be the proud owners of after this stunt.

</comment></comment></comment></comment><comment><USER13> It's interesting that complain was made by a US company - Yelp. I'm curious to who the other rivals in the complaints were.

<comment><USER14> Slightly off topic to your commment but... I'm actually concerned watching Google increasingly cut into it's search results. It's easy to justify it as one additional feature but take a look how search looked like 10 years ago to what it looks like today. Even companies who provided services in specific verticals are being axed overnight by Google adding a widget to search. Google reviews are growing exponentially in search importance and that's becuase the priority and UI they can implement to highlight google reviews vs a traditional search result (yelp). The internet landscape will look completely different in the next 10 years.

</comment></comment><comment><USER15> Google should leave the EU. Drop an IP block and be done with it.

<comment><USER16> And then what? Loose almost 50% of its value?

<comment><USER10> These fines are quickly adding up to more than their profit in Europe anyways. Once they reach the point of running profit negative in Europe, wouldn't it actually a better business move to pull out?

<comment><USER17> >Once they reach the point of running profit negative in Europe, wouldn't it actually a better business move to pull out?

They can respect the EU regulation, stop the crap in the search and Android and continue making money from the products they sell to enterprises. They will lose some profits but the products that are respecting the laws will continue making money.

<comment><USER10> Except you know that won't make them happy. Take the shopping example. They had a product that benefited consumers and businesses, but in the middle, a very tiny slice of the population (which who were in the business of making product comparison sites) were losing, and they cost Googling billions. The EU didn't even tell Google /what/ the solution was, because there isn't any, they just blindly asked them to change things.

That shows you that it's not about "respecting" regulation. It's about shoving it in their face and forcing them to comply.

<comment><USER17> Google has a monopoly on search, this means if I do a search say "best programming language/framework for X" and if Google hijacks this and put Google products on top then they are abusing the monopoly. It sucks for them they can't abuse it and they can't push their products and make more money.

I think the idea is simple, do web search, don't promote your video,maps, lanugages,services , don't add special code for Google products/services , and stop prompting people to install Chrome if they search with other browsers.

</comment></comment></comment></comment></comment></comment><comment><USER18> No, Google's competitors are trash.

<comment><USER19> And why is that when many of their employees are from Europe?

The antitrust cases were lost for a reason.

</comment></comment><comment><USER20> "Hey kiddo, do you want to skip doing homework and brushing your teeth today?"

</comment><comment><USER12> At this point, US tech should go political full court press on the EU. Just bait Trump into action based on European protectionism and "national security", sit back and watch it burn.

The ironic thing is that eventually, the EU will push out US tech but it will not be replaced with Euro tech. It will be replaced with Chinese tech and good luck to Vestager on squeezing one single penny out of Xi.

<comment><USER11> There is zero evidence that the EU is trying to push out US technology companies or that there is any plan to run some form of import substitution. These fines are not arbitrary, and they do not hit "tech", they hit tech monopolies with blatantly anticompetitive behavior like intel, Microsoft and Google as well as European breweries, maritime car carriers, cement plants and what not.

This is a fantasy, or more likely a projection of your own newly awakened jingoistic tendencies.

</comment></comment><comment><USER21> The EU revealed in it's ludicrous capriciousness. I like Europe, but fuck their governments if they want to do stupid things.

<comment><USER22> Stupid things, n. — things that are not necessarily stupid but I do not agree with them.</comment></comment>


Mustang - A Ruby interface to V8 - <AUTHOR> https://github.com/nu7hatch/mustang

<comment><AUTHOR> The readme compares this to the ruby racer (<https://github.com/cowboyd/therubyracer>):

Similarities:

Both are using similar integration with ruby's garbage collector. Actually, Mustang's code which handles that references is just improved version of TheRubyRacer's code (check the ext/v8/v8_ref.cpp).

Both are reflecting JS objects to ruby and vice-versa.

Diffs:

Mustang reflects all JavaScript objects and values properly. Properly, means all values from within V8 are reflected to Mustang::V8::* objects, regarding V8 inheritance tree which you can find here.

Once reflected ruby object (and vice-versa) is always the same object in ruby world.

All reflected V8 objects acts exacltly the same as ruby natives. For example you can deal with Mustang::V8::Array exactly the same as with native Ruby arrays (eg. they are comparable with ruby objects, etc).

Functions are reflected more accurately. Ruby objects' methods are represented properly.

Classes are converted to V8 function templates, so you can deal with them as with prototypes.

Different approach to deal with contexts, compiling JS scripts and exceptions handling.

Support for regexp reflections.

Way more friendly ruby api.

A very thorough test suite (over 250 tests passing on all ruby versions)

Clean codebase, less magic, fully documented.

Lower memory usage.</comment>


Ask HN: Self-taught novice to junior dev position? - <AUTHOR> I'd like to get a job as a junior dev. This would be a career change from journalism. Can I teach myself the necessary skills, build a solid portfolio, and expect to find a position, assuming I can demonstrate proficiency? (A coding bootcamp or going back for a 4-year degree is not feasable at this time.)
Background: Basic knowledge of HTML/CSS and C -- enough to build a portfolio website and finish Ch1 of K&R, respectively. They're hobbies. From here, I'd like to learn Ruby/Rails, HTML/CSS, Javascript/JQuery, and MySQL.
I'd use books to teach myself, supplemented with web at least for access to exercises and to place a portfolio on github.
Is this a reasonable expected course of action? Would you recommend this or any other stack of languages (book recommendations are appreciated). Are there any ways to gain skills like pair programming in a virtual setting? What would you do if you started a career this way? <comment><USER2> This was how I got started in the industry. I won't center this on myself, but I'd give you this advice...

Start building shit.

Build anything. Build games, build websites, build console apps that compute large sums of numbers. Make yourself code daily, and commit to micro-projects, even if you never list them on your portfolio. Try to focus on learning one strong object-oriented language and then one strong functional language. Learn to appreciate both styles for what they are without being dogmatic about one or the other.

Don't just memorize design patterns, build mini-apps that implement them, and then do the research to understand why people recommend them. Pair programming is great, but don't do until you've done much of the above. Right now is about freshness. It's about putting on your favorite music and tinkering. Tinker a lot. Download someone else's program, and debug it. Debugging will teach you more than most care to admit.

Read anything you can get your hands on related to programming languages. Read blog posts about new features to languages and why experts love or hate them. As you get into libraries that help you to accomplish your goals, go to their source control page (if they are open source), and read the issues and suggestions. Read the rebuttals from the maintainers as to why they won't accept suggestions.

Books I'd Recommend:

-Code Complete -Pragmatic Programmer -Zen Mind, Beginner's Mind (Not about code, but will help immensely).

</comment><comment><AUTHOR> I did not see this before posting. The questions dominici poses here seem relevant as well:

[https://news.ycombinator.com/item?id=12533446](https://news.ycombinator.com/item?id=12533446)</comment>


Top Secrets of Pascal's Triangle - <AUTHOR> https://medium.com/i-math/top-10-secrets-of-pascals-triangle-6012ba9c5e23 <comment><USER2> If you liked this, you may also like OEIS ([https://oeis.org/](https://oeis.org/)) and _Fibonacci Quarterly_ ([http://www.fq.math.ca/](http://www.fq.math.ca/)).</comment>