HNHacker News
TopNewBestAskShowJobs

ttsiodras

1,693 karma · joined March 16, 2010

Software Engineering degree in 1995, PhD in 1999. From 2002 to 2012, part-owner of a startup (Semantix), as the company's Senior Software Engineer and Technical Lead. Since January 2016, working for the European Space Agency.

web: https://www.thanassis.space

CV: https://www.thanassis.space/cv.pdf

submissionscomments
ttsiodras··on Compiling my own SPARC CPU inside a cheap FPGA
OP here - just a note, that "tverbeure" is the Tom I mention in my blog post.

None of this would have been possible without you, Tom! Thanks for everything.

ttsiodras··on Why I hate the weekends (2017)
> ...if I died alone.

An alternate viewpoint on this - perhaps it will help you:

https://www.youtube.com/watch?v=R5_m_3eHuQo&t=7723s

Regardless of whether you agree with Big Clive on this, his channel is amazing - IMHO at least :-)

ttsiodras··on How Many Computers Are in Your Computer?
Actually, no - he meant the size in bytes. For example, my Digital Ocean droplet reports...

    # egrep '^(cache |model )'  /proc/cpuinfo
    model name      : Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz
    cache size      : 15360 KB
To understand the context of the article's claim, let me just add that we used to make fun of Emacs people by saying the name stood for "Eight Megabytes And Constantly Swapping". That was a time when a machine with 8MB was a big one. You can see above that machines nowadays have caches larger than that!

And to compensate, we've now invented editors based on Javascript :-)

ttsiodras··on Brand New ODroid Single Board Computer
Sure, no pb.
ttsiodras··on Brand New ODroid Single Board Computer
My personal experience:

I started looking into this category of HW - SBCs, that is - 4 years ago. Initially, it was mostly curiosity ; to see whether I could apply my UNIX knowledge on these tiny machines, and whether I could coax them into doing actually useful things.

The result: I am addicted :-)

Not in the sense of idiotic consumerism - no, I only bought two of them (a Raspberry PI 2 and an Orange PI Zero). But in the sense of realizing that they can be put to many, many uses - and perform this work utilizing only a fraction of the energy cost of even the best of x86 designs.

I wrote a detailed blog post [1] about what I did with my 11 Euro (not a typo) Orange PI Zero. After that, I set it up as my NFS and Borgbackup server (i.e. I attached my two external portable USB drives on it - and it has multiple USB root-level hubs, so it gives me decent speed on them). A complete backup of my Arch Linux laptop (250GB SSD, MB Air from 2012) takes around 6 minutes to complete over Wi-Fi - and due to the magic of Borgbackup's deduplication, I have about 150 such complete "images" in a bit over 300GB total storage on the two drives. A periodic "scrub" run once a week makes sure there's no bit-rot - and if there is, the btrfs mirror over the two drives corrects it.

As for my Raspberry PI2...

- setup as an `sslh` gateway; this means that I can use `sshuttle` from the outside world to create on-the-spot SSH-based "VPN"s and access places that are blocked (during travels, work, etc). It basically "transports" my laptop/work computer into my home LAN.

- At the same time it is serving up my collected notes over the years on a Let's Encrypt-ed HTTPS private site via NGINX.

- FreeDNS provides a nice, easily accessible name for both these services.

- An attached RPI camera is used to take a picture every 5 seconds - and if the picture is sufficiently different from the previous one, it encrypts it and uploads it to my Digital Ocean droplet. Whatever happens to my apartment while I'm gone, I get a record of it on a remote server that only I can decode (the remote server doesn't have the GPG key necessary to do so, I have those on me).

- The SPI functionality of the PI is also used in my various micro-controller experiments - e.g. to "flash" my ATMEGA328p and have it do silly things [2].

- In general, I am tinkering with electronics - and there's a lot of fun in doing this with SBCs.

- At some point, I had it run exim4 as well; and got my mail-tester.com score up to 10/10.

The PI2 was 35Euros - the Orange PI zero 11 Euros.

The fun I've had building the stuff above? Learning skills? Connecting to them over serial ports and reliving my Uni-days?

Priceless :-)

[1] https://www.thanassis.space/thebeast.html#thebeast

[2] https://www.youtube.com/watch?v=nsqmnkfZtSw

ttsiodras··on An in-depth security review of the Intel Management Engine
On a 5-year old MBAir:

    # modprobe mei_me
    # modprobe mei_txe
    # modprobe mei

    # lsmod | grep mei
    mei_me                 36864  0
    mei_txe                20480  0
    mei                    86016  2 mei_me,mei_txe

    # python2  ./intel_sa00086.py 
    INTEL-SA-00086 Detection Tool
    Copyright(C) 2017, Intel Corporation, All rights reserved
    
    Application Version: 1.0.0.128
    Scan date: 2017-11-23 20:37:48 GMT
    
    *** Host Computer Information ***
    Name: mbair
    Manufacturer: Apple Inc.
    Model: MacBookAir5,2
    Processor Name: Intel(R) Core(TM) i5-3427U CPU @ 1.80GHz
    
    *** Intel(R) ME Information ***
    Engine: Intel(R) Management Engine
    Version: 8.0.4.1441
    SVN: 0
    
    *** Risk Assessment ***
    Based on the analysis performed by this tool: This system is not vulnerable.
    
"This system is not vulnerable". Meh - one can never be sure with ME running silently in the background...

When the HW dies, I'll most probably go for a Chromebook with Coreboot - and install Debian on it. I've had it - enough with this idiocy from Intel and AMD ; if they can't see how these "signed black boxes" are harming them, they deserve what's coming (open, and powerful enough architectures - i.MX8, RISC-V, etc).

ttsiodras··on Emacs org-mode examples and cookbook
After watching this video, I spent a few hours reproducing the core functionality of what Howard demonstrated (with an .org file of my own)...

...and then went further down the rabbit hole. I installed org-reveal and used it to create a very nice presentation out of my .org file - with syntax-highlighted code seemlessly merging with screenshots.

Incredible. Thanks for pointing me to this - and thank you, Howard!

ttsiodras··on CPU emulator in web browser (Arm/Mips/X86/Sparc)
> where you can find SPARC systems

In case by "find" you mean "where are SPARCs still being used"... It is something of a niche, but all our missions in the European Space Agency use LEON processors; a design based on SPARC [1].

And since you mentioned OSes, usually it is either bare-metal stuff or RTEMS [2].

[1] https://en.wikipedia.org/wiki/LEON [2] https://www.rtems.org/

ttsiodras··on Updating my plane’s very old GPS data in a very modern way
Amazing work, Dmitry!

Your linux-on-an-AVR [1] is still the best hack ever, though :-)

[1] http://dmitry.gr/index.php?r=05.Projects&proj=07.%20Linux%20...

ttsiodras··on Pieter Hintjens (zeromq) diagnosed with incurable cancer
Just wanted to thank you Pieter - 0mq is an amazing piece of engineering (that BTW, we are merging in our TASTE work at my section of the European Space Agency). I didn't have the pleasure of meeting you face to face - but I have seen your work, and you are leaving behind a magnificent creation... you definitely made a mark on our world. Thank you!
ttsiodras··on The Magic CmdLine and how I got it back
:-)

Across the road (on Reddit/programming), a commenter already described me pretty well:

"Everything about your (rather interesting) story... reaffirms everything I know about Linux sysadmins - if you encounter a problem, your go-to solution is to write a script ... Honestly, you guys would script a sandwich if you could :P"

The only thing wrong in that sentence, is that I am not a sysadmin (hence the knowledge of the Dark Arts - of GDB :-)

ttsiodras··on The Magic CmdLine and how I got it back
God, no :-)

Some people here are already rather mean in their comments - imagine what would happen if I revealed The Magic CmdLine (TM)...

No, that privilege is reserved for the Inner Circle :-)

But I'll give you a teaser... It involved a lot of ImageMagick and "pdfimages" and "zxing" and "tesseract" and "pdfjoin" invocations... and the uploaded files were PDFs with scanned barcoded pages.

ttsiodras··on The Magic CmdLine and how I got it back
I've used them too - just "info gdb" then search (/) for "Breakpoint Command".
ttsiodras··on The Magic CmdLine and how I got it back
Amazing - you must blog about it!

I only wish that in a site called 'Hacker News', it would be technical comments like yours at the top of this discussion. Oh well...

ttsiodras··on The Magic CmdLine and how I got it back
Exactly.
ttsiodras··on The Magic CmdLine and how I got it back
It's considered 100% normal in everyday speech here in Greece, to use the name of the disease as an excuse when you forget something. I had absolutely no intent to offend anyone, and my heart goes out to the people fighting this disease - and the ones taking care of them.

I guess it's yet another cultural difference I was not aware of...

ttsiodras··on The Magic CmdLine and how I got it back
My pleasure :-)
ttsiodras··on The Magic CmdLine and how I got it back
Try doing the Ctrl-z/fg sequence in this: "while true ; do sleep 1 ; done". Under Linux at least, you'll see that after 'fg', the loop ends :-(

Apparently C-z followed by fg is not bulletproof...

ttsiodras··on The Magic CmdLine and how I got it back
I do, indeed - and in Git repos, usually :-)

How that one got by me is a mystery - let's chalk it up to stress and pretend it never happened :-)

ttsiodras··on The Magic CmdLine and how I got it back
Awesome, indeed.

Other classics: dumping the memory of an active process (check my GitHub utils repo, I have it there) and redirecting the standard output AFTER you've started a process.

ttsiodras··on The Magic CmdLine and how I got it back
:-)
ttsiodras··on The Magic CmdLine and how I got it back
I didn't want to send any signal - because I could not remember what I had done, and was afraid for sideeffects (I did remember that the logic had to do with database actions).

I wanted to see the command without "messing" with the execution in any way - after all, it was running fine for 6 months, why interrupt it (and face potential effort in fixing messed up state) if I could see the command "from the outside"?

And that I did :-)

ttsiodras··on The Magic CmdLine and how I got it back
Oh come on :-)

You're telling me that you've never - under tremendous pressure - hacked things that quickly "handle" something - and then forgotten about them till much later?

Jeez, tough crowd :-)

ttsiodras··on The Magic CmdLine and how I got it back
Probably - will try it out next week and adjust my GitHub script if it works.
ttsiodras··on The Magic CmdLine and how I got it back
Since the shell where I wrote the command is still executing, the .bash_history has no mention of it (bash saves the commands in the history file when it exits). As for the up arrow, it would mean interrupting the commands - and I didn't want to :-)
ttsiodras··on The Magic CmdLine and how I got it back
Indeed! No idea what went through my brain when I wrote that :-)
ttsiodras··on The Magic CmdLine and how I got it back
Good question. Well, when you have forgotten everything about a 10 lines long command line you wrote 6 months ago, you don't know what side effects a signal may cause... You don't have the heart to signal anything, except surrender. Luckily, I found a workaround :-)
ttsiodras··on The Magic CmdLine and how I got it back
My pleasure! It was a lot of fun hunting all this down, I just had to share it :-)
ttsiodras··on Linux gets frozen, what do you do?
Indeed!

In particular, if you have HD-activity LEDs, watch and wait until they stop blinking - after the 's' (sync) key.

ttsiodras··on Building a tiny ARM-based server
Unless I am mistaken, though, there's no SATA connector on the Pi - is there?
← PreviousPage 2 of 3Next →