Hacker Newsnew | past | comments | ask | show | jobs | submit | alexdias's commentslogin

An ad that is “relevant” to me is an ad that leads me to think “yes, this item is exactly what I was looking for”. Sometimes you know you want to buy something (let’s say a backpack) but you don’t know which brand/model to go for.

This is where ads come in: a backpack company can run ads that should be shown to people interested in buying backpacks, and it’s potentially a win-win: you find a cool item that you buy, and the company gets a new customer.


It's only really a win-win if the backpack was the best choice you could have made if you were fully informed about the entire market.

And that best choice is probably from the manufacturer that spends the most on making their product. Not the one spending the most on advertising. This undermines the win-win concept.


> I’m honestly perplexed what the FANGs are even thinking in being so aggressive about pushing an end to WFH.

Yes, aggressive measures such as:

-Allowing employees to apply to be permanent remote employees

-Allowing 2 WFH days per week


> Allowing employees to apply to be permanent remote employees

We'll see how this plays out, but I'm expecting this to be just a ploy to keep people from leaving right away and 95%+ requests to be remote will ultimately be denied.


The 2 day WFH thing will fade away as well.

My company has put those optional 2 days WFH to TLs to arrange amongst their teams, with the expectation that the whole team will have the same schedule.

Basically if your TL doesn't care or want you to WFH, or the team can't agree on days, you're done.

It'll be a major inconvenience and staff will ultimately not see the benefits of full WFH with 3, so it won't last.

I think there will be increased churn once the "wait and see" crowd clears


As someone who's company is doing exactly that (albeit with only 1 day per week) I can't see that happening here.

Agreeing on a day between 6 people isn't that hard (disagreement can just be solved by the TL making the decision) and once the policy exists it's hard to put the genie back in the bottle.

Forcing everyone to come in seems like a huge political blunder for a TL, why would they do that?


...which policies were only implemented after significant employee pushback over the originally-announced "everyone will be going back to the office full-time" plans.


Google never announced anything like that. The moment they started talking about return to office there was talk of flexibility, lower capacities, and WFH. And in reality WFH at least 1 or 2 days a week was always a possibility, at least in my Google office.


Anything but allowing permanent WFH without any approval, never requiring any on-site visits, and never requiring the camera is "aggressive" to a lot of people for some reason.


The policy for applying for wWFH at the FAANG I work at involves seniority and VP approval.


Do you have any examples of articles like these from the Telegraph?



Depends on your stack and requirements (do you want to know about errors ASAP, or is a 2-5 minute delay ok?), but I personally love NewRelic because of how easy it is to set up (and the number of features that it has).

If you want tools that you can manage yourself, then a combination of StatsD + Grafana for metrics, and Sentry for errors. For logs, Graylog if you want to set up something complicated but powerful, and syslog-ng if you just want to dump the logs somewhere (so you can simply grep them).


Most of these tools cost too much to scale past 1M users.


You could write your own service... some thin agent that runs on your boxes and dumps the files every hour to some storage optimized boxes (your data lake)... where another process picks up those files periodically (or by getting a notification that something new is present) and loads them into a Postgres instance (you actually probably want column oriented).

Running every hour, you won’t get up to the second or minute data points. For more critical sections of code, maybe have your code directly log to an agent on the machine that periodically flushes those calls to some logging service.


1. Collectd and Graphite serve this well or can be modified

2. Nine of these commercial services gives you per second granularity that I have seen


s/Nine/None/

#if there are 9 i'd like to know of them :-)


1) The struct's fields will have the default value for their respective type. I understand you might want to force specific values, but if this is the case, maybe you could only export an interface to the struct? And said interface would have the "constructor" methods.

2) You can always encapsulate errors. Your code will still have a type assertion or switch, but you don't need to use string parsing (although I have seen string parsing used in libraries such as mgo - the MongoDB client library).

3) Because maps are references, just like slices. You can still call len() on a nil map and therefore treat it as an empty map? If you mean the assignment to nil maps: https://groups.google.com/forum/#!topic/golang-nuts/RkYIF8Sq...

4) This is subjective I think, but I disagree. I like just being able to type "return" instead of for instance typing in 6 different places "return something, err".

5) Do you mean un-exported structs (and therefore lowercase)? I haven't come across this, but I can see where it could be an issue. I usually just use VSCode and mouse over to quickly see a name's definition.

I agree with you that it's not perfect, but as I saw someone else say on the internet, it's the least bad language (in my opinion). And I don't envy you for working with dependency injection in Go :)


They handle real-time events exactly as your latter example stated: an external (licensed) company provides live data, and orders that were placed during a dangerous situation (e.g. one-on-one) are subsequently voided if a goal is scored.


Why did you edit away your claim that it is to the benefit of the customers? Being a market-maker and being able to void any trades that occur during volatile periods sounds like a dream to me. No need to worry about adverse selection eh? Just printing cash with fat bid-ask spreads and if anyone dares to get the jump on you, they get voided. I wish I could do that in the real markets.


I can't speak for all companies, but some companies I worked with with honour those bets (places just a second before the goal). They try to find a pattern and ban the users after they find them doing this (and it is getting harder since live feeds are faster and faster) but I never saw a company voiding a bet because of this.


Smarkets, London, Software Engineer (Python, Erlang & Mobile), QA and Test Automation Engineer, Operations Engineer

Smarkets is disrupting the global betting industry by offering a modern betting exchange with significantly lower transaction fees than the competition. We're a well-funded company with a small, agile development team, and our platform has handled over £365 million of bets since launching in 2010. Smarkets has been featured in publications such as Wired, The Wall Street Journal and TechCrunch and was recently selected as part of the Startups 100.

We're building a reliable, low-latency exchange system to facilitate automated traded strategies, as well as a fast, modern web interface. Our team constantly works on significant, challenging software engineering problems; if you're fed up of writing yet another boring CMS, we might be able to help. The Smarkets platform is written predominantly in Python and Erlang, and relies heavily on asynchronous programming techniques and REST. We make extensive use of version control, configuration management and automated testing, which allows us to reliably deploy code to production several times a day.

Our team builds on a modern, open-source software stack which includes Linux, Vagrant, Flask, Eventlet, PostgreSQL, RabbitMQ, ElasticSearch, Graphite, Chef and Git.

For more info: http://info.smarkets.com/about/jobs/


Yes, it would work. "==" is a method like any other, and you're overriding it.

You should download the Scala IDE and play with a feature called the "Worksheet".

See here: https://github.com/scala-ide/scala-worksheet/wiki/Getting-St...


Cool thanks.

Isn't this ability a bit dangerous or worrisome? It means that for every Scala package you use you need to review the code. It does make a good prank though :)


There is a library called Dispatch that has/had this problem entirely, the author decided to use symbols instead of natural language method names and left it fairly undocumented, so you had to spend time reading the source to have any idea what was going on. To the point where a kindly soul decided to write a periodic table (http://www.flotsam.nl/dispatch-periodic-table.html) to help people with its use.

I wouldn't say it was particularly dangerous, but it is a massive pain to deal with (it also means you can google for any help with a particular method).


It's certainly possible to get out of hand with operator overloading, especially if you try. Take this implementation of "analog literals" in C++

http://www.eelis.net/C++/analogliterals.xhtml


For what it's worth, this is how Ruby operates, as well - "a + b" is really "a.+(b)". In practice, it doesn't end up being very dangerous. Maybe it's just a community thing (the potential for abuse is certainly there), but it means that you get some really nice, natural-feeling code when you do need to use those overrides.


I would guess he's thinking of the 3rd gen iPad price, which was $479 if I recall correctly (for the 16GB version; the 32GB Surface has around 20GB of usable space).


Yes.

#2 is especially known for its technical institute (IST, where I study), which competes with another one in #8 for the title of the country's best engineering school (the one in Porto has been winning past years' programming competitions).

#6 is known in the country for its CS degree.


They are all portuguese tech universities. I have studied at #8.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: