On 12/5/16, Julie Marchant onpon4@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.