I can’t recommend Zelazny highly enough for those moments when one needs to just absolutely step outside of reality for a few hours.
positively beautiful use of Formal Methods, but the story about XP doesn’t ring true: if someone comes to you with Java code that uses notify(), you fire them on the spot and rewrite everything they ever touched. :P
But how fast is the turnover? Was that common knowledge at the time? What else have we yet to realize?
the recommendation was intended as more of a sarcastic commentary on the pitfalls of some Java language features. whilst I appreciate the beauty of a tool to find bugs in such a rough problem domain, I think the wise architect advises to avoid such risks at a whole other level of design.
The knowledge not to use notify() seems kind of arbitrary to me—I’ve certainly never heard of it—and I’m not sure what level of design would be required to have that realization. But I think that’s an important principle in general.
As usual with decentralized systems, the main problem I had was discovering good feeds. One could find stuff, if one knew what one was looking for, but most of the time these feeds only contain the first few lines of a article. And then again, there are other feeds that just post too much, making it impossible to keep up. Not everyone is coming to RSS/Atom which a precomposed list of pages and websites they read.
These are the “social standards”, which I belive are just as important as the technical standards, which should have to be clarified in a post like this one.
I agree. Finding good feeds is difficult indeed, but I believe that good content does spread by word at some point (it may even be word in social media, actually). Feeds that post too much are definitely a problem. Following RSS/Atom feeds of newspapers specifically defeats the purpose. Nobody can manage this hilarious amount of posts, often barely categorised. I don’t have a solution for these at hand; this article suggests that the standard should be improved on this. It might be a good idea to do so.
Excerpt feeds I don’t like, because they are hard to search using the feed reader’s search facilities. I however still prefer an excerpt feed over no feed at all, which is why the article mentions this as a possible compromise. The main reason for excerpt feeds appears to be to draw people into the site owner’s Google Analytics.
As far as unmanageably large&diverse sites go, I seem to recall at The Register you can/could run a search and then get an RSS feed for current and future results of that query. Combined with ways to filter on author etc. that worked a treat.
the main problem I had was discovering good feeds
This is why my killer feature (originally of GOOG Reader and now of NewsBlur) is a friends/sharing system. The value of shared content is deeply rooted in discovery of new feeds.
feeds only contain the first few lines of a article
Modern feed readers generally support making it easy to get full articles / stories without a context switch.
feeds that just post too much, making it impossible to keep up
Powerful filtration is also another place where modern readers have innovated. Would definitely check them out, because these are solved problems.
NewsBlur is pretty great. It’s a hosted service, rather than a local application, but that’s kind of necessary for the whole “sharing” thing.
If you’re an emacs user: elfeed. It has pretty good filtering and each website can be tagged.
I tried that for a while, but eventually I just couldn’t keep up. I never really have the time to read an article when I’m in Emacs, since usually I’m working on something.
I have been quite pleased with NewsBlur. It has the added benefit of being open source, so if it were to disappear (cough, cough, GOOG Reader), it could easily be resurrected.
For the social aspect, of course, might want to poll friends first to see what they are on.
while Flutter is absolutely a step above React, I can’t help but doubt claims that it is “smooth”. I have yet to see a nontrivial Flutter app that even approached the framerate of a well-built native Android app.
I think the value of Flutter will become clear in the next few years. if it ends up as the primary platform for GOOG’s next OS, it will be invaluable.
So far I’ve found it to be pretty much in the ballpark of native android, although oddly it sometimes depends on the specific phone model/OS combo. The flutter team has been very proactive about addressing those issues it seems.
I’ve also found it to be somewhat easier to achieve good framerates with Flutter than Android native, mainly due to the built in async/await support that flutter has. Makes doing things off the render thread fairly straightforward.
You’re right through that whether this is going to work will be obvious probably in a year or so. For me I’d already much prefer to develop in Flutter over native Android or iOS, but I readily admit there are some compromises.
Amusing that this type of person goes unnoticed when many of us tell people what we do. I fall into this category as I was describing in another thread. What she misses is many of us aren’t rich or the work sustainable: many people in lower to middle classes sacrificing money or status to do deep research and development in a field that interests them and/or they find necessary. They might also not like the priorities of commercial or government funding groups.
For instance, I thought figuring out how to make computers that don’t fail or get hacked was a thing we desperately needed. I believed both livelihoods and lives were at stake. That we had access to them was a social good that neither the markets nor FOSS were really serving. It was also an interesting, deep, rabbit hole of a problem crossing many sub-fields of IT, economics, and psychology. That she misses people without money doing it altruistically surprises me more given she wrote the report on FOSS developers working with little to no money or contributions on critical stuff that mattered to them. Same kind of thing I think with different work output.
Still a good write-up that will draw attention to the concept. We might get more people doing it or publishing what they’re doing. I think most of us don’t publish enough. We should accept some of the troubles of that since the ideas get out there more. I also like this quote focusing on the obsessive nature of deep, independent research:
“I understand, then, why researchers flock to the safety of institutions. Imagine studying something that nobody else is studying, for reasons you can’t really articulate, without knowing what the outcome of your work will be. For the truly obsessed person, the need for validation isn’t about ego; it’s about sanity. You want to know there’s some meaning behind the dizzying mental labyrinth that you simultaneously can’t escape and also never want to leave.”
I’ve been kicking around the idea of creating a community for independent researchers. At first I thought it’d be mostly PL oriented but I’m starting to think that broadening the reach is better for both emotional support and cross-pollination of ideas. After all, it’s not like the world is teeming with independent researchers, right?
Would you (and anyone else!) be interested in this?
Such a community could be great.
There are people doing research for their own private interest and are not setting out to discover anything that is not already known (but might do so accidentally). I would put people who invent new programming language sin this category.
There are people doing research to discover stuff that is not already known, or at least nothing seems to have been published anywhere).
My interest is in discovering stuff that is not yet known.
It’s an interesting idea. I probably wouldn’t join one right now given I’m too overloaded. Maybe later on.
However, it reminds me of another idea I had for CompSci where there would be a similar site having researchers at lots of universities (or independent) in forums where they could talk about stuff. Also, the non-paywalled papers would be available on it. Any new people at conferences that seemed bright would be invited. My idea was to break the silos that are hiding good ideas to facilitate cross-pollination among institutions and sub-fields.
What she misses is many of us aren’t rich or the work sustainable: many people in lower to middle classes sacrificing money or status to do deep research and development in a field that interests them and/or they find necessary. They might also not like the priorities of commercial or government funding groups.
thank you for this. as someone who gave up the salaried lifestyle to pursue open source contribution, research, and my local community, it is refreshing to hear. even among very close peers and friends, there is a huge misconception that anyone at the upper end of their technical field is comfortably making ends meet, but in reality we often live a lifestyle that more closely resembles a starving, sleep-deprived graduate research student.
looks like a decent alternative to mcabber, but I really hope this trend of “git clone and run a mystery shell script” ends soon. we have trusted build systems and package distribution systems; we should use them.
Yeah. I was going to build it because I didn’t know if it was in the repos of my distribution (Fedora), however I found that it was.
Most package distribution systems assume root (except for a few such as Nix variants and pkgsrc AFAIK). I don’t see why I should prefer such a distribution especially when the intent is to try it out first.
mcabber. Never heard of it. I can check it out but since I am becoming accustomed to poezio Idk.
I see they look similar hence I will probably stay with poezio.
You mean like these package distribution systems?
Love this! One little gripe though:
Fast internet everywhere - 100Mb/s+ cable, 5GHz Wifi, 4G cellular
Gosh, I wish this were true! Significant parts of Massachusetts still don’t have high-speed internet, and I’m sure other states are the same way. https://www.wired.com/2016/04/why-western-mass-doesnt-have-the-internet/
I’m on 12mb/s (which costs a fortune) for two remoties to share.
It’s fast enough to mostly not get in the way too much - you can schedule updates overnight etc. Occasionally bites pretty hard (eg having to fire up a vps and work via SSH to avoid pulling large files down locally). Video calls / screen sharing is limited (quite blurry for the most part).
Sounds painful, but at least your employer seems understanding. Clever work with the vps/ssh btw :)
honestly, as someone who has worked 100% remote for 7 years, I don’t mind slow or latent connections. in fact, I almost rather like them.
maybe it is because I grew up working in a terminal over dial-up with a 2000ms ping, but I don’t at all mind doing so today at 500ms, especially because bandwidth growth has outpaced codebase size growth. git can move diffs around so easily that working on a local copy is possible if terminal workflows aren’t your thing.
as a side benefit, building and testing apps on garbage networks is a fine way to ensure that they behave just fine for all users, not just those on fancy connections.
<Fuzzy Personal Preferences / Opinions>
Does anyone else feel like Eclipse’s UX was designed by a pack of deranged ferrets?
(With apologies to anyone here if you were the UX person for Eclipse.)
I used it for years, but the whole time it kind of made my brain hurt and never felt like that tool that becomes an extension of your arm like IntelliJ did.
</Fuzzy Personal Preferences / Opinions>
I would go further and say that is harsh towards the poor ferrets. I tried to get into using Eclipse once a year for the better part of a decade (because colleagues “all” used it) and could never get past the visual shock of the UI. the cost of importing or creating a project was understandable, but actual iteration on code felt like trying to pilot a Martian ship designed for something with a different number of limbs while working via a TTY with a 2500ms delay.
argh, if they would just add USB-C charging (even at submaximal speed) I would buy one of these so quickly.
four Android devices in my home, none have done anything out of the ordinary lately. two are running stock ROMs, one an OEM “Play” ROM, and one a custom AOSP build. might only be impacting devices with carrier ROMs?
12:00 wake 12:01 make tea or decide to go out for coffee if anyone in the neighbourhood is about 12:30 catch up on RSS feeds and reddit 13:30 check email and github to see if any clients have new issues / tasks 14:00 (50% chance) code 14:00 (50% chance) listen to backlog of new music that is out 16:30 go for a walk to play PoGo or go to the arcade if weather is foul 18:00 cook dinner for a client or for self / friends 22:00 meet up for drinks with friends or go home and watch something
many common other permutations, though. about twice a week I stage manage a live show (theater, drag, live music) or DJ and run sound and lights for similar shows. about once a month I house sit or dog sit, which precludes most everything else.
Reading this gave me a fun New theory: Maybe the myth of the 10x programmer persists because companies that keep around jerks slowly lose all their programmers with better than average skill and are only left with those that can’t get jobs anywhere else very easily. Then the jerks really are 10x better than the new average at the company.
10x this. in my experience, many of the folks cranking out tons of code and deliverables have the worst track record for nonfunctional requirements like usability, scalability, maintainability, and documentation. as a result, they quickly scare off everyone they frustrate and their cumulative touch surface on the codebase only reënforces the perception of their productivity.
This looks like a web take on Smalltalk-based tool I saw Alan Kay doing. Everything is rich content, can be mixed together, and live edited. Eve project is another recent one that comes to mind. What prior tools did you see that influenced your work?
Lively.next / Caffeine / Morphic.js and many more … complete list is here: http://fizzygum.org/docs/similar-systems/
What about OpenDoc? The composition of documents parts from different applications seems very much in line with it.
author here.
yes. Well, good UI systems support arbitrary composition of components. Java Swing and Qt for example, but many others too. I think technically we knew how to do UI composition since the beginning really.
I think the winning “mainstream” desktop toolkits were notably not giving good composition, for many reasons 1) it was cheaper and more performant to make special cases of, say, window frames, and desktop backrounds and desktop clocks, and icons and everything else 2) persisting composite objects is way more complex than just banging out files with a specific format for a specific type of content
there are also economic-ecosystem and security reasons why allowing arbitrary composition is not a walk in the park either
This is why I think we are still talking about live documents today: they are a pain to persist and read back (unless you have an image system, which has other challenges), you can’t easily sell sw. packages around this concept, and promiscuity of objects can be a security nightmare. Performance is not a problem anymore (it was in the beginnings though)
hence the mainstream desktop interfaces had to get that composition back via other (more rigid) mechanisms such as OLE.
so I wouldn’t say OLE/OpenDoc were an inspiration per se, they are strange contraptions of some pure idea of composition that has been there for a long time…
[edit] That said, some people really hit it out of the park with real good composition, typically Self/morphic and anything that comes out of Alan Kay’s VPRI lab. There we’re talking about arbitrary number of input devices, infinite-size desktops, capability to change any glyph of any font at will… changing glyphs in fonts I think it’s still too expensive to do today normally for example
Exactly my thought. It’s so obviously inspired by that line of thinking. I just hope that the ideas take off at some point. More than happy for it to be fizzygum, though, I’m not sure it will be…
They have a page highlighting that relationship too, “Fizzygum for Lispers/Smalltalkers”.
while I broadly feel that gradle is the superior choice and would never go back, I do have to agree that the backwards incompatible changes made to the engine can be frustrating. the general bugginess of releases is also astounding for a project with such widely promoted usage. just last week I encountered some sort of edge case where every (nominally 15s) build I ran took about 5s longer, up until it was well over a minute. upgraded to the latest release and it went away. pretty rough for a project so intensely pushed by GOOG.
Warning for metered mobile users: the linked page is huge with data, if exceptionally interesting.