488 karma · joined February 5, 2015
"Cryptography is not magic pixie dust that you can sprinkle on a system to make it secure" -Bruce Schneier [? - couldn't find a good source]
"If you think cryptography will solve your problem, either you don't understand cryptography, or you don't understand your problem." -Roger Needham / Peter G. Neumann
In Germany, they actually demanded an "Internet eraser" (https://www.heise.de/newsticker/meldung/Digitaler-Radiergumm...) [so ridiculous I don't think anyone ever attempted to translate] so content, mostly images, would somehow 'automatically expire'. Never worked, images could be screenshotted, etc. etc. Said this was "highest standards made in Germany". Never made sense, never took off.
The US came up with Snapchat.
GDPR is terribly vague and creates a barrier-to-entry. Draconian measures may hurt large companies, but they threaten smaller ones.
EU is saying they don't like Silicon Valley behemoths' power but they want valley-like companies in the EU (sometimes even calling for a 'European Google', as if you could just pass a rule to make that happen). And then they create laws that make it easy for the large players and harder for their competition.
Everyone here spent a great deal of money for some compliance boo-hoo. FAANG has your consent and upgrades their policy, done.
To me, this seems like ineffective and incompetent lawmaking, no matter if the intentions were sound.
However, an idempotent HTTP call is certainly not a pure function which some people seem to be mixing up. Pure functions don't work with I/O.
REST is bit more specific and explicitly requires GET to be nullipotent which really means "effect free" - it just reads and doesn't alter the state on the remote system at all.
Side-effects like log files, rate-limiting, etc. will always exist, but they do belong to a different 'layer', so to speak. That is, these should be unobservable side-effects (also think about minuscule effects on the power grid, the fact that a request might write something to an ARP-cache, etc. - they all happen at different layers, so the quantum world state keeps changing, but that's not what this is about). Whether an X-Request-Count header violates the requirements or not depends on interpretation. From the garage door perspective, I wouldn't care...
That's true for JSON as well, but you probably need JSON on the other side (the API) as well...
1.) It's always a text-based interface. The ORM merely hides the fact. Type safety is weak, as is with JSON, but both aren't un-typed.
2) Yes, they are, and there are a lot of good use cases for relational databases. But if you have a number of services that share nothing (especially not the database), what is the foreign key good for?
3) You can do any style with any database. Overly aggressive normalization in read-heavy environments can be bad, as is de-normalization in write-heavy environments. Choose the tool for the job..
4) Why all over the code? Can't you make it easy to find the model classes? Doesn't seem so hard. Also, is this so different from, say, EF code first? And anyway, doesn't every SQL database in fact, have multiple schemas (the one in the db, the one in the scripts, the one in the ORM and the one in the code?) Is that really so different?
But whatever DB you like, if you move the state of your application to another application (i.e, a database) you better make sure you really understand how it works.
For SQL databases, many people think they know how they work, but misconceptions seem widespread. Essentially, many beginners believe that SQL databases guarantee serializability everywhere and all the time, relying on the database (and OR-mappers) a lot / too much in my opinion.
Choosing a system that only offers very few guarantees forces you to think about them more explicitly. On the other hand, if you never bothered to understand SQL, you probably won't bother understanding anyDB's restrictions and guarantees either, and then everything goes to sh*t.
Some databases might be easier to understand than others, but I feel MongoDB is on the 'easier' end here. YMMV.
True, you often see people jump into a new technology without understanding the tradeoffs and the implications.
However, a lot of people don't have a deep understanding of the non-hype systems either. Seems to me everybody expects SQL dbs to guarantee serializable isolation every time and everywhere, for example.
Look at what happened to facebook when they started offering localized versions, their growth suddenly exploded over here.
I believe this will take a long time, and it certainly is a major barrier.
Also, with that definition, a password 'abcde' would have much higher "entropy" than 'aabab', meaning that this measure penalizes actual randomness, where repetition and char-reuse are very likely.
See the other side: a significant number of applicants can't implement fizzbuzz, Fibonacci sequences or anything, but ask for ridiculous salaries and their portfolios appear to be mostly borrowed plumes. We need a process that isn't too time-consuming to id the chaff, allowing for false negatives (people who are good at Fibonacci numbers and interview questions, but not much else), but keeping the false positives low (I explain the Fibonacci sequence first so it doesn't become a math riddle rather than a programming task).
We are the research & development department of Germany's largest spectacle retailer and design the future of the optical/retail industry. We evaluate technologies, develop retail concepts and build prototypes at a fast pace.
Positions
- Frontend Designer
- Frontend Developer
- Researcher Algebraic Geometry
- 3D Developer OpenGL and/or Direct3D
More information at http://www.fielmann-ventures.com/en/jobs/
Our hiring process: phone interview (screening) -> coding challenge -> phone interview (technical) -> interview (onsite)
Yearly filing must be done by a tax accountant and you have to pay for the 'services' of the Handelskammer, which is around 800 and 200 EUR at least, respectively, per year. Dissolving takes one year at the very least and incurs additional cost of at least EUR 500,- plus the year in which the company lives as a zombie, so 1.5k total.
But I like the idea and will submit a few words
Sure, people using your software without a valid license is not cool. On the other hand, AllSIM didn't suffer any damages.
Also, there are probably not that many potential customers in the world for AllSIM(TM). Maybe CERN should have used their power to make clear that this was the act of a naive student, and that a ridiculous fine could seriously impede the future business relation with CERN...
Since scaling a team increases friction and overhead, a small number of highly skilled engineers can be absurdly more effective than a set of teams, which also makes them more valuable, but not necessarily as extreme as in sports. Add preferential attachment to the equation (good engineers try to work with other good engineers / hire only top talent), and the U-curve starts to make sense IMHO.