Inkscape is apparently a perfectly usable editor (I mean, "professional quality vector graphics software", see its self description on the about tab), didn't even take much to download.
Despite its self-imposed fame, it doesn't make me feel lost as opposed to when daunted by the classic GIMP's perhaps too generous number of features. I've even studied that one in class, and have been sporadically trying to use it over the years - always feeling a little lost nevertheless.
A deeper use case is yet to come, but I already learnt to appreciate this one despite that my task didn't take much longer than 5 minutes.
Wednesday, 13 February 2019
Sunday, 10 February 2019
Jupyter Lab
Another reminder to self: do not forget to prefer Jupyter Lab over the classic Jupyter Notebooks. It's been out there for almost a year, time to adopt!
Just makes so much sense to have something resemblant to a full blown IDE when working with a notebook or two, preferably not consuming multiple tabs, coming with visual hints, etc.
And this one is just like that one.
Albeit the hotkeys aren't all obvious, apparently they can be googled up (e.g. Shift+Tab for the parameters hint while supplying the function arguments).
So far (after about an hour of use), so good... shouldn't forget!
Just makes so much sense to have something resemblant to a full blown IDE when working with a notebook or two, preferably not consuming multiple tabs, coming with visual hints, etc.
And this one is just like that one.
Albeit the hotkeys aren't all obvious, apparently they can be googled up (e.g. Shift+Tab for the parameters hint while supplying the function arguments).
So far (after about an hour of use), so good... shouldn't forget!
Tuesday, 30 October 2018
The late night git show
(... note to self ...)
git status
Happens to be a useful command.
A very useful one, especially when you're amidst an interactive rebase that you were keen to forget about in roughly 5 seconds after intiating it.
So when the stuff goes incomprehensibly missing, especially committed files ... don't try to make it a late night adventure recreating things from memory :)
Just git status.
GIT STATUS
gIt StAtUs
...
Well not sure if git cola displayed that bit somewhere though, didn't catch my eyes ... could be a valuable feature to request if not.
git status
Happens to be a useful command.
A very useful one, especially when you're amidst an interactive rebase that you were keen to forget about in roughly 5 seconds after intiating it.
So when the stuff goes incomprehensibly missing, especially committed files ... don't try to make it a late night adventure recreating things from memory :)
Just git status.
GIT STATUS
gIt StAtUs
...
Well not sure if git cola displayed that bit somewhere though, didn't catch my eyes ... could be a valuable feature to request if not.
Wednesday, 26 September 2018
6 page memos
Just have been reading an article about Jeff Bezos's approach to keeping a company as dynamic as a startup is or should be.
I'll take the liberty to (disagree and commit lol) almost just bullet-point list out the keywords ... just becasue this is how much time I have :) - the below only makes sense together with the above Forbes link really)
First, "senior executives start meetings at Amazon in silence, with everyone reading six-page narrative memos about the topic they are gathered to discuss, for up to 30 minutes"
Note that here quality preparations are brought into the game - when appropriate at least.
Then, it is important to make a distinction between decisions: "Type 1 decisions can't be reversed and as such require great care. Type 2 decisions can be easily reversed."
"Make Decisions With 70% Of The Info You Wish You Had"
I'll take the liberty to (disagree and commit lol) almost just bullet-point list out the keywords ... just becasue this is how much time I have :) - the below only makes sense together with the above Forbes link really)
First, "senior executives start meetings at Amazon in silence, with everyone reading six-page narrative memos about the topic they are gathered to discuss, for up to 30 minutes"
Note that here quality preparations are brought into the game - when appropriate at least.
Then, it is important to make a distinction between decisions: "Type 1 decisions can't be reversed and as such require great care. Type 2 decisions can be easily reversed."
"Make Decisions With 70% Of The Info You Wish You Had"
"Disagree and commit"
"You have to somehow make high-quality, high-velocity decisions"
Well, that's it, build your own Amazon!
Saturday, 4 August 2018
Easter eggs for experts in MongoDB: beat the 8
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:38Z")
> ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:38Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
> ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
> ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
> ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
> ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:40Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:40Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:40Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:40Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:40Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:40Z")
ISODate("2018-08-05T00:16:38Z")
> ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:38Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
> ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
> ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
> ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
> ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:39Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:40Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:40Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:40Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:40Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:40Z")
^[ObjectId().getTimestamp()
ISODate("2018-08-05T00:16:40Z")
Yes, that's eight of a kind...!
Monday, 25 June 2018
EBS init hell
I should remind myself that there is some initial penalty for creating an EBS volume on AWS - right after creation it is really slow to access for a good while.
It's a gp2 volume and iotop reports a 5 MB/s access speed, in agreement with the CloudWatch metrics.
I am wondering for how long - the stuff on this link suggests straight after first access it starts feeling fine.
However, I can see it being slow on the second run of the recommended
okay I only partially ran it at first, but I'd expect walking the blocks to be a very deterministic process for dd. So maybe it's rather the first complete access? Or a few hours of initialization, such as the case is a large enough chunks when growing a volume or e.g. with a complete drive type change (i.e. gp2-io1)?
Well, I give up on that for today/night but best remember this caveat ...
Update: really a little googling confirms this... that it needs a complete read through:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-initialize.html
It's a gp2 volume and iotop reports a 5 MB/s access speed, in agreement with the CloudWatch metrics.
I am wondering for how long - the stuff on this link suggests straight after first access it starts feeling fine.
However, I can see it being slow on the second run of the recommended
dd if=/dev/xvda of=/dev/null bs=1M
okay I only partially ran it at first, but I'd expect walking the blocks to be a very deterministic process for dd. So maybe it's rather the first complete access? Or a few hours of initialization, such as the case is a large enough chunks when growing a volume or e.g. with a complete drive type change (i.e. gp2-io1)?
Well, I give up on that for today/night but best remember this caveat ...
Update: really a little googling confirms this... that it needs a complete read through:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-initialize.html
Monday, 4 June 2018
Processing close: filter early
After all, it's just a bit of extension on the previous post, and is a generally utilizable intuitive augmentation concept in IT.
If need be for performance optimization, and there is some filtering involved at a late stage in data processing (e.g. with databases - a where clause), it's worth considering whether it improves the overall process if that filtering is done at an early stage.
Of course, the most radical filtering steps, i.e. those with the best selectivity are often the best to evaluate first, etc..
This can again be useful when designing map-reduce algorithms, or - more generally - data processing flows. Obvious factors to consider could be the network transportation costs, the temporary persistence in a file system, reducing on these can easily improve the overall performance of the system.
One explicit case: for symmetric graphs, where the symmetry is preserved in intermediate results, it can be a good thought to transfer only a half of it, e.g. in and above the diagonal, and only "double" the output in the very last step, if that is required at all.
+1) Consider filtering/reducing the information or data in transport early
If need be for performance optimization, and there is some filtering involved at a late stage in data processing (e.g. with databases - a where clause), it's worth considering whether it improves the overall process if that filtering is done at an early stage.
Of course, the most radical filtering steps, i.e. those with the best selectivity are often the best to evaluate first, etc..
This can again be useful when designing map-reduce algorithms, or - more generally - data processing flows. Obvious factors to consider could be the network transportation costs, the temporary persistence in a file system, reducing on these can easily improve the overall performance of the system.
One explicit case: for symmetric graphs, where the symmetry is preserved in intermediate results, it can be a good thought to transfer only a half of it, e.g. in and above the diagonal, and only "double" the output in the very last step, if that is required at all.
Subscribe to:
Posts (Atom)