alaties
Joined 12 years ago
Joined 12 years ago
- python integrated well with lesson plans instructors had
- python integrated well with the software math departments were using (like MATLAB)
- python had a very easy to use interpreter environment that worked well on linux, mac, and windows
- python had (for the era) a massive standard library, making it way easier to consume and process
common data file formats like XML or CSV without having to install any extensions
(installing extensions usually required admin permissions and... very few at school had those for very good reasons)
- exposing c/fortran libraries into python was pretty straightforward to do and was relatively stable compared to alternatives.
Around 2007, the main competitors in the scripting space had a lot of issues: - tcl - somewhat popular for embedding but didn't really have a standalone interpreter that made it easy to interact
with and the syntax didn't really look like C, and really not much of a library to work with
- lua - similar to tcl, popular for embedding but didn't have a popular standalone runtime and interpreter.
syntax was closer to C though. didn't have much of a library to work with
- ruby - had a runtime for experimenting but a less stable API for integrating, plus the language was pretty
different from C. the library was large but had a larger reliance on installing extensions than python at the time.
- perl - both unstable and had a horrible reputation by this point as a standalone language that outside of some obtuse
systems scripting, most people didn't want to touch this with a 12-foot pole. standard library was small and relied a lot on extensions.
- php - similarly unstable (at the time... i think 5.3 had just come out) and had a horrible reputation... also not even
sure it had a runtime that worked outside of an apache/nginx context... exposing a c library to PHP at this time was pretty
straightforward though. relied very heavily on extensions at this point.
- javascript - node.js hadn't come out at this point... so the idea of running javascript outside of a browser window wasn't really a thing yet.
If one were looking to expose CUDA to programmers who didn't want to work in C during this era, I'd argue that python was just the best option at the time.I believe that led to a first-mover advantage that has held over time.
I usually use these with electric stoves since they retain heat pretty well. They take a while to warm up though, so there's both time and energy lost in that warming process.
As soon as linux can run on M1s stably, I think Flex would follow suit as well.
Quagga is usually easier to find examples for since it's modeled after Cisco switch syntax for configuration (same basic syntax of arista switches).
Both of these really suck to learn as a programmer since you're usually coming into these without much of a network engineering background. I remember struggling a lot with both of these config syntaxes until a network engineer took me under his wing and taught me basics, principles, the engineering challenges of packet switching at scale, etc.
It's been a while since I had to deal with this kind of problem though, so please tell me if things are different now.
It's albeit clunkier and less freeform than YAML. And if you ever only plan on using rust the proposed solution here is probably cleaner.
Having portability over multiple languages maintained by large organizations can be useful in some cases though.
Interestingly, I've found that studying other engineering disciplines outside of software engineering to be best. The best explanations and modeling frameworks for concurrency I learned were from network engineering books and a couple hardware design classes I took.
Re: principles around performance analysis and diagnostics, Brendan Gregg is a name you should look up. His book on systems performance is a tremendous resource in both principles and methodology. Even though it's not focused on coding specifically, the same principles apply.
Whether a particular client exposes this or not depends. In the case of this project... looks like upstream github.com/anacrolix/torrent does support encrypted connections. Not clear how to force it to use _only_ encrypted connections though.
I think if you're looking to write a simple HTTP server with some API functions that talk to some RDBMS at less than 100 requests per second, yeah, C++ is pretty hygienic and safe these days.
If you need to play around with memory management strategies like non-default allocators then yeah, the knives are still very sharp and will cut you if you're not careful. This comes up a lot when writing C++ extensions for scripting languages like PHP, Python, etc and you have to interact with objects managed outside of your C++ code.
For a home environment, this would most likely be at the Internet Gateway level, since home networks usually operate at >100Mbps transfer rates between nodes, but to the internet have <=100Mbps.
That all being said, contention at the gateway level like this would be assuming that KCP and TCP are both being used for, say, large file downloads.
If KCP is limited to use for sharing game state data for a game like Counter Strike, then the likelihood that KCP would consume all available bandwidth within a given time window is low, since the data rate is measured in hundreds of Kbps, not Mbps.
For a developer, the skills learned for working in the videogame industry are highly transferable to better paying jobs outside of video games. Skills learned on the job are also equally valuable outside of industry. When a developer is ready to leave the videogame industry, they have skills that are in demand and are able to get positions equal to their experience.
For a 2D animator, keyframing and tweening are not well-payed skills outside of the anime industry. Skills learned on the job are equally not well payed. When an animator is ready to leave the anime industry, they have to start at the entry level of whatever new industry they're entering.
To find that the last few years of your life are deemed meaningless by the job market after working your ass off day and night... That is a real gut punch.
While their cache is large, it's not infinite. If what you're interested in is whether a customer engages with an email multiple times over a few days, you'll likely get the pixel hits to confirm it over that time period. Of course, as you imply, you wouldn't be able to collect how many times an hour a single customer has viewed an email sent to them.
[ my public key: https://keybase.io/alexlaties; my proof: https://keybase.io/alexlaties/sigs/fj0Aj0zJgDPHAntFauL2nH1KCzFhOMCSGh6S6aqlRzY ]