If you look closely, a .epub is just a zip archive of a bunch of very simple html pages. So extracting the zip and viewing the HTML with a browser works fine.
If you look closely, a .epub is just a zip archive of a bunch of very simple html pages. So extracting the zip and viewing the HTML with a browser works fine.
The idea is to develop keen instincts so your code comes out nice on the first try, without needing rewrites. To do that, you have to start out by rewriting a lot. You are after a fluency of style, which is somewhat independent from deep thinking. Compare being a profound musical composer who sweats blood over every note, with being a competent (not necessarily great) improviser who, given any request, can bang out something listenable immediately without too many bum notes, without thinking too hard.
Ideally you want both. Computer science education gives you the profound compositional knowledge. Improvisation needs lots and lots of practice at the basics. So code a lot. It makes everything else easier.
Write code, lots and lots of it. Make it really good, clean code. Rewrite it multiple times if that’s what it takes to get it clean. Developing those instincts puts you way ahead of just reading about another damn framework.
Most of the stuff you’ve mentioned aren’t that great a match for Rust. Write something in Rust that you would otherwise write in C or C++. It would help if you said what your interests are.
Ermph, this is C specific and shouldn’t be extrapolated to other languages. Since you’re writing in C you are trying to show your chops as a low level programmer. Therefore, showing that you know how to implement a hash table is worthwhile, so you should do it yourself. You could add a comment to the code saying something to that effect. Again that’s just for C. Implementing your own hash table in Python instead of using the built-in one would be crazy. Implementing one in C++ instead of using the stdlib or some other one would have to be carefully justified.
I do have to wonder what you are up to in this day and age, pursuing what sounds like junior level C projects. I would say that whole approach is something of a dead end. You’re more employable with higher level languages than with C these days, I would have to say. Or if you write something in Python that incorporates some C functions that you write using Python’s C API, that shows you can operate at multiple levels at the same time, which is even better.
I think it is best to have some understanding of how an OS works, and how Python works, before asking whether you can write an OS in Python.
Python is basically a scripting wrapper around a bunch of C functions (“builtins”) and there are means of installing additional C functions if you need them. Without any of the builtins, you really can’t do much of anything. For example, “print(2+2)” computes the string “4” (by adding 2+2 and converting the result to decimal), then calls a builtin to actually print the string on the console.
For an OS, you will need quite a few more C functions, mostly to control timers and task switching, the main functions of an OS. Given enough C functions though, in principle you can write an OS.
It’s not on trillions of devices, just billions. But e.g. a typical android phone has 1000s of sqlite db’s for different purposes.
Check this out, it is amazing: https://github.com/nineties/planckforth
You start with a working Forth and then bootstrap, sort of like writing a C compiler in C. There is an additional trick that Forth calls metacompilation (note, that term has a different meaning outside of the Forth world). See: https://www.bradrodriguez.com/papers/moving4.htm
I don’t bother with a proxy host or with LetsEncrypt, though I guess you could use LetsEncrypt perfectly well. Back when I was doing this, LetsEncrypt didn’t exist and you had to actually pay for public certificates, so using locally generated free ones saved money. It also had a minor(?) security advantage in that if the private server key somehow leaked, it wouldn’t let people impersonate our internet domain.
For the private CA I simply used the crappy CA.pl script that comes with OpenSSL or did at the time. There are much better ways to do it, especially at any kind of scale, but CA.pl sufficed dealing with a few development machines.
Proxy host out on the public internet? Usually I just use a local private CA for this, and install the CA root in my browser.
Traditionally Forth is implemented completely in Forth. Jonesforth is kind of non-traditional in that sense, because it is in assembler.
Doing that in Java sort of misses the point? I guess the enjoyment still counts if course.
E5 because it supportsECC memory.
Writing a book when you don’t know the subject matter doesn’t sound likely to result in a good book. Even more so for a language like Rust, which (short of Haskell) is the closest thing to a mainstream language that is informed by a lot of pointy headed PL (programming language) theory. A book about programming in Rust doesn’t have to go into the theory per se, but the author should be familiar with it, just like someone who writes an introductory calculus or statistics text really needs a much deeper mathematical background than the book itself will convey.
If you want a Rust-related hobby, first of all, why not do Advent of Code in Rust, or otherwise make a study of Rust? And then if you’re interested in PL theory, that’s another area to study. Harper’s book PFPL is a good place to start: https://www.cs.cmu.edu/~rwh/pfpl/
SSDs for backup? Being rich must be nice. More srsly if you have the upstream pipe for it, remote backups are preferable in case something happens at home.
Old but classic.
A hosted services ad on c/selfhosted, maybe not the right thing, but I’ll defer to others.
just want some old junker (6/7/8th gen Intel)
You probably have to go back further than that for a 3.5" sff pc. Look on woot though, they have such refurbs all the time. Or scrounge a mini tower.
Very reliable hard drives don’t exist whatever the price. You need RAID. But, look at backblaze drive reliability statistics to identify some obvious problem drives to avoid. It would help if you said what you are trying to do with the drives, what capacity you want, etc.