Notebook computer inventory 2020

2020-12-19

I am a laptop user with primary focus on programming and office work. My employer provides high-end devices of our own choosing and allows to keep them after use. Over the last 6 years I have collected in total 4 Laptops.

Macbook Pro 2017
Intel i7-7820HQ CPU @ 2.90GHz Quadcore
Kaby-Lake micro architecture
16 GB RAM, LPDDR3
Intel HD Graphics 630 1536MB

Thinkpad T495s (2019)
AMD Ryzen 5 PRO 3500U Radeon Vega Mobile, 2.10 GHz
16 GB RAM
AMD Radeon Vega 8 Graphics, Radeon Graphics Processor

Thinkpad 440-P (2014)
Intel(R) Core(TM) i7-4810MQ CPU @ 2.80GHz, 4 cores
Haswell micro architecture
16 GB RAM , PC3-12800 DDR3L
Mesa DRI Intel(R) HD Graphics 4600, Integrated Graphics Controller

Thinkpad 440 (2014)
Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz
Haswell micro architecture
8 GB RAM
Mesa DRI Intel @ HD Graphics 4400; integrated graphics unit

 

For the following comparison I disregard the graphics processing, since I am not relying on 3D Graphics pipeline for my applications.
The reference here is the Macbook Pro 2017 with Intel processor of the i7 (high-end) product line with 4 cores. The more recent device from 2019 (provided for a client project) with a AMD Ryzen processor has a subpar performance, around ~70%, in some benchmarks. This may not be surprising, since the processor belongs to the inferior mainstream (Ryzen 5) family. The notebook also targets the lower price segment around ~800 EUR. Running Windows 10 on it feels sluggish, but I work with it.
The 2014 Thinkpad 440-P (4 cores) almost is on a par with the Macbook Pro 2017, despite of 3 years and 3 Intel
generations difference. Admittedly, other criteria also come into play when choosing a Macbook Pro, whose asthetics is superior to the  clunky Thinkpad, which even had a optical drive included.
The Thinkpad 440, also from 2014, is outdistanced by the T440p with respect to benchmarks, but was also targeting mainstream users at the time.
In summary, Intel processors of the same product line / family may provide comparable performance spanning over generations. Benchmark tests help to get a feeling about the differences in product lines, and processor families. When betting on a long life time of the notebook, one should choose a more pricier family, in order to remain competitive in performance even years later.
For performance intensive applications like gaming and graphics applications, choosing a desktop PC instead of a laptop is the better approach, since here it may be required to exchange parts more frequently.

Benchmark References, compared with i7-7820HQ:
i7-4600U: https://www.notebookcheck.net/i7-7820HQ-vs-4600U_8413_4559.247596.0.html
i7-4810MQ: https://www.notebookcheck.com/4810MQ-vs-i7-7820HQ_5001_8413.247552.0.html
AMD Ryzen 5 PRO 3500U: https://www.notebookcheck.com/i7-7820HQ-vs-R5-PRO-3500U_8413_11334.247552.0.html


New domain

2020-04-06

This site has been moved to the new domain grid-lts.de. The reason being that I want it to align it with my Github account name Grid-LTS. The old domain will be quaratined and released after some time. Happy coding.


Personal Kanban

2019-08-12

Managing To-Do Lists is a favorite topic in my professional and everyday life. Previously, I described my experience with Taskwarrior. However, after using it for more than two years, it did not satisfactorily meet my requirements. One reason was that the syncing via my home server was only possible sporadically, since I do not keep that server running 24-7, but rather only spin it up when actually using it for other things. A cloud based alternative in shape of *Google Tasks* helped me a lot. First, this integrates well with Thunderbird, my Email client, by means of the Lightning plugin. The task list and my calendar are visually next to each other. But why using two apps for To-Do lists, when they serve essentially the same function?
This makes sense for the following reasons:

  • Not every task needs to done urgently, but should be done eventually at some time, for instance writing this article here. Such tasks, which have a roughly defined scope and which are not urgent, I store in my Taskwarrior list. When review this lists once every week or two weeks I try to allocate time for at least tackling some of them.
  • The Taskwarrior list can get infinitely long, in principal. Therefore, I can stuff new tasks in it without feeling bad, since I review it only from time to time. So I am not constantly overwhelmed by what I have left to do that is on the list.
  • My Google Tasks list I see daily, so I should keep that list short and I should process these tasks quite often. This list then only contains urgent tasks, that are clearly defined, smallish and manageable, so that they can, theoretically, be done within the next 24 hours. This list should not get very long, since this would cause stress and mental overload.
  • Taskwarrior tasks can be transformed to one or more Google Tasks items once they are mature and refined enough, so that they can be started right away.
  • And then there is the brainstorm list. This list does not even contain tasks, but more like ideas or rough project proposal. Once I have made my mind up about a point I squeeze out defined tasks. Most of the points most probably will not be tackled at all, so it is better not to include them in any of the task list, where they would only create noise and mental overload.

This scheme provides me with a Kanban pipeline for a more organize process, where I can pull tasks according to their size, urgency and refinement in scope. This greatly reduces mental overload and allows me to check-off tasks daily, given they are small enough, which is fun and gratifying.


Switching to HTTPS

2018-07-21

Google announce on their blog a-secure-web-is-here-to-stay.html that from Chrome Version 68 on, they will mark all sites without HTTPS encryption as insecure, starting from July 2018. I haven‘t been giving much attention to the protocol, since I am relying on a PaaS hosting solution with no direct access to the web server configuration. Luckily the switch was easier than expected.

  1. Switch on HTTPS in the PaaS backend. That was easy. No hassle with Certificate authorities.
  2. Configure HTTPS forwarding for the Apache webserver. .htaccess
    RewriteCond %{HTTPS} !=on

    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
  3. Configure my web app to enforce https. In Symfony this is easily done in the security settings:
    access_control:

    { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
  4. Rewrite all links, for instance source urls of images, to https://, otherwise the browser still marks the page as insecure
  5. For the local development I setup a certificate authority and created SSL certificates, that I threw into the Nginx server.

Now everything is green in the browser, and I can focus on the next big issue: GDPR ...


Getting things done with Taskwarrior 2.5

2017-05-17

After reading about the Getting Things Done Methodoly in David Allens Book of the same name (see here), I wanted to flex my fingers and set up my personal task manager. One recommended tool with IT charm is taskwarrior (https://taskwarrior.org/). This is, to my knowledge, only available as CLI. But for making lists who needs a GUI anyway, seeing that the classic approach of Getting things done goes with in-tray, paper and post-its. The cool thing is one can tag the tasks and make detailed task lists known as projects. Further categorizing includes due dates and priority. If the flow of tasks is overwhelming one can create reports, certain defined filters, to show only the things that matter.
Basically, it is a super-slim and highly specialized content management system, reduced to the minimum of required functionality. It's super easy to learn and get started. And it even is available as a Android App! Though one needs to set up a server to synchronize the tasks with all used client devices, e.g. private desktop, work desktop and mobile. I installed the software on my home NAS, and devices are synchronized as soon as they are connected to my home wifi.


Tinkering with Bootstrap

2016-11-27

To make this page worthy to watch also on all kinds of devices I use the Bootstrap framework http://getbootstrap.com/ for responsive design. It's quite popular also among my colleagues and has a negligible learning curve. Ideal for backend developers, who do not want to dive into long books on theoretical modern web design, but still want get sh*t done.

At the moment, I am also looking into Single-Page-Applications at the moment.  There is big excitement in the web development community with the recent releases of Angular 2 and Ecmascript 6.   


New project on Github

2016-09-29

These days I am trying to optimize my workflow and one challenge I faced was keeping my private Git repositories synchronized between my client computers, e.g. my work notebook, my private notebook, my server (and I am also seriously considering getting myself a netbook). These are repositories I keep on my server and do not upload in the cloud.

So I set out to automate this syncing and reduce it to one command, with which I can fetch or push All branches in All Git projects simultaneously. The code for this 'Sync Job Manager' can be found on Github Github: sync-job-manager. Check it out. So far its the minimal functionality. I may extend with other Sync functions like unison and rsync. 


My physics literature project - The lost paper

2016-08-06

When I recently started to archive my collection of physics papers and literature I came across an old essay of mine that I have written during my stay abroad at Loughborough University in 2008. There, it is customary to do a literature research on a certain topic for one semester, that is close to current research. It is good practice, considering that it will be a important part in the later academic career. Anyway, my topic was Bose-Einstein-Condensation and could be considered my first publication not counting the numerous reports in the lab course. Admittedly, it does not contain any original research and it is also not published in a peer-reviewed journal. As I am too shy to put in arxiv.org, I'll share it here instead (see CV section).


Code migration: the stats

2016-06-11

I migrated the code for this homepage from 'plain' hand-made PHP with a few Javascript libraries to the Symfony framework, therefore relying almost exclusively on libraries. Interesting fact is that despite utilizing libraries the amount of self-written version-controlled code grew from 250.0 kB (130 files) to 366.1 kB (169 files), with both code bases providing equal functionality. Additionally, the Symfony framework adds another 42.5 MB of external libraries. And these are only the basic libraries, It seems that the reduced coding load with out-of-the-box functionality of a framework does not express itself in a reduced overall amount of code. To be fair I have to say that much of the code is configuration and annotation, fascilitating maintanability of code and reducing complexity. Also the strenght of the framework better play out in larger enterprise projects.


Talk at TNG Techday

2016-05-16

On Friday, May 13th, I talked at my company's training and exchange day, also called Techday, about my current project, which deals with the development of a content management system (CMS) that delivers the content for a IoT app that connects to household appliances. The CMS is based on the Drupal CMS framework. My team extends the functionality to meet the customer's demand. My talk dealed mainly with the application of a CMS in general and only gave a rough introduction into Drupal 7. In this process, I also had a glimpse on the Wordpress CMS and Wordpress plugin development. Both coding Drupal modules and Wordpress plugins are similar, resulting in large chunks of procedural code. In this respect, the introduction of OOP design with Drupal 8 really is something to look forward to.

The talk can be found here: drupal7_CMS_Friemel.pdf

 


Migration to Symfony 3.0

2016-02-14

I am currently migrating the website to the Symfony framework behind the curtains. This is not fully achieved in its entirety and some features, like the gallery, are currently not available. Though I was initially planning to keep the code basis exclusively in basic PHP, I decided to switch to a Framework solution in order to make use of the conventient handling of security and caching. Anyhow, I have already been using the Twig templating engine for the frontend, which is also integrated in Symfony.

I'll revisit this with a more quanitative analysis later.   


Checkout the gallery

2015-12-31

Quick update before the turn of the year. I provide some images about my past, mostly professional, efforts in the new section 'touring'. This way I all the impressions I collected by the way can be shared with world instead of rotting on my hard drive. This required some work in extending the 'CMS' backend for the website in order to upload and store media files. This is not a revolutionary new concept and can also be done via Facebook, Flickr, Instagram, but I'd rather have everything in one place, from which I can then distribute to other platforms.


Migration to another server

2015-08-23

"I decided to take my talents to another web host", is what I would say if I were Lebron James. But what I mean by that is just that I migrated this site to a another service (ONE). The old one was technically limiting, only providing PHP 5.2 and no third party libraries. I guess free webhosting still comes at a price after all, forcing you to change to a commercial solution sooner or later.


From now on: has blog

2015-05-31

I finally added an unprecedented blog-feature ? to my homepage. I would like to implement an interface of my own CMS with twitter, facebook and so on, for testing purposes. This would allow backing up my history in case the social networks are shut down in some (unlikely) future. 


Long time no see

2015-04-26

Not so much Updates on the frontend, while I was maintaining the backend, doing a bit a refactoring and thinking how content can be stored in database. As this is a pilot project, all implementation are done by hand, with a little help of contemporary frameworks. At the moment jQuery is on the list, especially for the realization of Ajax-Requests. JavaScript truly is becoming awkward in creating dynamic websites.


New research paper online

2015-02-12

New paper from my PhD research submitted. It deals with magnetic excitations in CeB6, a prominent compound exhibiting antiferroquadrupolar ordering. (The common ordering in of magnets, as described in standard text books is usually dipolar). The study determined the magnetic field dependence and the dependence of magentic dilution with La-substitution in Ce1-xLaxB6. The excitations were measured by inelastic neutron scattering (INS), the principal technique of my experimental work. Though there were earlier studies of INS, this study now provides sufficient resolutions to track the evolution of the modes. The experiments were done at Institute Laue-Langevin, Grenoble, and the Forschungs-Neutronenquelle Heinz Maier-Leibnitz (FRM II).

The arXiv-submission can be found here: G.Friemel et al., Magnetic-field and doping dependence of low-energy spin fluctuations in the antiferroquadrupolar compound Ce1-xLaxB6, arXiv:1502.03139 .


Kick off

2014-12-27

The Site went online. As a initial hosting provider I chose 000webhost. The homepage is not fully functional and purely experimental. I intend to use it as a kind of a personal blog with a professional & technical scope. Feedback is always welcome.