[Arm-netbook] new development laptop needed, looking at dell xps 13 9350

Luke Kenneth Casson Leighton lkcl at lkcl.net
Mon Dec 5 17:37:49 GMT 2016


On 12/5/16, Julie Marchant <onpon4 at riseup.net> wrote:
> Just my 2 cents:

 appreciated, julie.  lots of factors involved: i've been through
them, however it always helps to go over them in case i missed
something.

> From what I've been gathering, Luke, this is the situation: you are used
> to a very high spec setup capable of really large amounts of
> multitasking

 plus moving around several times a month (at the moment), giving
presentations, sorting out problems whilst directly at the factory
(including editing the PCB CAD files on-site at mike's factory), and
so on.

>  and don't want to give up your current way of doing things,

 it's not that i "don't want to give up the current way of doing
things", it would be "a massive inconvenience and/or simply not
practical to fulfil the project's goals" without a high-end laptop.

 here's the thing: because i *know* that there's a tool which makes
life easier, *not* having access to it is just so utterly frustrating
that i will go completely nuts.  to get some idea of the kind of
feeling, if you are not ambidextrous, move your mouse to the
*opposite* side, hold it exclusively with thumb and middle finger (no
other finger contact), give yourself the usual amount of time to
complete a task and go.

or, my other favourite one is: if you're used to typing (touch-typing
especially), go try using a microsoft windows system.  the feeling
of... sheer desperation and frustration... it's like having your legs
kicked out from under you, or having your legs amputated: you *know*
that it should be possible to configure that network or do
whatever-it-is-you-want, it *could* be achieved so much faster... *if*
you had linux instead of windows... and you've *no idea what to do*.


> so you are looking for a new laptop capable of this. There's nothing
> wrong with that if you can find it. But maybe it would be worthwhile to
> adjust your workflow so that it doesn't need an ultra-HD screen and
> 16GB+ of RAM? There must be some way you can achieve that.

 i'm constantly using "killall -STOP {insert program(s)}" to
temporarily suspend certain applications, to get it down, and to stop
the macbook pro from thrashing its nuts off on its flakey SSD.

 what i didn't mention before is that one of the consequences of those
continuous resets of the SSD is that if it goes into swap space, the
whole system can grind to a halt really really fast: loadavg smacks up
to around 12, the mouse cursor refresh rate is about once per second,
selecting an xterm into which to type "killall -9 firefox" or whatever
it is can take several minutes... it's pretty insane and it happens
regularly.

 no, i really do genuinely need two web browsers open (especially now
that i'm in china) - one is configured for the VPN, the other is not.
i do genuinely need 20 tabs open in one browser: i've stopped opening
200+ in firefox but even after a week i'm easily back up to 50 tabs.
the vim bindings (pentadactyl) help here a lot: i can issue ":restart"
and it gets the memory back down to manageable levels.

 no i can't reduce the amount of RAM that qemu uses.  that would make
the CAD programs crash.

 no i can't reduce the number of parts in the laptop 3D CAD casework.

 no i can't not have PDF datasheets open at the same time as the CAD.

 no i can't not have openscad open at the same time as the CAD PCB,
because as i've learned it's *ABSOLUTELY* necessary to develop the 3D
CAD at the same time as the PCB CAD...

 and so on and so forth.  it's a hugely complex inter-dependent set of
factors, here.

> These are the thoughts I have, in particular:
>
> * From what I understand, you use a DE that basically tiles all of the
> programs you have open into whatever screen space you have, right?

 no, i use fvwm2 with 24 virtual screens in a 6x4 layout, non-tiled,
each virtual screen dedicated to a particular purpose.

 tiling prevents and prohibits me from finding the applications that i
need.  it also prevents and prohibits me from having crucial and
critical information simultaneously on-screen.

 this is REALLY important to have a datasheet for example side-by-side
with the CAD program.

 tiling - or having a lower-resolution screen - would result in less
information, less detail, and thus mistakes.  which when they cost $2k
a time for a PCB, that's generally bad.

 so i make sure that inter-related programs are accessible
side-by-side, so that i can see as much as possible all at once.

 semi-inter-related tasks i keep on separate virtual screens that are
close by each other.  for example, the web browsers are both on screen
(2,1) whilst xchat is *underneath* that, on screen (2,2).  screen
(1,1) contains skype (and now zoom.us).  screen (1,2) contains audio
management (alsamixer instances) and wicd-gtk (WIFI management).
screen (3,2) contains the PCB CAD program - not full-screen but
running at 2500x1500 so that i have juuust enough space to pull the
xterm(s) behind it to the front, and also to see the clock and FVWM
6x4 window that i've pinned to the bottom right corner.  screen (3,1)
contains gerbv, which i use to double-check the gerber output from the
CAD program below it in screen (3,2).  screens (4,2) and sometimes
(3,3) is where i open up datasheets that i'm inspecting...

 there's also places for compiling code (on *different* targets,
remember?  so i can have one virtual screen for the A20, and another
for the RK3288....) ....

 it's a hugely complex setup that took me around 12 years to refine.


> Have you ever tried GNOME?

 fuck no :)  apart from anything, on a 256gb SSD i simply don't have
the space for it.  last time i checked i have literally *millions* of
files on this laptop, and i am constantly removing prorams to make
space.  libreoffice went _years_ ago, for example.  i had some games
on here: they've all gone, now.

 by contrast: fvwm2 is an 8 *megabyte* install size.  gnome is...
what... several hundred megabytes?  latest versions force you to use
wayland?  and systemd?? fuck that!!  absolutely no way i'm tolerating
that.  plus it's designed for a totally different purpose: "office"
style work.

>  That might be a good replacement for that if you
> can get used to it.

 fvwm2 starts up in under 1 second.  i run various xterms then type
the command that i need in the xterm, position it, and leave it alone.


> * Is it really necessary to have all of those programs open at the same
> time?

 incredibly... yes.

> * Is it really necessary to use Chrome or Firefox?

 for searching for datasheets, accessing email, accessing various
forums (i've lost count of the number of forums i have accounts for -
i was tracking around FIFTY just during the crowd-funding campaign
alone)... yes.

> There are more
> lightweight browsers out there, including text-based ones like elinks.
> Disabling JavaScript can also help a lot with performance in general.

 a lot of the forums i access for information and for communicating
require javascript, and require passwords (and captchas).  i use the
browsers to remember the passwords...

 i've always been meaning to try disabling javascript: i did actually
try netsurf for a while... it didn't go very well.

> * What if you had one laptop for openscad and other heavy or important
> stuff, and another, cheaper laptop for Web browsing and other stuff like
> that?

 that actually sounds like a good idea... then i realised/remembered
that i often cut/paste sections of code and recipes (e.g. for doing
the firefly rk3288 development board setup) so that i don't make
mistakes.

 i don't "consume" web browsing information like other people do.  i
don't sit there larfing and/or msgging and/or lol-ing on facebook or
twitter, i actually need to transfer information quickly and
accurately back-and-forth from web pages and web resources, including
PDFs, commands, and so on.

 under that scenario, separating the two (into two machines) is
unfortunately massively inconvenient... and also takes up space... and
would mean that i would be carrying around two laptops plus network
connectivity equipment plus chargers to hotels, client sites,
suppliers sites and factories.


> * I'm wondering about that SSD. Are hard drive speeds really so bad that
> you need one?

 again it's down to what i'm now used to (and i've done the research
so know what to look for.  as in i was authorised to do a MONTH of
destructive testing of SSDs at a former company) -
http://lkcl.net/reports/ssd_analysis.html - basically don't get
anything other than Intel S3500s or Samsung EVO Pro series drives and
you'll be ok.  anything else *is* guaranteed to fail.  i really mean
*guaranteed*.

> Big SSDs are much more expensive than big hard drives.

 i don't need huge - certainly not 1TB.   512gb should do the job,
now.  256gb i've learned is barely ok.  i'm still running on gmail
because i have NINE gigabytes of email that i can't afford to move off
of it because i haven't enough space.

 if it improves my working procedures and operational effectiveness -
bear in mind i'm in front of this machine for 10+ hours a day - then
it's paid for itself easily.

 also, remember: i've done power-loss testing on SSDs (and an HDD just
for a laugh) - the HDD fared just as badly as the (consumer-grade)
SSDs.  only the professional-grade SSDs with *decent* firmware and
sufficient supercapacitors were able to cope with random power-loss
events reliably.

the Intel S3500 that i tested i ran six and a half THOUSAND power-loss
events over a period of 3 days, with several terabytes of data written
and read it didn't lose a SINGLE BYTE.  that's pretty incredible.  by
"power-loss" i mean i added a 12v relay into the power line, set up
random and sequential writes at 30mb/sec and literally cut the power
WHILST THE SATA CABLE WAS STILL CONNECTED AND TRANSFERRING DATA.

every other drive tested failed within SECONDS to minutes.  some
failed so badly that they corrupted their own firmware sectors,
resulting in them being completely bricked beyond recovery.  it was an
eye-opening experience that had the SSD manufacturers a leeetle bit
scared.  which is a good thing.


> My
> experience with a hard drive is that it's mostly start-up times that are
> affected, so what I tend to do is log in and then go do something else
> while everything loads, and then use the suspend to RAM feature if I
> need to conserve battery for a short period of time.

 i leave machines on permanently (to protect the processor as much as
possible from thermal shock: excessive temperature changes cause
micro-cracks to develop in the substrate and the ceramic packaging),
and use suspend-to-disk for moving between locations.  suspend to ram
fails on the macbook pro: i tried it and had to recover it by holding
down the power button until it hard-rebooted.

> I'd also like to point out that learning to live with less than you're
> used to would be really good for your public image, since after all, the
> hardware you'll be selling for quite some time is nowhere near those
> capabilities. ;)

 yeahhhh, this came up a few years ago (particularly when i had to
justify buying the macbook pro).  it's a son-of-a-word but the logic
that works is that i anticipated to "amortise" the high cost f the
laptop over an extended lifetime.  i *was* expecting this machine to
last 5-8 years, but it's got too many problems which are tickling my
"risk analysis" brain-cells.

 so the logic goes: environmental damage / cost is directly
proportional to monetary cost (yes i know, the disposal and
environmental cleanup cost is not included directly... but go with
it...)

 therefore, if a product can be kept in useful service indefinitely,
then *regardless* of the initial high cost, you're not doing as much
environmental damage as you would be by buying say... budget laptops
year after year.

 now, here's the thing: the target market for these eco-conscious
products require *WAY* less computation and memory resources than is
needed for their actual development.  if you asked any CAD designer
making 500mhz MIPS IoT router products to actually *use* those 500mhz
MIPS processors to run the CAD software, they'd look at you like you
had 3 eyes or something.

 no: the PCB CAD software i'm using (which i run in a windows VM)
doesn't even *run* on ARM-based products.  the A20 maxes out at 2GB of
RAM: i've had to increase the x86_64 VM to 2.5 GB memory allocation to
stop it from thrashing and then crashing (swapspace in qemu is a
REALLY bad idea, even under qemu-kvm).

 no i cannot switch over to KiCAD: it's pure shit, it's that simple.
there's a list of features which are entirely missing, and there's a
set of user "expectation" errors that actually DESTROY your work if
you quotes happen not to know EXACTLY what the hell the KiCAD
developers did quotes.

 i've tried talking to them about these errors that they've made which
regularly destroy people's work: they're not interested.  so....
forget it.  five years ago now i tried - i really did - but... no.
absolutely not.  waste of time trying to do complex CAD work.


> As it is now, for example, if someone says that what
> you're selling isn't good enough, they have you as an example to back
> that claim up. But if you manage to reduce your needs and eventually
> meet what EOMA hardware can achieve, then you would have your own
> example to refute that, and you would even have experience that you
> could use to advise people on what sorts of changes to make to the way
> they do things. Food for thought.

 ok.  if i was someone who actually *did* standard office work, then
i'd be able to do that.  if there were people who *also* needed to do
advanced PCB CAD and 3D CAD design work, and there were EOMA-compliant
products (affordable ones as in affordable to *design*) available, yes
i could recommend them.

 you have to bear in mind that the cost of developing the more
powerful (intel-based) PCBs is an absolute king's ransom, julie. the
normal cost quoted by e.g. Foxconn for the development of a new intel
or AMD motherboard is around $USD 40,000 to $USD 50,000.  a laptop is
around $USD 250,000.

 now, along comes me and makes an eco-conscious 3d-printed laptop for
*only* around $USD 60,000 including my time in the Netherlands for 2
years, which my sponsor paid for.  the A20 6-layer PCB costs only
around $1700 for 5 samples to be made up.  that's PEANUTS!!

 ... but it's *only* possible because i've selected such low-end and
low-power processors... processors which are in NO WAY capable of
running the kind of 2D or 3D CAD software which was used to design
them.  it's just too specialist, julie.

 now, that having been said, *if* i was happy to compromise on the
RK3288 and run the MALI proprietary libraries, i *MIGHT* be able to
run openscad successfully on the upcoming EOMA68-RK3288.

 yes, basically, i *really* do want to move to actually developing on
the actual products that i'm developing... but it's going to be
several years yet before that's possible.  i may have to create a new
standard (one with a higher spec and a larger power budget) just to be
able to do it, but the financial development budget *also* needs to be
larger...

 ... yes really all of this has genuinely been carefully considered
and thought through, and a "self-bootstrap" plan put in place.  start
with the lower-to-mid-end, get that up and running and profits in, and
work upwards.

 woo!  big post :)  brain slightly melted now so will take a break.

l.



More information about the arm-netbook mailing list