On compiling 34 year old C code - <AUTHOR> http://drj11.wordpress.com/2013/09/01/on-compiling-34-year-old-c-code/ <comment><USER2> That's so cool! Actually, it also highlights one of the things that concerns me about the proliferation of build tools, frameworks, and transpilers etc in the web sphere at the moment. The other day I was able to run and start modifying a "DHTML" side-scrolling shooter game I wrote in 2004 by double clicking the index.html file.

To run games I'm making now, I have to have the correct versions of Grunt, and all the related dependencies - working CoffeeScript converters etc. In 2024 it's going to be tough to set up a working environment to modify and run 10-year-old code: certainly a lot harder than just double-clicking an html file.

<comment><USER3> I wonder how many of the sites/web apps built with the latest crop of stacks and tool chains will be around in 10 years? I suspect these sites will either "disappear" (that is, no longer be maintained), or will be constantly updated to use the latest, greatest stack/tool chain.

The only situation where I could see this being problematic would be enterprise-type applications written on something like the Java stack or the .NET stack, where you do get tied, at least somewhat, to whatever version of the framework you are using at that time.

<comment><USER4> I wonder why people keep picking on .net/java with this kinds of assumptions. Isn't GitHub running Rails 2.3 or something? Why just 'attack' the .net/java stacks?

<comment><USER5> As far as I know, Github also uses their own Ruby fork and have build an asset pipeline on top of their current system.

I don't think that the reason why they don't upgrade is because it's too hard. It's just that their current system works fine as is.

On the other hand, I have upgraded dozens of Rails apps from 2.3 to 3.0, from 3.0 to 3.1 and 3.2 to 4.0. Sometimes it was extremely easy, sometimes it required a little bit more effort, but I would not consider it as being difficult or painful.

<comment><USER6> My first Rails project was 2.3 -> 3.2 (with intermediary steps if I recall). It took me a couple weeks, and I ascribed most of that to how unfamiliar I was with the stack at the time. Since then, I've become rather candid in my opinion that Rails upgrades are rather trivial. Do you know of any specific red flags that would indicate a more painful upgrade process?

<comment><USER5> Well, the most difficult project I had to upgrade was a 2.3 project with a custom Asset Pipeline, with some additional features that Sprockets do not support.

Sometimes the upgrading problems arise due to gem dependencies, as a lot of gems set hard constraints on other gems' versions so it can be a little tricky to update everything at once.

All the other upgrades where rather easy, but of course it depends heavily on the size of the project, the test coverage or the underlying server infrastructure.

</comment></comment></comment></comment></comment></comment><comment><USER7> > the storage pointed to by the argument will be modified, and the string > literal that is passed is not guaranteed to be placed in a modifiable data > region. I'm surprised this worked in Version 7 Unix.

PDP-11 had only 8 8kB "pages" (segments really) available for a program. Pages could be marked read-only, but making one read-only was a huge expense. A common trick was to smash code and data that were only used when initialising the program.

<comment><USER8> Wouldn't the rodata and text segments be shared across instances of the same program though?

That would seem like a straightforward optimisation, but then the code presented in the article would break subtly if you were to invoke ed twice at the same time since both instances would try to modify and use the /tmp/eXXXXX string at the same time.

<comment><USER9> Given that Unix was primarily a multiuser system in those days, that would be a rarely useful optimisation. Especially if you expected most people to run ed at all times, since it was, after all, the standard editor.

<comment><USER8> Quite the opposite actually, this optimisation is only useful if you intend to run several instances of the same program. Otherwise each instance has its own copy of the code and rodata, therefore wasting memory.

It's one of the advantages of using shared libraries as well, several programs can share the same code and read-only data, saving in storage and memory space.

</comment></comment></comment></comment><comment><USER10> In a somewhat similar vien, a while back I was putting some code I wrote in University (1995-2001) on GitHub. One of the C projects just needed 1 linker flag changed. The Prolog didn't need any changes. I was pleasantly surprised.

I was also trying to put a OS X App from 2009 on GitHub, but gave up before I could get it to compile with the latest X Code. Wasn't worth the effort.

</comment><comment><USER11>
      In the old days it was possible to access members of
      structs inside unions without having to name the
      intermediate struct. For example the code in the sed
      implementation uses rep->ad1 instead of rep->reptr1.ad1.
      That's no longer possible (I'm pretty sure this shortcut
      was already out of fashion by the time K&R was published
      in 1978, but I don't have a copy to hand).

Wrong; it didn't just work in the "old days". The functionality described here is actually known as "anonymous struct" and is now a part of C11; but unfortunately not a part of C++11:

[http://stackoverflow.com/questions/8622459/why- does-c11-not-...](http://stackoverflow.com/questions/8622459/why-does-c11-not- support-anonymous-structs-while-c11-does)

gcc and other compilers have also supported this functionality for a long time, although as a non-standard extension. This technique is also still widely used in systems-level programming and is hardly "ghastly" although I'll readily admit that there are better ways to accomplish what this particular case was doing.

<comment><USER12> This is not an anonymous structure in the modern sense (if you look at the code they are in fact named), it's a side-effect of pre-ANSI C namespace rules. Any struct field could be used to calculate an offset from any other object. From [http://cm.bell-labs.com/who/dmr/chist.html](http://cm.bell- labs.com/who/dmr/chist.html) :

> Beguiled by the example of PL/I, early C did not tie structure pointers > firmly to the structures they pointed to, and permitted programmers to write > pointer->member almost without regard to the type of pointer; such an > expression was taken uncritically as a reference to a region of memory > designated by the pointer, while the member name specified only an offset > and a type.

<comment><USER11> I was responding to the author's general claim that "In the old days it was possible to access members of structs inside unions without having to name the intermediate struct.".

However, I stand corrected in two regards. The first is that as of gcc 4.6+, the sed example the author provided is no longer allowed even if the structs are unnamed. (I was testing with gcc 3.4.) I verified that gcc 3.4 would happily allow me to use the provided sed example as long as I removed the names from the structs.

Second, the C11 standard specifically does not allow for the sed example provided because the structs in the unions contain duplicate members.

I had seen reasoning that hinted at what you're saying in one of the comments posted on the author's blog entry.

Regardless, thanks for encouraging me to dig deeper.

</comment></comment></comment><comment><USER13> Great hack!

 _Amusingly, version 7 Unix didn 't even have a header file that declared malloc()._

I noticed something similar with the old f2c code. It is about a decade older than Version 7, and came with its own malloc implementation. [1] Apparently some Unix still didn't provide a good implementation.

[1] [http://www.netlib.org/f2c/src/malloc.c](http://www.netlib.org/f2c/src/malloc.c)

</comment><comment><USER14> C is actually quite impressive (or maybe gcc?) in this regard. A few years ago I dug up a 15 yr old C implementation of some image based search techniques by Daniel Huttenlocher, I was able to compile and run it with minimal effort:

[http://pugoob.blogspot.com/2008/01/pugoob-image-search- tool....](http://pugoob.blogspot.com/2008/01/pugoob-image-search-tool.html)

</comment><comment><USER15> A while back, I did something similar to v6-ed: [https://github.com/geocar/ed-v6](https://github.com/geocar/ed-v6)

</comment><comment><USER16> I've learned something about the old days of "C" from the first commenter - e.g. the "struct { int integ; } - and then any pointer that does ptr->integ (from anything) would access it as an integer".

<comment><USER17> I similar trick: eliminate need for '.' by declaring things inside an array of size 1: struct { int n; } z[1]; Now you can say z->n. This is useful because structs are usually passed by reference. Why should code accessing members of a local variable struct look any different than code dealing with a pass-by- reference struct?

<comment><USER18> Cute! However, if you really want complete equivalence between locals and struct* parameters, you might prefer something like "struct { int n; } _z, * const z = &_z;". There's a slight difference of types when using your array version, so things like sizeof(z) and &z don't mean the same thing as when used on struct* parameter.

</comment></comment></comment><comment><USER19> I was thinking of modernising some 25 year old code, being pre-ANSI it has some of the same problems, like:

      char *malloc();

Of course I am referring to Robert Morris' Worm.

</comment><comment><USER20> The funny thing is the struct hack with regard to variable access is back in Go.

</comment><comment><USER21> hackers delight</comment>


BirdsEye: Interview with Kenn Kaufman   - <AUTHOR> http://cs.birdersworld.com/brdcs/blogs/field_of_view/2009/12/02/birdseye-interview-with-kenn-kaufman.aspx

<comment><USER2> Very good, they built the app that I dreamed up two years ago!

Maybe this will actually be good enough that I won't find myself wishing I had time to write my own...

I do have my doubts about the dependency on eBird, though. Given that eBird = Cornell Lab of Ornithology = the top birders in the USA, linking up with eBird is obviously the right move from the branding standpoint, and the right move from the I-don't-want-to-piss-off-the-establishment standpoint. But from the user's standpoint? They claim that "participation in eBird has exploded in the last two years". Either they vastly improved the eBird interface or birders are a very stubborn and obsessive lot [1], because I looked at eBird a while back and it had one of the worst interfaces I had ever seen. Like, corporate internal Java application bad.

\---

[1] Which is to say: I'm not convinced they've improved the interface.

<comment><USER3> Carl here (one of the engineers who worked on birdseye),

The web interface to eBird isn't very usable, especially if you want to know what birds are near by and where to go see particular birds. It is however the best repository of bird observation data in North America and we are thrilled to contribute to it.

This release just reads from the eBird database. Our next release will also allow contributions to the database. This will make BirdsEye a great front end for eBird. It's much easier to record observations in the field on a device with GPS etc than to remember everything until you get home.

Right now, eBird is getting over 1 million observations per month and we're hoping that BirdsEye will double or triple that.

<comment><USER2> This is great news. And I wouldn't be surprised if "double or triple" ends up being an underestimate. ;)

</comment></comment></comment><comment><USER4> I was just talking about an app idea like this with friends. Its just proves - there _IS_ an app for everything!

</comment><comment><AUTHOR> I'm pretty excited about this. Carl, one of their engineers is someone I've been trying to poach for my own company for a long time. This is giving me a good use for all of my telephoto lenses besides tech conferences!</comment>


Docker on Windows Server 2016 Technical Preview 5 - <AUTHOR> https://blog.docker.com/2016/04/docker-windows-server-tp5/ <comment><USER2> The only drawback of the current onslaught of Microsoft activity is the fact that most "enterprise" businesses and software products are completely unprepared or unwilling to move in step.

As an integrator, I've barely started seeing Win2012 in production last year, so it will be another 5 years before I can start playing with these new toys. Hell, some people are still chugging along with 2003sp2... and I'm talking Big Business, not some godforsaken countryside school.

<comment><USER3> And one might argue they are taking the sane approach to the upgrade treadmill. It's easy to forget technology is supposed to solve real problems and that there's no economic incentive to use new toys to solve already solved problems, possibly introducing new issues with less well-known solutions.

The fact businesses are extending the life of systems not because they are unwilling to invest in upgrades but because they work just fine is a sign that the industry has reached a good level of maturity. It's a good thing. We should all be working collectively to solve new problems instead of reiterating over the same problems again and again.

In the old days of NT4 a 4-year old system would accumulate maintenance costs. Today, Windows 2003 is 13 years old and still pretty serviceable.

I'd be more worried about businesses accumulating unsustainable technical debt than accumulating old (but stable) technologies.

<comment><USER4> Windows 2003 is end of support life and you aren't receiving security patches unless you're paying Microsoft a huge amount of money for extended support.

One might argue that it's insane to run a 13 year old OS that is not getting security updates any more at your business.

<comment><USER3> Windows 2003 is EOL because Microsoft wants to push customers to the latest version. Customers have been pushing back at this for a while now, but Microsoft (and other vendors) makes more money selling the new shiny than extending their products' lifecycle.

In an ideal world, operating systems (server and desktop alike) would already be on a 5-year release cycle with just yearly incremental upgrades in between (as much as the vendor can manage in a service-pack model).

Is it insane to run systems without any security updates? Even within the lifecycle of the product many businesses never even patch after the initial install. I personally know people that live by this: never patch anything unless presented with proof that it's necessary to do so (I don't completely agree with this, but money has been lost catering for low-impact security updates and people tend to learn a few lessons from it).

Security is more about risk management than being free of vulnerabilities. The issue isn't going by without security updates, is doing so without assessing the risk.

<comment><USER5> Correct me if I'm wrong, but hasn't Microsoft introduced a lot of security features into the versions since 2003?

</comment></comment></comment></comment></comment><comment><USER6> If this starts utilizing the "Ubuntu on Windows"[0], I think, with minor modifications, most of the images should already work; which is great. I can't wait to see how containerization (and tools built for orchestration of those) will evolve in the coming years to help dev/devops.

[0]: [https://insights.ubuntu.com/2016/03/30/ubuntu-on-windows- the...](https://insights.ubuntu.com/2016/03/30/ubuntu-on-windows-the-ubuntu- userspace-for-windows-developers/)

<comment><USER7> Paul Thurrott quoted a Microsoft person that Ubuntu on Windows is a client side thing. It may be possible to use it on Windows server but I believe that is not the meta.

I would say it is easier to just spin up an Ubuntu instance than to use Ubuntu on Windows on the server. What are some use cases that you're thinking of? Am I missing something?

<comment><USER8> There are two parts... there's the Linux Subsystem for Windows, which is the Linux ABI... Ubuntu for Windows is all the Ubuntu userland running via LSW. It's probable that this Docker system works with LSW as-is.

<comment><USER7> My question is why run on Windows? Wouldn't it be better for the host to be GNU/Linux if you don't need any of the functionality that Windows provides?

I fail to see the benefit of using Windows on the server unless you _need_ Windows. Even Microsoft send to acknowledge that. I must be missing something.

<comment><USER8> They're probably doing it so that docker containers running in Azure infrastructure can be a bit lighter than it currently is. That's probably the main reason. Second, if you are already running windows servers, because you have software/infrastructure that require it, this allows you to also run Docker images, and Linux software without the overhead of full virtualization and/or new hardware.

Beyond this, there are a lot of developers running windows either by choice, or because they have software requirements themselves that can leverage this.

</comment></comment></comment></comment></comment><comment><USER9> If anything I guess Docker has become Go's killer application, even Microsoft is giving contributions to it as a means to help Docker run better on Windows.

I look forward if it can help OCaml as well, given their acquisition of Unikernel Systems.

</comment><comment><USER10> What about licensing? Does the docker image manifest include machine-readable licensing metadata required for automated licence compliance verification?

<comment><USER11> The main windows server 2016 page has pretty clear guidance on this[0]:

\---

OSEs/Hyper-V containers

DataCenter: Unlimited

Standard: 2

\----

Windows Server containers

Datacenter: Unlimited

Standard: Unlimited

\---

[0] - [https://www.microsoft.com/en-us/server- cloud/products/window...](https://www.microsoft.com/en-us/server- cloud/products/windows-server-2016/)

<comment><USER10> What about running Docker containers on desktop/laptop machines during development? It's a major part of the Docker usecase.

Trying to keep track of Windows licensing compliance across multiple versions and deployment models is confusing enough as it is. Different sources will give different answers to the same questions when interpreting licensing scenarios, and you can never know unless you get audited (?)

<comment><USER11> _Different sources will give different answers to the same questions when interpreting licensing scenarios_

1.) Containers are not available on desktop SKUs. So there is no licensing consideration for Windows 10. If they later add containers to Windows 10, then they'll release licensing rules at that time.

2.) If you are running a server OS for your desktop, then the licensing is pretty clear. Hyper-v VM containers follow the same rules as normal hyper-v VMs (1 physical + 2 virtual for standard then each additional VM requires a license, unlimited for datacenter). For Windows Server Containers (which are not hyper-v based), it's even easier, it's unlimited regardless of edition.

3.) As always, the host OS must be licensed fully in order to have the appropriate rights (2016 is moving to core licensing, with a minimum of 8 core licenses per processor, and a minimum of 2 processors).

All in all, it's one of the easier features to understand the licensing for since it doesn't directly deal with CALs or internal/external usage rights.

<comment><USER12> Contrast that with the license considerations running Docker on Ubuntu:

1.) Containers are available on both desktops and servers because they're fundamentally the same OS (but with different sets of packages installed by default).

2.) As always, the server and desktop versions of Ubuntu available for unlimited use with _zero licensing costs_. Completely free.

I'd also like to add that the "base" Windows Server container image is 9.3 gigabytes while the base Ubuntu container image is 120 _megabytes_. Put it all together and you wind up with vastly greater costs to run Docker containers on Windows.

Having said that, if your application only runs on Windows then putting inside a container might not be a bad idea.

<comment><USER11> 1.) and 2.), ok. As pointed out, Windows Server containers don't have any additional licensing costs above and beyond the base host OS license. Presumably, if you already paid that cost, then you feel that it's reasonable to do so.

As for the size, I have the feeling that people that are going to run windows containers as a herd are going to opt for the nano image which is 793.3 MB. Still about 6.5 times larger than the ubuntu container image you mention, but 11.5 times smaller than the servercore container image. Particularly since the nano image is focused towards individual roles (IIS, dns, etc) which work well with the 1 task per container philosophy.

All in all, I'm not sure what the value is in comparing the two solutions (that isn't already covered in the Linux vs Windows threads). You can't run Linux containers on Windows, and you can't run Windows containers on Linux (without running an actual virtualized workload). So it seems pretty clear that you choose Windows if you have Windows servers to containerize, and Linux if you have Linux servers to containerize.

</comment></comment></comment></comment></comment></comment><comment><USER13> Any word on this trickling down to Windows 10 too? It'd be unfortunate if you had to run VM-based docker on regular development machines IMO. Probably better to just run Windows Server on those machines in that case.

<comment><USER14> See above for Windows Container support (Nano Server) in the current insiders program. However, also note, this is very early, and the experience is a little rough as we stitch together all the moving parts that are coming together for what we believe will be a great local development experience of containerized apps, targeting Linux and Windows workloads.

</comment></comment><comment><USER15> One of the claimed benefits of Docker is that developers build and test the same images that are run in production. It seems like multi-platform support negates that.

Multi-platform seems like a good direction to go in, so it might be a worthwhile tradeoff.

<comment><USER14> The target of Multi-Platform support is to allow workloads to target different platforms, but not as a single container can run on both. Consider the scenario: Web Front End built with Node.js, targeting Linux ASP.NET Web API, built with NET Core, targeting Nano Server (Windows) Redis Cache, used for the WebAPI, run as a Linux Container. When you spin up these containers, you should be able to say docker-compose up, and docker, Mesos, ... know how to route the containers to the appropriate hosts. Steve</comment></comment>


Elon Musk: Chance we are not living in a computer simulation 'one in billions' - <AUTHOR> http://www.independent.co.uk/life-style/gadgets-and-tech/news/elon-musk-ai-artificial-intelligence-computer-simulation-gaming-virtual-reality-a7060941.html <comment><USER2> I get that the rate of improvement in game simulation will eventually lead to experiences that are indistinguishable from reality, however, how did he calculate the one in a billion chance that we're not in a simulation? That just seems like a wild guess to me.

<comment><USER3> Think of it this way, how many times has our civilisation run the Grand Theft Auto simulation? What about all the future GTA session that we haven't run yet. It's got to be many many millions.

Now GTA isn't a very sophisticated simulation, and the characters don't have much AI, but either no civilisation ever develops the tech to make a "realistic GTA", or no civilisation ever wants to run a realistic simulation, or there are many millions of realistic simulations in existence.

And if there are many millions of realistic simulations, and only one real universe, it's literally a one in a billion chance that were in the real universe.

<comment><USER4> In this context, why do we think there would be many other civilisations? In the context of the Fermi paradox we think there would be because the universe is so huge and we can calculate that there would be lots of planets capable of supporting life. That said, the structure of our universe is irrelevant if we're considering whether it is a simulation. The "billions" number that applies in the case of the Fermi paradox doesn't apply to this conversation. I'm also wondering where it comes from.

</comment></comment></comment><comment><USER5> YouTube link: [https://youtu.be/2KK_kzrJPS8?list=PLKof9YSAshgyPqlK- UUYrHfIQ...](https://youtu.be/2KK_kzrJPS8?list=PLKof9YSAshgyPqlK- UUYrHfIQaOzFPSL4)</comment>


Hemp Fibres Better than Graphene for Supercapacitors - <AUTHOR> http://www.bbc.com/news/science-environment-28770876

<comment> Dr-Syn So if I'm reading this right, they're using the existing structure of the hemp fibres as a sort of scaffold, boiling off the non-carbon parts to leave, essentially, charcoal?

Not bad. Might be worth investigating lawn clippings for the same kind of properties.</comment>


E17 (Enlightenment) enters alpha after 12 years - <AUTHOR> http://www.enlightenment.org/p.php?p=news/show&l=en&news_id=62

<comment><USER3> Yeah, I also remember E16.. Seems like Rasterman was the first one who made icons, that represent the content of file, and those transparent window titles and other decorations. And pseudo-transparent ETerm. Now we have all that in Gnome, but back then it was a feeling of going into the right direction.

Nowadays it must be a great product, because it was made with vision, for themselves, re-implementing cleanly and consistently all the layers from the very foundation, with attention to every detail. These are landmarks of a remarkable opensource product.

Someday I will replace my Gnome.)

<comment><USER4> Heck from what I remember, half of the compsiting stuff that's done now with compiz/kwin in modern desktops was pioneered with E17 development, they used Xgl before the accelerated compositing was possible with GLX_texture_from_pixmap and the like.

</comment></comment><comment><USER5> Rasterman is kinda rushing into this, no? Seems like just last millenium I was installing DR16.

I would love for it to catch on again, but I wonder if/how it can build an audience after such a long hiatus (notwithstanding EFL etc.).

<comment><USER6> Well, given that nothing else became a standard and their are a tad bit of people unhappy with Gnome 3, it still has a pretty good chance. It does seem to be ok on the BSDs and the libraries are quite nice to use elsewhere so that is a bonus

<comment><USER7> I think for the most part, the people that are unhappy with Gnome 3 aren't looking for something new: they just want Gnome 2.

<comment><USER8> I sure don't. Various areas like the GNOME panel were visibly crutchy and full of historical assumptions/design. This was fixed with GNOME 3 but other areas were/are suffering various levels of undue abuse. If I were looking for GNOME 2 I'd be using XFCE instead (as many people around me are). In place I use OSX — both a more solid foundation and more configurable than GNOME3 — and Awesome/Arch — striving to drop all/most GTK and QT dependencies.

</comment></comment></comment></comment><comment><USER9> At one point, my favorite desktop by far. As it happens, a few weeks ago I decided to take E16 for a spin after many many years of neglect. It still felt great and snappy. I'll be trying this latest alpha for sure.

<comment><USER10> That's not really impressive, considering it was designed for computers from 15 years ago. I'd be pretty surprised if it _weren't_ snappy.

Still a nice environment though, and ridiculously customizable.

</comment></comment><comment><USER11> Wow! I still have "rasterman.com" memorized because I'd check in once every year or two for the past decade it feels like, to see how it was going. Something about E17 always seemed cool, but I've never used Linux as my primary desktop so I haven't played around with it much. Congrats to the team!

<comment><USER12> Some years ago (in 2005 or 2006) I always ran the latest E17 builds as my primary desktop environment. I really liked it! Some things about it were awesome, but OTOH it always was a little bit incomplete. It just took too long, because in 2006 I bought a mac and moved away from Linux.

On my current laptop I had Linux installed for a couple of months, but I didn't try E17 anymore. It just was too late, I didn't want to go through the checkout/build/install stuff again. And now I have removed Linux completely (again), because an Ubuntu update took four days, and after that my mouse didn't work anymore.

Anyway, congrats to the E17 team! I still think you have a great piece of software there.

<comment><USER13> It is too bad that you gave up on Linux and Enlightenment. e17 has been in Debian for a while now, you do not have to manually build it anymore. Why did the update take you 4 days? Are you bandwidth limited? Dialup?

</comment></comment></comment><comment><USER14> Does anyone have a good guide, or set of packages, to get this going in Ubuntu?

I have tried a couple of guides and packages already, so please only suggest something if you know it works, I know how to google!

<comment><USER15> You can install it from this ppa [https://launchpad.net/~hannes- janetzek/+archive/enlightenmen...](https://launchpad.net/~hannes- janetzek/+archive/enlightenment-svn) .

      $ sudo add-apt-repository ppa:hannes-janetzek/enlightenment-svn
      $ sudo apt-get update
      $ sudo apt-get install e17

Logout and choose Enlightenment before login. Have fun!

<comment><USER16> Also try out terminology, the new E17 terminal. It has an awesome look and feel. Once it supports tabs i'll use it fulltime :)

<comment><USER17> Thank you. It's on my TODO-list but not on top priority. I'm mostly working on compatibility issues these days. If you found some, please open a bug report or contact me about them.

<comment><USER16> Oh great, one thing i noticed weeks ago (and apparently it's still behaving that way):

When you maximise the terminal and mark everything with the mouse the CPU goes crazy. efreet_icon_cache is taking up 100% CPU and the laptop becomes very noisy.. I guess it's not supposed to take up all CPU for that good looking marked text thingy :)

<comment><USER17> I can reproduce your issue. Please don't mark everything with your mouse for the time being :)

<comment><USER18> I came here from google search for a problem- I missed HN the day this thread came on. I 'discovered' enlightenment last summer and found it to be a wonderful solution for my netbook. I was traveling alot and pretty much have my netbook as a full development 'travel rig.'

The problem is that I want to have gnome installed side-by-side-- which seems to mean that the network manager (EConnMan I think you call it) doesn't work.

I know there was a way to do it but I forgot (that's what brings me to this page).

So, my comment: If this could sit easily and seamlessly next to gnome- that is, whatever hack is needed for EConnMan (and perhaps other 'gotchas') were built in as shortcuts, for example, I think you would win a lot of people over. It's excellent for being an out-of-the way work environment.

I also think it helps show off the linux world when you can quickly and easily switch between work environments. My $0.02.

EDIT: So I'm now logged in on E and obviously remembered the network hack: start nm-applet from the terminal. It will at least connect to a known network.

EDIT #2: The only other issue I've had on the netbook is getting the control- bar-menu gizmo out of the way of the windows so I can use the screen real estate I have for my editors and such. You have to turn this on in settings.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> The EFL are amazing! E17 is a compositing WM with great software rendering. The software rendering is so fast that you can mistake it for hardware accelerated.

<http://www.enlightenment.org/p.php?p=about/efl>

</comment><comment><USER20> What are the key features? Why should I wanna try use it? Where is it better then other window managers? I cant find these information on the website. Just that it is "lean, fast, modular and very extensible window manager" which tells me nothing. I see that it is also for Mac and Windows. What does it have that these OSes dont have? What would be the benefint of using E17 ond windows 7?

<comment><USER21> You appear to be have come across a cultural conflict since you are approaching this as if it were a product when in actuality it is an OSS project. There is no motivation or desire on the part of the developers to sell anything to you, hence the lack of marketing. Marketing is generally a non-term in this culture. Good ideas spread through word of mouth here. Outside of the world of business, the responsibility for learning about new things is placed squarely on the side of the end user (this includes end users promoting projects to each other), not the developers.

But to answer your question, this project is an incredible engineering feat. E17 is built on top of a set of libraries which provide lightening fast rendering even on the CPU. The previous incarnation of Enlightenment, E16, was considered to be one of the most advanced window managers for it's time due to the rich eye candy it provided (and this was back in the days of KDE 1 when everything else looked grey and boring). E17 has been in development for a very long time much to the dismay of many a geek. It is the Duke Nukem Forever of window managers. It's not as impressive in this era of compositing window managers (though it can do that too), but if you ever find yourself wanting to use a slick WM on a Pentium 2 then this will run as smooth as silk.

<comment><USER22> He's asking valid questions. I'd ask a succint question: what features can make it more productive to me in comparison with, say, Windows 7 desktop?

> There is no motivation or desire on the part of the developers to sell > anything to you,

This I disagree with. Why else would they made it available for download? (They might not be marketing the software, but they are marketing _something_ \-- e.g., their coding skills.)

<comment><USER21> These points have already been addressed by others but I'll elaborate further.

This is simply a different culture and perspective. I know that in business we primarily tend to think of things in terms of the value they provide. The motivation behind OSS projects rarely has anything to do with personal profit. They tend to happen because someone is trying to address a personal need and decides to share their solution with the world, or they just want to create something cool for the sake of it or they're trying to learn a new technology and need something to practice on. It's like charity - you don't advertise the fact that you do it, you just help out and hope that it makes a difference. Personally, I think that people only really try to sell things when there is an expectation of exchange - when something is being given away for free, what is the motivation for marketing it? Why would you waste time talking about the result of doing the things you love to do instead of doing them?

I think that this is where the notion of marketing being a force of evil comes from - if something is being sold, it's because someone is trying to convince you to give up something you have. It is inherently selfish. OSS is the opposite - it's selfless - you give without the expectation of getting (yet in real terms you get many orders of magnitude more than you put in - <USER2> which just doesn't happen in the business world). It's like a pyramid scheme which actually works.

<comment><USER22> > They tend to happen because someone is trying to address a personal need

This I understand and do not contend.

> and decides to share their solution with the world

This is marketing, not necessarily for the money. It may be for recognition (yeah, I too know the "high" feeling when somebody comes to you and says you're doing something cool); for the hope that more people will join in so you get to be the leader; for having a non-trivial (hopefully) successful project to put on the CV; to feel yourself useful to the community, etc, etc.

Bottom line: when you make something publicly available, you're marketing it. You're "selling" your product in exchange for some of the immaterial goods (see above) that you can get only from other people.

</comment></comment></comment></comment></comment><comment><USER23> I was a huge fan / dedicated user of E16 back in the day. Someone needs to prod Garrett LeSage, tigert, et al and get them to update their old themes (SpiffE17 please Garrett!).

</comment><comment><USER24> Would love to see screenshots if anyone got it built and running?

<comment><USER25> Few examples (many, many people got this "built and running"):

        http://e17-stuff.org/CONTENT/content-pre2/95258-2.jpeg
        http://e17-stuff.org/CONTENT/content-pre2/100923-2.jpeg
        http://e17-stuff.org/CONTENT/content-pre2/110281-2.jpeg
        http://e17-stuff.org/CONTENT/content-pre2/115796-2.jpeg

And I use heavily customized bohdi theme, which originally looked like this: <http://e17-stuff.org/CONTENT/content-pre2/119928-2.jpeg>

Unfortunately, I'm sick and not going to work this week, so no screenshots of my desktop today :(

</comment></comment><comment><USER26> I wanted to see a screenshot. I clicked the image on the home page, it took me to the "About" page. I clicked the image on the about page, it took me to the wiki. I still can't find a single full-size image.

BTW, if you're interested in a modern Linux desktop, you should look at ElementaryOS (<http://elementaryos.org/discover>). It's built on Ubuntu, so has great hardware support.

</comment><comment><USER27> The design seems to feel like they were designed by someone with no aesthetic taste but has just made things they think will look bling. I'm sure that it does something very impressive, but I can't see why everyone raves about it.

<comment><USER28> Well, back 10 years ago when Gentoo worked like Ubuntu does now except it was n^2 slower and came with 3 difficulty modes for installation, e16 was the bee's knees window manager. You could edit your own GUI menus by configuring a text file! everything was infinitely customizable. EVERYTHING. not to mention having transparent eterms with really cool backgrounds. In this context, e17 was the shang-ri-la of desktop environments and also perpetual vaporware. I looked forward to e17 for years but they never seemed to make progress. Just a screenshot here and there, tantalizing us. then Compiz came out and I forgot about it completely. The allure has to do with the fact that it had great potential and it was being made by uncompromising perfectionists. Like the novel that the fans were begging to be released but the Author refused because it wasn't quite perfect yet. Well now, after so many years, the progenitor is ready to reveal the creation. I am ready to see the vision.

<comment><USER29> Well, you say that, but really it's had rather stable and public development, and it was my main desktop for a long time in 2005 and 6. I think part of the reason it became so drawn out was that it was already more or less a release product without the release numbers.

</comment></comment></comment><comment><AUTHOR> Oh man. I remember using e16 for a while way back in the day. The "water effect" desktop thing always turned heads.

aside: Interesting, but brief, interview with the project lead (Carsten "Rasterman" Haitzler): [http://www.h-online.com/open/features/Seeking- Enlightenment-...](http://www.h-online.com/open/features/Seeking- Enlightenment-1739812.html)

</comment><comment><USER30> Ran it, wasn't able to get my second monitor to rotate to the proper orientation within 5 minutes, switched back to Gnome2. (I hear the MATE fork is doing well on distros that took away Gnome2.) It didn't seem much prettier than stock Xfce4, but it's good to have competition and congrats on the project for lasting this long.

</comment><comment><USER8> From the about page [0]:

> _Free.fr is shipping millions of set top boxes in France, powered by EFL_

Free is a major ISP here (and a major proponent of FOSS and net neutrality) and I was really surprised at that. It's apparently part of a SDK. The box GUI looks like a variant of XBMC[0].

[0]: [http://www.enlightenment.org/p.php?p=about&l=en](http://www.enlightenment.org/p.php?p=about&l=en) [1]: [http://www.mac4ever.com/images-v3-actu/59410_352_la_freebox_...](http://www.mac4ever.com/images-v3-actu/59410_352_la_freebox_revolution_disponible_le_3_janvier_merite_son_nom.jpg) [2]: <http://fr.wikipedia.org/wiki/Elixir_(Freebox)>

</comment><comment><USER31> I took E16, newly installed on my laptop, to a work presentation once. I was really excited to turn the thing on and see everyone's eyes bug out. But I plugged the projector in and it turned out there was some strange compatibility problem. One step forward, two back.

</comment><comment><USER32> i still remember me hacking through all the configuration files of E16, yeeeeears ago.

If i hadn't shifted from Linux to MacOSX, it would probably still be my window manager of choice.

But boy, this e17 thing is taking a ridiculous long time!

</comment><comment><USER33> e17 has been pretty darned useful and, from my user's viewpoint, stable for pre-alpha software... and the anti-user, customization is evil attitude of the GNOME 3 developers has pushed me to switch to e17. I seriously recommend Bodhi Linux.

</comment><comment><USER34> I never understood the allure of enlightenment, I always thought XFCE, Fluxbox/blackbox/openbox was a much more aesthetic minimal de. Everytime I saw an enlightenment desktop I thought I was being sent back in the past

<comment><USER35> Enlightenment was never supposed to be aesthetically minimal, quite the contrary in fact. When every other WM still had flat menu bars and Windows 95 style start menu's, Enlightenment was full of chrome, graphical effects and elaborate theming facilities. It was really a showcase for making your desktop look good, with minimal hardware requirements.

<comment><USER16> Indeed.. i remember when i was so proud to have a nice looking desktop manager with really old hardware running, it was awesome.

Nowadays i am not sure.. i will try E17 again and see how it compares today :)

(p.s.: i even did a screencast of my "wunderful" E17 Desktop 5 years ago and it still has effects and a look and feel that is ahead of gnome/unity/xfce with a laptop that was over 5 years old back then.

<https://www.youtube.com/watch?v=6lOa8o1tgIU> )

<comment> adam-a Oh my, I'd almost forgotten about all the gold. Lot's of excessive shimmering too.

It's clearly a technically very impressive desktop environment, but I always thought they needed better design for the actual themes.

<comment><USER16> That's why i used the black alternative scheme, that was muuuuch better. :)

</comment></comment></comment></comment></comment><comment><USER36> As someone who has known Carsten (Raster) for well over a dozen years, and has given him a never-ending stream of invective for being slower than George W. Bush doing calculus...its about bloody time.

</comment><comment><USER37> I know its yet another useless comment, but back in the day of E16 and beginnings of E17 I was a really big fan. Its great to see it finally being Alpha!

Congratulations to the Enlightenment team!

</comment><comment><USER38> As a Gnome fan, i used E16 as a replacement for Metacity (i believe?) and it was great.

This one time at a former employer, my boss was touring a visitor around the office while i was flipping the windows just because and it got their attention for a 5m talk ("oh shiny what is that ?") :-)

</comment><comment><USER39> wish this could be the answer to all the gnome mess that has been going on lately...

</comment><comment><USER40> Remember BlueSteel?

Remember installing linux for the first time to try it out?

Remember discovering what a winmodem was…

<comment><USER41> Hey, there was the ridiculously named 'Hand of god' theme with the titlebar on the side !

Good days ... running the ripple effect on the bottom ... bring me bling !

<comment><USER42> yes yes, the ripple effect. In those days people could hardly believe what they were seeing and all went like 'is THAT linux?'

<comment><USER43> And that sweet dramatic unveiling of the desktop, swishing across virtual desktops, funky pager, widgets...

Linux was so much fun and personal those days.

<comment><USER44> That was before we tried to make Linux a mass market OS.</comment></comment></comment></comment></comment>


Ask HN: How to make friends? - <AUTHOR> I realize that this is likely posted once a year, but I haven't found an answer specific to a personal problem.  I should probably give some backstory.  Without going into too much detail, when I was a kid up until the age of 12 I was bullied so badly by much older members of my extended family that it sent me to a downward spiral.  I didn't fully recover until senior year of high school, where I finally made some friends, and at 22 I dated someone for the first time who would later be my wife.
But I was still isolated, at 23 I started getting panic attacks, and became very nervous in social situations for no apparent reason.  I couldn't hold down any job because of fear of negative evaluation, ( I would literally freeze in place or be in utter confusion for minutes at a time)  I took everything from SSRIs to therapy, but strangely enough, the only thing that worked was running 7 days a week, something I gratefully discovered at 27 and now do habitually.  (haven't been on medication since).  Now, at age 34, I still find it awkward to meet new people, even though I have been told by coworkers that I am quite affable, and am still at my job for 4 years (where prior I couldn't hold down one longer than 3 months)
All that said, I am still underemployed and I feel a big part of that is a lack of connections.  I guess I'm posting here because ycombinator seems to attract a lot of formally shy people who became almost super-connectors.  There are also non-pragmatic reasons for this, I am lonely a I feel a big part of it is the discrepency between my desired network and my actual one.  (just an FYI, I've been to three professionals in my lifetime and all of them insisted that I don't have autism)
I guess my question is this, to those formally shy people who got out of it, how did you make more friends? <comment><USER2> I agree with what other folks have said. Participating in a hobby with others (e.g., workout class, painting, tennis) will give you a shared interest to begin conversation, which can make connecting less anxiety provoking. Finding a group that helps others (such as mentorship within the tech space, or helping at risk youth with college prep, or working with animals at the shelter) is also a nice way to connect with others on a mission that has greater meaning, which can be motivating from an attendance perspective, but also help with making conversation since you can also talk big ideas with those around you.

I also think that taking time to notice people in your environment can be helpful. We are all so glued to our phones that there are a lot of missed opportunities to talk to others and connect in our day to day. Maybe someone is struggling with their coffee at starbucks, and the simple act of helping them starts up a conversation. That interaction can either be a practice interaction (a smaller short term interaction to prove to yourself it isn't as scary as perhaps the anticipation made you think it was) but also has the potential for a real connection with someone.

Looking for facts can also be helpful in managing social anxiety. For example, if you're worried that people won't like you if you speak with them, think to yourself "how would I know if people didn't like me? Would people tell me Im affable? What does it look like when people don't like other people, and is that happening to me?" Often how we feel isn't really based in facts, and by realizing this, it is easier to overcome the feelings that interfere with our ability to do what we want to do.

</comment><comment><USER3> Best way to make friends is to be a part of a group doing an intense activity for a prolonged period if time (1-2 years).

For example join a local sports or esports team.

</comment><comment><USER4> There are a few things necessary to make friends: close proximity; repeated, unplanned interactions; and a setting that encourages people to let their guard down and confide in one another. See here [https://nyti.ms/MmWvQn](https://nyti.ms/MmWvQn) for more on this. My suggestion would be to find some hobby you enjoy that allows for frequent interactions and a space where failing is commonplace. It will take time and putting yourself out there will be difficult, but hopefully it help you gain friends. Some possible examples of this include a sport, dancing, cooking, reading novels and analyzing them, electronics, board or table top games, etc. Ideally whatever you choose has a lot of social interaction. For me this meant a climbing gym but I know many people that do the things I listed and have made friends doing that.

</comment><comment><USER5> There are a couple of different approaches, depends on what you are looking for right now... a) join a volunteer oriented club, b) identify people one-hop out from your current professional network that you want to engage with and email them to see if they have time to meet, and c) talk to your neighbors.</comment>


Have dirt that could impeach Trump? Larry Flynt will pay you $10M - <AUTHOR> https://www.washingtonpost.com/news/the-fix/wp/2017/10/14/have-dirt-that-could-impeach-trump-larry-flynt-will-pay-you-10-million/ <comment><USER2> Russians or Chinese will double that.</comment>


I created a README/user guide to me that explains my hearing problem - <AUTHOR> https://quinnkeast.com/readme <comment><AUTHOR> I was inspired inspired by the various Manager.README articles I've been seeing around the web lately, as I think they're a wonderful way to get a better sense of who someone is and what it's like to work with them.

I'm a UX designer with a hearing problem, and I recently decided to begin being more upfront and candid about it. Creating this user guide was an interesting way of articulating not only my own personal values and nuances, but my hearing, within the context of my whole self.

Disabilities—or at least hearing losses—tend to be perceived negatively (I had a poor interview experience recently where the interviewer essentially asked how I can actually do my job, and ended the interview early), so I'm curious to see if sharing the details about my hearing loss ends up having a positive or negative impact on how people perceive me.</comment>