This always makes me more worried about personal information being leaked, as it implies they haven't considered the possibility carefully enough.
1,217 karma · joined July 16, 2014
This always makes me more worried about personal information being leaked, as it implies they haven't considered the possibility carefully enough.
On the way up the escalators, we all commented to each other how the station felt considerably different to other tube stations. It felt better, nicer, more pleasant. This was strange, as the fit and finish is no different to other new tube stations. Eventually one of my friends realised the difference: there was no advertising.
I think we underestimate the mental load that advertising clutter causes us, even when it's merely in the background. We're so used to it that it's not until it's gone that we realise how burdensome it actually is.
Oh wait...
I've linked https://www.youtube.com/watch?v=7Pq-S557XQU many times and I'll do it again.
Recently I've been coming to the conclusion that whilst free market capitalism deals very well with a fairish distribution of scarce resources, it doesn't deal very well with abundance (or rather, it deals ruthlessly with it - the price drops to near zero). We're facing an abundance of labour, and I don't think things are going to end well if the market rate for that ends up so low that labourers can't eat.
https://www.newscientist.com/article/dn7046-hydroelectric-po...
Fix that by running:
$ exec /bin/bash -l
instead. int **
> Even ignoring the lack of composability, flatMap is an operation on a broad category of which Maybe is one example; that generality is a key part of its utility.While it's certainly part of it, I would disagree that it's the key part. The ?. operator is flatMap in the context of Maybes, and Maybes alone are useful for preventing a class of bug (NullPointerExceptions) even without the rest of Monadkind.
> ?. is a special-case operation on nullables, if you want to use it on any of the other things that flatMap works on (e.g., lists), you need a different operation, so you can't build generic algorithms.
Being able to use generic algorithms like sort() on Maybes-as-collections-of-arity-[0,1], while very cute, isn't actually that useful in real code. Particularly real C# or Java code.
Don't get me wrong, I've written code in Scala, and I love the generality of Maybe and related collection types, even though I have hit some interesting issues where I've needed to call .toSeq on my Maybe in order to get the right thing to happen, because they're not quite equivalent. But being pragmatic, and given that C# (and Java) don't have proper Monadic Maybe, and are unlikely to ever get them, I'd quite like the ?. and ?? operators, please.
Arguably addition (or any operation) that overflows with signed integers ought to cause some kind of SignedIntegerOverflow exception. If you want to do modulo mathematics in the set of [0, 2^n) then you should explictly use unsigned integers, which are defined to work that way.
It's just selfish and rude, and yet Linus is called that when when calls these people out.
ON ACCIDENT GOTO EMERGENCYROOMI'm probably an outlier.
In any case, having a sensible copy constructor on the memory_block (and any necessary associated data) would at least make the copy constructors in the client classes (assuming you have more than one user of this pattern) cleaner.
It's a really good pattern, though. Excellent blog post.
I would say the code doesn't go far enough. Instead of using `std::unique_ptr<char[]>`, it should define some kind of memory_block abstraction (using `unique_ptr` internally), where the copy constructor and `operator=` both do a byte-wise copy of the data. Then alongside `make_contiguous`, you would have an analogous `copy_contiguous`, where the base case of `make_contiguous_helper` would instead call `memory_block.resize(total_size)` and the base case of `copy_contiguous_helper` would call memory_block = other_memory_block. This would remove the boiler-plate code for the copy constructor in Mesh, which can instead be:
Mesh::Mesh(const Mesh& other)
: memory_block(copy_contiguous(other.memory_block,
positions, other.positions,
indices, other.indices,
vertices, other.vertices))
{
}
and similar for `operator=`.The fact is that TCP was the MVP for reliable streams of data on the 1970s internet, and is woefully inadequate for modern usage, but we're stuck with it (including its oft-disabled parts like Nagle's Algorithm) because it's what's available everywhere.
Game network protocols are pretty easy in comparison with some of the protocols I've encountered in my day job, especially once you've learned the lessons of people like the author of that article.
I think the only other key that has this low-level trap feature is SysRq (usually Alt+PrintScreen), which, of course, Linux uses for [Magic SysRq](https://en.wikipedia.org/wiki/Magic_SysRq_key).
Now that I think of it, "Press 'System Request' to log on" has a nice ring to it. A shame it was it in the shifted position on IBM PC keyboards.
:)
Surely marketing is creating markets. You have a thing, and you make people want to buy it, thus creating a market. Marketing.
I have an MEng in Computing, because my alma mater is one of the few that realises the distinction.
Or are these magic bits where zeroes are free?
https://github.com/hackeron/live555/blob/master/genMakefiles
It should be more like:
os=$1
modules="liveMedia groupsock ..."
for module in $modules
do
/bin/rm -f $module/Makefile
cat $module/Makefile.head config.$os $module/Makefile.tail > $module/Makefile
chmod a-w $module/Makefile
doneThe only safe way to update a config file of a running service is with POSIX atomic rename, and most editors don't do that by default.
Actually, it's not that bad an idea:
cd /home/efaref/config/servername
vim blahd.service
git commit -m "Update blahd service file to increase widget count"
git push live master
Then have something else watching the master branch of the live repo do a git pull, systemctl daemon-reload. It doesn't even have to live on the same server. If one of the config files is a puppet script, you can maintain everything.