The SIGGRAPH talk linked towards the end of the article is absolutely fascinating. The demo at 16:30 shows just how much more vivid the simulated pigments are compared to regular RGB color mixing.
I like small libraries which are just a single file. That's why I am maintaining a fork of the original typeahead library from bootstrap. It is less than 400 lines of javascript:
May I recommend Berkeley Mono (https://berkeleygraphics.com/typefaces/berkeley-mono/). It's a paid font but well worth it, given you're spending hours every day looking at it. I have found it to be excellent for the shell and editors.
I also worked for 10 years at a small movie theater in Italy, and very much share what you described. The noises, the lights, the repetitive and almost ritual actions.
A very nice illustration the projectionist's life is told in the excellent movie "Cinema Paradiso" [1,2].
I've been working on this for nearly 5 years, and despite not being very popular yet, the technology seems pretty sticky for those that have adopted it.
But there's gaps in the standards, and we need way more tooling for more ecosystems. But when it works, it works great.
> Too often, web tiers are full of boilerplate that does nothing except convert a result set into JSON.
Yeah. This is the problem: we've abandoned the hypermedia architecture of the web for a dumb-data, RPC model. I suppose if you are going to go that direction and things are simple enough, you can jam it in the DB and get smoking perf.
But as things get more complicated, where does the business logic live? Maybe in the database as stored procedures? It's less crazy than it sounds.
An alternative is to cut out the other middle man: JSON, ditch heavy front-end javascript and return HTML instead, going back to the hypermedia approach. The big problem with that is a step back in UX functionality, but there are tools[1][2][3] for addressing that.
Hehe, YouTube tells me that I'd hit ‘thumbs up’ on that video once upon a time. Probably put it on a playlist, too. However, that link is now obsolete — behold the more official version:
N.B. apart from being more official by virtue of being on the channel of John Broomhall himself, which has accumulated a breathtaking 52 subscribers so far (correction: 53 as of now), the audio quality is also better.
I did something similar -- I logged the activities on the world's largest supercomputer (that I have access to) every hour throughout the year 2020.
I logged information such as:
-- Who is logged in (the output of w command)
-- What processes are running and the overall system load (top and ps aux)
-- What is the state of memory and disk
-- What is the state of job scheduler
I have the data now and very excited about processing it in the coming weeks. I plan to anonymize and publish the data and the process I employed to collect it.
If you're interested in adding SVGs that look like truthful screenshots, I wrote a Chrome/Firefox extension that can take screenshots of webpages in SVG: https://github.com/felixfbecker/svg-screenshots
It can't screen record an animation though, but it could be a baseline for hand-animating the elements. Accepting PRs for screen recording functionality :D
As someone with extremely deep contempt for Silicon Valley, Big Tech monopolies, and modern social media culture, this brought a tear to my eye.It was so easy to make new friends online once upon a time.
The fascist uniformity of modern social platforms has left a generation creatively stifled and alienated from each other. I miss the ugly comet cursors, the crummy MIDI tunes, the bad HTML, the encouragement to make new friends, and the ability to reach people without paying thousands in garbage ads.
I miss dating online without bribing some shitty algorithm. It used to be that I could click "browse," find a cute girl's profile, say hi, and set up a date within a few days. Modern social media is cold and hostile. Stay in your friend group. Avoid strangers: They're all scary and bad. Don't trust anyone (except for us, the tech company. Give us all your data for free.)
The internet used to be bohemian, weird, creative, tacky, and friendly. It was my favorite place to be. Where did that joy go? What have we become in the last 8 years?
My personal favourite is Uni's Kurutoga (クルトガ) mechanical pencil that automatically turns the pencil lead a fraction every time you lift it. This means that the tip is always neatly rounded and never slanted.
If you're interested in recent innovations on this front: (rather than just retreading the same Web as before)
* Beaker (https://beakerbrowser.com) the peer-to-peer browser just released their beta release - and it has some exciting features. Particularly the built-in editor, meaning you can edit, serve and read your pages all from the browser. (Blogging in Beaker is as simple as visiting: hyper://a8e9bd0f4df60ed5246a1b1f53d51a1feaeb1315266f769ac218436f12fda830/. And the posts are stored locally.)
* https://special.fish/ This completely low-tech social network has taken off. The innovation here is that it's all just focused on profile pages - not feeds of random posts.
* There's a growing subculture of public Tiddlywikis (philosopher.life, sphygm.us, etc) - rather than focusing on protocols and APIs, they are much more focused on how to organize and style personal hypertext.
* As for RSS, well, as HN custom insists, I am also commenting to plug my own fraidyc.at. See, you knew it was here.
* There's also a forum on tiny personal link directories that's been forming at https://forum.indieseek.xyz. The idea here is to use Yahoo! or DMOZ style link directories at a smaller scale, to catalog corners of the Web. (Note that this whole comment itself is a kind of small 'directory'. Rather than an algorithm stepping in to show you 'related' stuff, I have.)
* Flowsheets V2: a prototype programming environment where you see real data as you program instead of imagining it in your head:
https://www.youtube.com/watch?v=y1Ca5czOY7Q
* Marilyn Maloney: an interactive explanation of a program designed so that even children could easily understand how it works:
http://glench.com/MarilynMaloney/
A lambda is just a function without a name. (This feature tends to come with special syntax, although it doesn't have to.)
A nested function is a function defined inside another function which can access the variables of the enclosing function. (A nested function can be a lambda, but it doesn't have to be. Some languages have named nested functions. A lambda doesn't have to be a nested function; it doesn't have to pull in any variables from an outer scope.)
A closure is a nested function which can outlive the outer function, keeping its data alive. (A closure can be named, the usual case in Python and Javascript, or anonymous. So a closure need not be a lambda.)
Closures are easy to implement in garbage collected languages, but hard in explicitly allocated ones, because extending the lifetime of the imported data gets complicated.
So the options are:
- Lambda without any external data access -- typical use, comparison function for a sort.
- Lambda with external data access, but not outliving its enclosing function - typical use, iteration expression
- Named function with no external data access. Typical use, a local function in languages that don't do local functions well, such as C.
- Named function with external data access, not outliving its enclosing function. Typical use, internal function within a function to avoid passing extra parameters.
- Named function with external data access, outliving its enclosing function. A true closure, but not a lambda. Typical use, saving state for a callback in Javascript by passing the function to something that will save it and invoke it later. An object, really. This was how LISP did objects.
- Lambda function with external data access, outliving its enclosing function. A true closure. Same uses as above, but in different languages.
Most languages offer some subset of these six options.
It seems to me that this website could be a completely static site that is automatically regenerated once a day with a new graph. Instead you seem to be succumbing to the exact same problem you are highlighting. This a good example of how the culture of software engineering is moving in the wrong direction. We need to all make a stand and say no more to this culture.
Of course, that’s made difficult by the fact it’s against our own collective interest. At this rate even the worst developers will be able to be employed managing some gargantuan and wholly unnecessary software stock.
Not to knock on you to much, but this culture of bloat reminds about the classic “Evolution of a Programmer” joke:
TODO is vital for my development process. Sure, maybe there's better programmers who don't use or need TODO, but for me, it's a critical method for the following reasons.
1. It prevents my "flow" from being sidetracked by micro-optimizations that are probably too early to consider necessary anyway.
2. It helps me to retain my short term memory on the code I am working on. If I branched out at each TODO to implement some improvement or method, my brain typically needs to context switch to focus on the fine details of the subject. By the time this is done, and I switch back, I have forgotten key aspects of what I was working on and it slows me down again (i.e. local names, structs, etc.)
3. It allows me to re-approach something with a completely different mind set (given that I come back to it after a signicant amount of times). Half the time I realise that what I wrote was indeed "good enough" and no further time should be committed to it unless a reason exists to do so.
4. It gives opportunity for other developers to see, think, comment and contribute on the subject. I find that typically if I TODO an area, it's good for a second set of eye balls to see it. There's far smarter people than me around, and there's a good chance one of them will find it and propose a better solution.
5. On the rare "quiet" day, I can grep for TODO and just work through them.
Obviously these points are only valid if the TODO labels are being added in situations that will benefit from the above.
Thanks for sharing. Currently I'm looking for an elegant language for querying Json structures. In addition to JsonPath, JMESPath, Glush & GROQ is definitely worth a try
I think we need to refer to the Unix philosophy, each program does one thing well. Make an English to English translation tool. I once had an English student use the word "aubergine". I had never heard the word aubergine before so I corrected him, "no, that's an eggplant." A North-American-English vs European-English war broke out. Lorries crashed into 18-wheelers, rubbish bins and trash cans caught on fire, friends and mates turned against each other. When the dust settled those who remained wanted to pay their respects to the fallen; some people lined up, other people queued.
If you really want to try I can give you a recipe:
1. 180g dried soybean soaked in water overnight
2. drain the water then put in 1100ml water in a food processor
3. grinding for 1 min
4. filter the liquid
5. measure the liquid weight or volume for weight of glucono delta lactone, 3g per 1000g or 1000ml, dissolve it in water as little as possible, and then add to a large bowl big enough to contain the liquid
6. boil the liquid, after boiling turn to mid heat for 5min. Then filter. now you have soy milk
7. remove from heat, stir to dissipate heat
8. slowing pouring to the bowl added with glucono delta lactone, pouring toward the wall not the bottom of the bowl
9. cover the bowl with paper towel or cheese cloth, then the lid, waiting for 30 mins
GStreamer uses the argument "!" as a pseudo-"|" so you can build multimedia pipelines without actually using Unix pipelines, or repeating the gst-launch command:
Most of those are on the Internet Archive.[1] Often in better versions. The Private Snafu cartoons are from some commercial DVD with watermarks. The originals are online from the National Archives, and they're better.
A useful project would be to take the MPEG 2 versions from the Internet Archive, apply modern cleanup, scratch removal, frame alignment, and exposure equalization techniques, and put those up. The MPEG 2 versions have no frame to frame compression, which is good for archival purposes. Cleanup technology has improved since most of those were scanned.