Posts for Sunday, March 17, 2019

avatar

Why Radiance needs a free 3D model repository

The Radiance free 3D model repository is the world's first photometrically accurate model repository, with a focus on both correctness and aesthetics. It is completely open-source and free to mirror and redistribute. You can download models as an OBJ, along with material and light definitions. - for the full article please visit the website.

Posts for Saturday, March 16, 2019

avatar

Luminaire Ikea Ingared beige free 3d model

This is a free 3D model of a the Ikea Ingared beige luminaire. It is a typical desk luminaire. The model includes OBJ files, Blender files, Radiance material files and textures. - for the full article please visit the website.

Posts for Friday, March 15, 2019

avatar

The five fundamental facets of ethical software

Technology is increasingly trending towards proprietary forms, which have negative impacts on society. I describe the 5 fundamental ingredients to keep software honest, and prioritise people over profit. - for the full article please visit the website.

Posts for Wednesday, March 13, 2019

avatar

Lamp LED Ikea Ryet 50325332 free 3d model

This is a lamp model based off the LED Ikea Ryet 50325332, which is a clear chandelier or candelabra lamp / bulb. This product is no longer sold but this model may be used as a generic 2700K lamp. The model includes OBJ files, Blender files, Radiance material files and IES files. - for the full article please visit the website.

Posts for Tuesday, March 12, 2019

avatar

How to create better IFC files with Revit

This is an introduction to the fundamental concepts of IFC files and explains how to improve data exports from Autodesk Revit to IFC. Out of the box, Revit IFC support is very limited, but it can be mitigated using an open-source plugin and understanding these undocumented quirks. - for the full article please visit the website.

Posts for Monday, March 11, 2019

KDE Device Notifier work-around

KDE Device Notifier can be annoying sometimes. The problem is that clicking on the Eject icon in Device Notifier (tooltip ‘Click to safely remove this device’) both unmounts and ejects the device (two separate commands). Of course, in the case of a USB device the device remains physically connected until you pull out the USB […]
avatar

GPO Double Australia free 3d model

Double GPOs (general purpose outlet) in Australia generally look like this. Here's a free 3D model of a typical one that you can find almost anywhere, for use in lighting simulation models. The model includes OBJ files, Blender files, Radiance material files and textures. - for the full article please visit the website.

Posts for Sunday, March 10, 2019

What intelligence is

In the last few days I had the opportunity to attend a number of panel discussions and lectures that somehow circled around the topic of “artificial intelligence”. The discussions and presentations where hard to put into context: Every session did address “artificial intelligence” (if sometimes just in name) but given the speaker’s different backgrounds it was sometimes about technologies, sometimes about data processing in general and sometimes about philosophical sleight of hands.

And while it would be important to analyze why so much of the debates about the potential thread or benefit of “AI” is basically being debated just withing the framework of de-politicized science-fiction narratives, a far more important question needs to be tackled before we can really dive into further discussions about whether there will be a singularity or maybe just interfaced, specialized automation of specific parts of public and private lives that will in connection appear as a meta-system but avoid closer analysis by networked complexity. (Hint: It’s going to be the second thing).

The question I kept thinking about – and that I have talked about on Twitter a few times already – is the question of the definition of intelligence. Because if “artificial intelligence” is a specific and potentially new type of intelligence, it would be crucial to understand what that actually refers to. What is an artificial intelligence? What is an intelligence?

If we see current debates about “AI” things are seen as “intelligence” that a few years ago we’d just have called “correlation analysis” or “pattern analysis” or “statistics” or “Excel macro”. Facebook’s Newsfeed is somehow an “AI system” now even though it’s structure hasn’t changed much in the last years (its implementation might have). This creates a problem because we can’t look at the things that “artificial intelligence” refers to to crystallize a definition because in 2019 any algorithmic system is perceived and labeled to be an “AI”.

Intelligence through the ages

So let’s try to approach the issue from the other side: We’ve been using the idea of “intelligence” for a long time, we surely know what it is, right? But if you start looking at the definitions (yes, plural) that are being used it doesn’t look like we have any idea what “intelligence” is. Why is that?

Well most people trying to talk about “intelligence” perceive it as the property of an entity like a human being or an animal or – potentially – a machine. So “intelligence” becomes something that certain entities have, something you might be able to measure even. Like on a D&D character sheet where your wizards have a high “intelligence” stat and your fighter … well don’t. And while D&D’s ways of classifying people might be simple it still illustrates how we as especially western societies think about intelligence: It’s a property that living things tend to have, some less, some more, like physical strength. Whether you as a human being can change your intelligence through training – as you could with strength – is up for debate: Some people would say it’s something you are born with, some would say that education and training could change things around to different degrees.

People have been trying to define “intelligence” for ages. Plato defined intelligence as the ability to use reason – and went so far to claim this ability as the sole domain of philosophers who should for that reason pick their best and brightest to rule as “philosopher king”. Aristotile followed in his footsteps arguing that “from the hour of their birth, some are marked out for subjection, others for rule” and what marks subjects for ruling was the possession of “the rational element“.

Western philosophers basically continued on that path, whether it’s Descartes or Kant who even argued that only reasoning beings had value in themselves while non reasoning beings were just means to an end, things basically.

If you looked at all these super short summaries you might say “so what?” but the way “intelligence” is framed here is extremely gendered and racialized: Women were deemed to emotional to be fully rational until way into the 20th century (and looking at how female political candidates are talked about today into the 21st century as well). It was always implied that the white, western man was the peak of rationality and that especially people of color were just by birth less “intelligent”. Which is why it was super okay to colonize them. It was for their best really. </satire>

But today things work differently, right? We have standardized IQ tests that objectively measure … but what do they measure? The ability to solve IQ tests. Which is a skill – and one you can easily train and improve – but that says nothing about intelligence really. It just says how much you either trained for it or how much the very specific types of question align with your education and interests.

Intelligence today

So who do we call intelligent today? Academics of course. Captains of industry. People who got a good education and of course authors.

But who do we use other terms for? An uneducated person who has some success might be “clever” or “street-smart”. They are rarely called “intelligent”. Why is that? Why is “intelligence” still a masculine quality? Why are people of color and their cultures often still shown as less “intelligent”? Why are people with means “intelligent” regardless of what they might say and poor people can only ascend to being “clever”?

Here’s the thing: “Intelligence” as an internal property of individuals doesn’t exist.

“Intelligence” isn’t something that you or your dog or a dolpin has. It’s also not something that a computer program or system has. That doesn’t mean that “intelligence” has no meaning, far from it.

What intelligence is

“Intelligence” as we use it today is a value judgement by a (sub-)culture’s mainstream. Entities of “intelligence” are not just seen as valuable but are also imbued with the right to agency and autonomy.

So that’s a mouth full. But what does it mean? “Intelligence” is not something that you have, it describes if other people in power believe that you are worthy of making your own decisions. An “intelligent” person – from Plato over Kant till today – is seen to be good enough to decide certain things about their life. The less “intelligent” you are deemed to be the fewer decisions you have any right to make but are supposed to defer these decisions to your husband, your employer, your government or whoever.

The interesting thing is that regardless of whether you look at very old or current definitions of “intelligence” this is what unifies all of them. Let’s check some newer definitions:

Intelligence is a very general mental capability that, among other things,
involves the ability to reason, plan, solve problems, think abstractly, comprehend complex ideas, learn quickly and learn from experience

L. S. Gottfredson. Mainstream science on intelligence: An editorial with
52 signatories, history, and bibliography. Intelligence, 24(1):13–23, 1997

This is pretty much just a clunky way to say “can handle their own life”. And while it can’t really define the term (it keeps a loophole open with the whole “among other things”) it’s basically what we have been talking about. If you take away any of those terms people will give your life to a legal guardian or will at least take away many of your opportunities to decide.

It seems to us that in intelligence there is a fundamental faculty, the alteration or the lack of which, is of the utmost importance for practical life. This faculty is judgement, otherwise called good sense, practical sense, initiative, the faculty of adapting ones self to circumstances

A. Binet and T. Simon. Methodes nouvelles por le diagnostic du niveai
intellectuel des anormaux. L’Ann´ee Psychologique, 11:191–244, 1905.

Do we really need to milk this one?

The ability to carry on abstract thinking.

R. J. Sternberg, editor. Handbook of Intelligence. Cambridge University
Press, 2000.

This one is fun. Because what exactly is abstract thinking? Many non-western cultures for example communicate and collectively think less in abstracts but in concretes. Is their thinking therefore worse? This is a definition that shows how much racial bias is in most definitions of “intelligence”.

If you want to go through more definitions: Here’s a fun list. When we look at “intelligence” this way it also becomes very problematic to see who gets to assign this value: Institutions of (bourgeois) power. Universities suddenly become structures not just handing out education but moral and human value. And few structures in bourgeois societies are so explicitly build to keep the “riff-raff” – usually people whose parents didn’t go to university – out. Business success is also mostly a hereditary property with people who inherit (generational) wealth and networks being the ones who by accident get the funding and chance to make a lot of money. The systems in society we build to assign value to people are rigged against those from lower classes. What a funny coincidence.

Another good indicator for my thesis to be true is the recent blooming of “new types” of intelligence. “Emotional intelligence” comes to mind: To give value to skills traditionally seen as female, they need to be “man-ified” by attaching the value label “intelligence”. There are approaches to label physical abilities as forms of “intelligence”, things that seem to be really distinct – and not just when it comes to D&D wizards and fighters. “Intelligence” can be translated as “this person has value” so it’s obvious that especially if one cannot easily argue the traditional male, white, formally educated understanding of “intelligence” you’d try claiming value another way.

So now that we know what “intelligence” is, why does it matter? Fine we are using the word wrong thereby hiding implicit value judgements but does it matter? I think it does. It does when it comes to human beings – because having institutions of power blessing specific groups of people with value is nothing that we should accept – and it very much does when it comes to “AI”.

Intelligence and “AI”

I talked earlier about how today every computerized system is perceived to be an “AI”, an “artificial intelligence”. Your calculator is an “AI”. Anything. Now we could just attribute that tho the whole hype cycle and buzzword-bingo but given our new found understanding of what “intelligence” means this terminology becomes highly problematic.

When we assign the term “intelligence” to systems of automation or computerized systems we give these systems agency – that means the right to decide.

The little racist statistical model that predicts that black people have a higher probability to be repeating offenders is just a racist statistical model, until we label it an “AI”. Suddenly the same value judgement comes with a lot more oomph. And of course these systems were used before but it gets harder and harder to remove them when they are suddenly “agents”, “subjects”. A system putting out racist junk is a junk system. But an “intelligence” that does so maybe has a point? Or maybe just needs more training (with racist data because especially within the legal system every data set is deeply deeply racialized because that’s what “race” is: Falguni Sheth basically defines “race” as a label slapped on the “unruly”).

The debates about what “AI” will be allowed to do should be a political one, not one lead by what’s efficient or what’s convenient or if “AI” is a magical science-fiction creature that will soon be smarter than all of us. By allowing the value judgement “intelligent” for statistical systems we are opening up the doors to talk about Skynet and the Singularity and whatever other weird idea of computers people have and we are hiding the political debates necessary. It’s not about whether soon (“Moore’s Law!!!1111eleven”) a “super-AI” will control our lives. It’s about whether we will allow rather stupid, specialized systems of automation run our societies and lives with little oversight. Because there will be oversight (Paradox of Automation: Automation reduces the amount of times a human has to intervene in a system but each intervention will be a lot more critical and risky) but it will be like with killer-drones where the person pushing the button will be trained to push the fucking button to keep things going: The computer surely knew why it wanted that person killed.

And that is why it matters that “intelligence” is a value judgement.

If you liked this text and want to help me out you can buy me a drink on paypal or Ko-Fi. It’s very much appreciated.

avatar

Earphones Sennheiser M2 IEG free 3d model

The Sennheiser M2 IEG Momentum in-ear earphones are your typical black earphones. This is a free 3D Radiance model of the earphones which contains the buds, coupler, and volume rocker. You can model the wires based off the profile yourself. The model includes OBJ files, Blender files, Radiance material files and textures. - for the full article please visit the website.

Posts for Saturday, March 9, 2019

avatar

Mousepad generic free 3d model

This is a free 3D Radiance model of a generic grey mousepad I had lying on my desk. It isn't particularly special in any way, but sometimes you need some entourage. The model includes OBJ files, Blender files, Radiance material files and textures. - for the full article please visit the website.

Posts for Thursday, March 7, 2019

avatar

Mouse Microsoft Intellimouse Optical USB free 3d model

The Microsoft Intellimouse Optical USB mouse is a fairly generic old popular computer mouse. It has a rubber scroll wheel, side buttons, a Microsoft branding decal, and a red LED luminaire on its plastic body. The model includes OBJ files, Blender files, Radiance material files and textures. - for the full article please visit the website.

Posts for Wednesday, March 6, 2019

avatar

A comparison between Radiance and other rendering engines

This posts compares Radiance with modern rendering engines, such as Renderman and Autodesk Insight. Radiance is seen as the gold standard for light simulation, but more modern engines are becoming more physically based and claim photorealistic results at a fraction of the time. Why should we use one over the other? - for the full article please visit the website.

Posts for Tuesday, March 5, 2019

The “global” Internet

As some of you might know – or have derived from the location attached to my tweets – I am in Australia right now. Luckily my only job is to travel, enjoy the sun and potentially eat so the brain has some time to drift and think.

Coming from Germany Australia is a confusing place: Somewhere between familiar and unknown with most of the articles in supermarkets for example being almost too well-known to make it feel like you traveled to the other side of the globe and on the other hand a significantly different flora and fauna as well as many differences in culture (even though many feel very US-american to me). Australia can be a breathtakingly beautiful place though. The reefs, the beaches, the rainforests … Australia is a place that’s very worth visiting.

I don’t just live in Berlin, Germany, but also on the Internet. That’s not just a cutesy way of saying that I have a Twitter account – though I do! It is mostly an identity marker that connects me to people regardless of their passport or location, it embeds me in a global community of people who do believe in the Internet as integral part of our lives in 2019. But is it global though?

With the shift to social networks the idea of synchronicity was given new live. The old Internet of blogs and websites and email used to put a lot of value into asynchronicity: People read blogs through feed readers, applications that would show them all the posts on the websites they cared about they “missed” since their last check. Websites updated a lot slower (because the Internet was just a lot smaller. This is not an old dude wanting the old Internet of old dudes back. Even though I still use a feed reader ;)). The fact that people could check on texts and people in their own time was one of the great advancements that the Internet had given us.

No longer would we be forced to “consume content” on the “content provider’s” schedule (if I have to write “content” one more time I might have to shoot myself): We – the Internet users – were our own directors, got control over our own schedules. Made our personal decisions and judgements. The Internet gave a feeling of agency and control. Or maybe it didn’t and this was just the narrative we kept telling ourselves. I can remember more than one situation where I got an email and a call 10 minutes later asking where the bloody reply was.

That’s not today. And it’s also not just Twitter which frames itself as the real-time pulse of the world (even though they try to change that by implementing bad algorithms to change their tweet order to look like a worse Facebook with fewer features and more open Nazis): Even the websites of traditional newspapers or similar publications have these annoying, hate-inspiring illustrations of everything evil in this world with their “the Website has changed, do you want to go to the home page” and “We’d like to send you notifications when we dick around in our CMS” popups. But I digress.

Being in Australia this push towards synchronicity becomes directly perceivable. My timelines don’t feel right. I usually am in the German timezone which still kinda works to align at least with the US East coast crowd somewhat. And when I am in the US my timelines just shift somewhat to give me synchronicity with another part of my timeline. But the 10 hours that Sydney has on Berlin shifts Europe/Germany almost out of the focus and the US are completely out.

Even with me having replaced my SIM card with an Australian one to stay connected to an important part of my life I feel deeply disconnected, out of the loop. And it’s not the sometimes slightly spotty Internet connectivity in Australia, it’s the people I’m used to talk to I miss.

This makes me question how “international” the Internet truly is. This isn’t a new thought: Certain parts of the Network are walled off/censored (for example China), certain parts are opaque to me due to the language barrier (I speak German and some English, the rest of the Internet I don’t see). But none of these things apply for Australia: I speak the language, there are no filters. It’s just the time difference. Just.

As I said, this isn’t much news. It’s just a good reminder that we might not even see many of the lines and limitations that carve up the Internet into segments that don’t always have much overlap: Even looking at the German Internet it’s really it’s own little thing (though a lot of it is translations of stuff from US pages 2 days later ;)). “The Internet” is not a global thing.

That’s no necessary a problem, why should everything be walking to the same drum? The declaration of the independence of cyberspace might have implied this wrong understanding of the world but that document has really really not aged well in many ways. The distinctness of different Internet subcultures and localized communities is – or can be – a strength especially looking at the way services such as AirBnB, Spotify or YouTube colonize our digital spaces turning everything into it’s McDonald’sified mirror universe mirage.

We’ve known for a long time that monocultures in agriculture are less resilient than biodiverse setups which can withstand pests and diseases a lot better. That biodiverse environments are also more sustainable because different plants use the soil in complementary ways.

But just as with agricultural production the industrial or commercial push shaping the Internet goes towards standardization, automation, centralization or at least a focus on fewer, bigger entities. So you can listen to the same 20 or 30 thousand songs on Spotify all over the planet (licensing agreements not fucking it up). The soundtrack of Syndey is the soundtrack of Berlin is the soundtrack of Johannisburg. And what do places mean anyways when basically every AirBnB on the planet tries to mimic the same un-style of non-locatability. It doesn’t matter where your AirBnB is, the Sonos speaker will play the same songs anyways. Hopefully the weather sucks less than the last place you were?

This trip to Australia has strengthened – or maybe resurrected – my understanding that there is a lot of value in fragmentation. But that there still is a lot to be done to ensure that this fragmentation doesn’t lead to isolation or maybe a re-nationalization. How do we bridge the canyons between communities without forcing everyone to adapt the same practices, values and approaches? And what does “bridging” even mean in this context?

I apologize, this post was a little train-of-consciousness-ish. I just had to force myself to write something to not stark clawing at the walls. Having time off always gets me into weird modes of thinking and existence. The next thing should hopefully have a little more substance. Or some cute pictures. Here’s a kangaroo btw.:

<figure class="wp-block-image"><figcaption>A very friendly kangaroo.</figcaption></figure>

avatar

Improving an old application - MVC Bundler

I'm maintaining an MVC application that was built in 2015. It works, but it doesn't work great, so today I'm looking at assets.

Thankfully at least it uses MVC Bundler for bundling and minification. This is a good tool for an app of this era.

These are the bundled scripts (only JS) according to Chrome:




As you can see there are a few bundles, as well as some manually loaded JavaScript files. Interesting. The benefit of bundling is that you don't use as many browser connections to the server to load your assets, thereby allowing the page to load more at the same time - and potentially do it faster.

Let's have a look at the source code (_Layout.cshtml):

@Styles.Render("~/Content/bootstrap")
@Styles.Render("~/Content/site")
@Scripts.Render("~/bundles/respond")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/bootstrap")

<script src="~/Scripts/ckeditor/ckeditor.js"></script>
<!-- kept having problem with those files in a bundle: some file were not loaded and order is important -->
@if (HttpContext.Current.IsDebuggingEnabled)
{
<script src="~/Scripts/knockout-3.1.0.debug.js"></script>
}
else
{
<script src="~/Scripts/knockout-3.1.0.js"></script>
}
<script src="~/Scripts/knockout-bootstrap.min.js"></script>
<script src="~/Scripts/knockout.mapping-latest.js"></script>
<script src="~/Scripts/knockout.validation.js"></script>
This is odd - note the comment about bundler problems, there's some manual minification-file selection, and a lot of bundles here - respond, modernizr, jquery, jqueryval, bootstrap and ckeditor could all be combined.

So I thought I'd at least bundle all the knockout assets The layout file now looks like this:
@Styles.Render("~/Content/bootstrap")
@Styles.Render("~/Content/site")
@Scripts.Render("~/bundles/respond")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/bootstrap")

@Scripts.Render("~/bundles/ckEditor")
@Scripts.Render("~/bundles/knockout")

And the bundle config for the knockout bundle. Note I've used {version} so that MVC Bundler can pick the correct version and .min file when debugging:
bundles.Add(new ScriptBundle("~/bundles/knockout").Include(
"~/Scripts/knockout-{version}.js",
"~/Scripts/knockout-bootstrap.js",
"~/Scripts/knockout.mapping-latest.js",
"~/Scripts/knockout.validation.js"
));

Now to reload the page, and... Oops, a JavaScript error "Uncaught ReferenceError: guid is not defined". This had me stumped for a while - I had a look at bundle ordering as per the original comment (see this SO post for some good tips) - but that didn't help. So I turned to the generated HTML to see what it looked like (this is just the last two bundles):
<script src="/Scripts/ckeditor/ckeditor.js"></script>
<script src="/Scripts/knockout-3.1.0.debug.js"></script>
<script src="/Scripts/knockout.mapping-latest.debug.js"></script>
<script src="/Scripts/knockout.validation.js"></script>

You can see the ckeditor bundle, then three files from the knockout bundle. Why aren't there four?

Let's have a look at the Scripts directory:

All assets are there in some form, but notice that knockout-bootstrap only has a min.js file. Bundler tries to pick the correct JavaScript based on the DEBUG environment setting and potentially the directive
BundleTable.EnableOptimizations = true

Perhaps the lack of a non-minified knockout-bootstrap file is causing problems? I downloaded the old version of knockout-bootstrap unminified and placed it in the Scripts folder. Now the generated HTML looks like this:
<script src="/Scripts/ckeditor/ckeditor.js"></script>
<script src="/Scripts/knockout-3.1.0.debug.js"></script>
<script src="/Scripts/knockout-bootstrap.js"></script>
<script src="/Scripts/knockout.mapping-latest.debug.js"></script>
<script src="/Scripts/knockout.validation.js"></script>

Success! The page loads. However, let's look at some of those other bundles. We could trim about 10 bundles into one, as they're always loaded from the MVC layout page. We can merge all the scripts and styles into two:
@Styles.Render("~/Content/site")
@Scripts.Render("~/bundles/scripts")

And the resulting number of loaded JS assets drops substantially:

The page load time is now a lot snappier, from 600+ms to just 70ms for the JS assets. (Rounding as I haven't don't thousands of samples to get an average!)

Finally, let's look at knockout and knockout.mapping to make sure that MVC Bundler knows how to handle .debug files. Normally bundler expects my.js (unminified) and my.min.js (minified), but in this case we have my.debug.js (unminified) and my.js (minified).

Rather than look for the code inside the big bundle, I put an alert('knockout minified'); statement in knockout.js and tested it in bundled/release mode. It works! Bundler is smart enough to pickup .min files in release mode or .debug files in debug mode.

This exercise taught me two things:
  1. Don't assume that the work has already been done. This application is live and has been used for about 4 years.
  2. Don't trust comments! I like well commented code when required, but in this case the comment was pointing me to the wrong reason.
Next I may look at reducing the minified 1.3MB down to something more respectable, but this will do for now!
avatar

Pass and receive data in Aurelia routes

Aurelia allows for a pretty flexible routing configuration. Your main router can call views which themselves contain sub-routers.

But how do you pass data into those sub-routes? What if your main router gets some data from the server that you don't want to re-get for every sub route?

Let's define a couple of routes, details and payments:




configureRouter(config: RouterConfiguration, router: Router) {
this.router = router;

config.map([
{ route: ['', 'details'], name: 'Details', moduleId: PLATFORM.moduleName('./view/details'), nav: true, title: "Details", settings: this.data },
{ route: 'payments', name: 'Payments', moduleId: PLATFORM.moduleName('./view/payments'), nav: true, title: "Payments", settings: this.data },
]);



See the settings object at the end of the route? Fairly straight-forward. To access the data in your details route:

activate(params, routeConfig: RouteConfig, navigationInstruction) {
this.data = routeConfig.settings;
}

Note that the settings object is part of the RouteConfig passed into the activate method, so lets save that to our local this.data property.

There is one gotcha:

You should assign this.data early on in your router, e.g. in the constructor before configureRouter is called. If you use an activate method to get the data don't do this:

activate() {
  this.httpService.getData().then((data) => {
    this.data = data;
  });
}

Because this.data is undefined when you pass the data to the details route and redefined later, the sub-route will have a reference to the original undefined value.

Instead, do this:

export class View {
  private data: { obj?: SomeType } = {}; // note how this is defined right now, with no contents

  activate() {
    this.httpService.getData().then((data) => {
      this.data.obj = data; // we're not redefining this.data
    });
  }

  // configureRouter() as above
}


avatar

Monitor LG 24M38H free 3d model

The LG 24M38H computer monitor is a fairly generic black computer monitor. It has a 1920x1080 screen resolution with a typical brightness of 200 cd/m^2. It has a brushed black texture on its plastic frame, and some decals for menu icons on the screen. The model includes OBJ files, Blender files, Radiance material files and textures. - for the full article please visit the website.

Posts for Monday, March 4, 2019

avatar

Keyboard Filco Majestouch 2 Tenkeyless free 3d model

This is a free Radiance 3D model of the Filco Majestouch 2 Tenkeyless keyboard. Being a tenkeyless keyboard, it lacks a numpad. It is a fairly generic design but sports key decals affixed to the front face of each key, as opposed to on the top. It is a mechanical keyboard and has blue LEDs. The model includes OBJ files, Blender files, Radiance material files and textures. - for the full article please visit the website.

Posts for Monday, February 25, 2019

avatar

How to composite Enscape animations with Blender

Enscape provides real-time rendering with integration with BIM tools such as Revit, ArchiCAD, and Sketchup. However, it has a limited set of animation tools. Blender can be used to import Enscape camera animation keyframes and composite new animations on top of the Enscape flythrough. - for the full article please visit the website.

Posts for Monday, February 18, 2019

avatar

Book "Rendering with Radiance" free 3D model

Download a free 3D model for use in a Radiance scene or project for the book "Rendering with Radiance", by Greg Ward and Rob Shakespeare. The model includes OBJ files, Blender files, Radiance material files and textures. - for the full article please visit the website.

Posts for Sunday, February 17, 2019

avatar

A proposed Radiance Filesystem Hierarchy Standard

The proposed Radiance Filesystem Hierarchy Standard (RFHS) is a proposed standard on how to organise files for 3D models, HDR textures, Radiance materials, IES lights, and so on in a Radiance project. This allows Radiance assets to be easily distributed and reused across different proejcts. - for the full article please visit the website.

Posts for Tuesday, February 12, 2019

avatar

Using IfcOpenShell to parse IFC files with Python

IFC is the ISO standard format for storing BIM data. IfcOpenShell allows you to use Python to query and parse IFC files to extract and analyse data. As there is no API documentation as of writing, these code examples give an introduction demo to how to read IFC files. - for the full article please visit the website.

Posts for Monday, February 11, 2019

Mercurial Mirror For Django 2.1 Branch

I’m slightly late on this one, but here it is. For the record, main purposes of this mirror are: being a lightweight read-only repository to clone from for production servers hide the ugly git stuff behind a great mercurial interface The clone is at the usual location at bitbucket, from which you can browse, clone, […]

Posts for Thursday, January 31, 2019

avatar

Free major and minor arpeggios for piano sheet music

Download free piano sheet music for major and minor arpeggios for all keys. Includes fingering annotation and typeset in LaTeX, exported in PDF format. - for the full article please visit the website.

Posts for Monday, January 28, 2019

The retarded windows 10 auto-download software (Updated: 2017-09-06)

Now the new "feature" of windows 10 is automatic download to your computer. There's a shitload of CRAP that microsoft decided to push into your windows without your consent. And guess what? If you uninstall, they'll install again and again!
All the extra uninstalable crap in windows 10 isn't enough, microsoft? WTF?

Well then, just stop with this nonsense, open regedit and go to this key: (Do this one and continue reading):


HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CloudContent


Create a new 32-bit DWORD value named DisableWindowsConsumerFeatures and set its value data to 1


Or use this with an administrative prompt:


reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CloudContent" /v DisableWindowsConsumerFeatures /d 1 /t REG_DWORD /f


Source: WinAreo


Update: Microsoft just updated the way the send you spam apps. Wonderful! Now the last register alone can't stop the spam. Here the other ones you need to change:


reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager” /v “ContentDeliveryAllowed” /t REG_DWORD /d “0” /f

reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager” /v “OemPreInstalledAppsEnabled” /t REG_DWORD /d “0” /f
reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager” /v “PreInstalledAppsEnabled” /t REG_DWORD /d “0” /f
reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager” /v “PreInstalledAppsEverEnabled” /t REG_DWORD /d “0” /f
reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager” /v “SilentInstalledAppsEnabled” /t REG_DWORD /d “0” /f
reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager” /v “SubscribedContentEnabled” /t REG_DWORD /d “0” /f
reg delete “HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\SuggestedApps” /f

If doing this still doesn't work, try this. Some new updates will call just "Microsoft Content" is the same "Spotlight" in the link.

Posts for Saturday, January 19, 2019

avatar

Embed Peertube videos on your website

Peertube videos can be embedded directly on your website using an iframe with no Javascript required. This short example demonstrates how. Peertube is a distributed peer-to-peer network of video sharing websites. - for the full article please visit the website.

Planet Larry is not officially affiliated with Gentoo Linux. Original artwork and logos copyright Gentoo Foundation.